diff options
815 files changed, 25672 insertions, 7011 deletions
diff --git a/Android.bp b/Android.bp index 7285ec3a9..9b1857741 100644 --- a/Android.bp +++ b/Android.bp @@ -23,7 +23,7 @@ apex { defaults: ["com.android.permission-defaults"], manifest: "apex_manifest.json", compat_configs: [ - "framework-permission-s-compat-config" + "framework-permission-s-compat-config", ], visibility: ["//packages/modules/common/build"], } @@ -109,6 +109,7 @@ bootclasspath_fragment { // result in a build failure due to inconsistent flags. package_prefixes: [ "android.app.role", + "android.app.ecm", "android.permission.jarjar", "android.safetycenter", "android.safetylabel", diff --git a/PermissionController/Android.bp b/PermissionController/Android.bp index 442495df2..9710a06d8 100644 --- a/PermissionController/Android.bp +++ b/PermissionController/Android.bp @@ -53,9 +53,6 @@ java_library { srcs: [ ":statslog-permissioncontroller-java-gen", ], - lint: { - baseline_filename: "lint-baseline.xml", - }, } java_library { @@ -150,18 +147,20 @@ android_library { "lottie", "safety-label", "role-controller", - "permissions-flags-lib", + "permissions-aconfig-flags-lib", "android.permission.flags-aconfig-java", "androidx.compose.foundation_foundation", "androidx.compose.runtime_runtime", "androidx.compose.runtime_runtime-livedata", "androidx.compose.ui_ui", "androidx.wear.compose_compose-material", + "android.content.pm.flags-aconfig-java-export", + "android.os.flags-aconfig-java-export", ], lint: { - strict_updatability_linting: true, error_checks: ["Recycle"], + baseline_filename: "lint-baseline.xml", }, apex_available: [ @@ -190,9 +189,7 @@ android_app { static_libs: ["PermissionController-lib"], lint: { - strict_updatability_linting: true, error_checks: ["Recycle"], - baseline_filename: "lint-baseline.xml", }, optimize: { diff --git a/PermissionController/AndroidManifest.xml b/PermissionController/AndroidManifest.xml index 0d663bc05..f1e84500e 100644 --- a/PermissionController/AndroidManifest.xml +++ b/PermissionController/AndroidManifest.xml @@ -53,7 +53,6 @@ <uses-permission android:name="android.permission.START_VIEW_PERMISSION_USAGE" /> <uses-permission android:name="android.permission.MANAGE_APP_HIBERNATION" /> <uses-permission android:name="android.permission.MANAGE_SENSOR_PRIVACY" /> - <uses-permission android:name="android.permission.OBSERVE_SENSOR_PRIVACY" /> <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.MANAGE_SAFETY_CENTER" /> @@ -66,6 +65,9 @@ <uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS" /> <uses-permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES" /> <uses-permission android:name="android.permission.GET_APP_METADATA" /> + <uses-permission android:name="android.permission.NFC_PREFERRED_PAYMENT_INFO" /> + <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" /> + <uses-permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" /> <application android:name="com.android.permissioncontroller.PermissionControllerApplication" android:label="@string/app_name" @@ -281,6 +283,26 @@ </intent-filter> </activity> + <activity android:name="com.android.permissioncontroller.permission.ui.PermissionDialogStreamingBlockedActivity" + android:theme="@style/PermissionDialog.FilterTouches" + android:excludeFromRecents="true" + android:exported="false" + android:enabled="@bool/is_at_least_v"> + </activity> + + <activity android:name="com.android.permissioncontroller.ecm.EnhancedConfirmationDialogActivity" + android:theme="@style/Theme.EnhancedConfirmationDialog.FilterTouches" + android:excludeFromRecents="true" + android:exported="true" + android:launchMode="singleTop" + android:permission="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" + android:enabled="@bool/is_at_least_v"> + <intent-filter android:priority="1"> + <action android:name="android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name="com.android.permissioncontroller.permission.ui.v34.PermissionRationaleActivity" android:configChanges="keyboardHidden|screenSize" android:windowSoftInputMode="stateAlwaysHidden|adjustNothing" @@ -472,6 +494,18 @@ </intent-filter> </activity> + <activity android:name="com.android.permissioncontroller.role.ui.v35.ChangeDefaultCardEmulationActivity" + android:enabled="@bool/is_at_least_v" + android:excludeFromRecents="true" + android:noHistory="true" + android:exported="true" + android:theme="@android:style/Theme.NoDisplay"> + <intent-filter android:priority="1001"> + <action android:name="android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <provider android:name="com.android.permissioncontroller.permission.service.PermissionSearchIndexablesProvider" android:authorities="com.android.permissioncontroller" android:multiprocess="false" @@ -593,6 +627,7 @@ android:name="com.android.permissioncontroller.safetycenter.ui.SafetyCenterActivity" android:enabled="@bool/is_at_least_t" android:exported="true" + android:enableOnBackInvokedCallback="true" android:theme="@style/Theme.SafetyCenter"> <intent-filter android:priority="1"> <action android:name="android.intent.action.SAFETY_CENTER"/> diff --git a/PermissionController/TEST_MAPPING b/PermissionController/TEST_MAPPING index a7f2aec54..a34a16034 100644 --- a/PermissionController/TEST_MAPPING +++ b/PermissionController/TEST_MAPPING @@ -49,6 +49,18 @@ "file_patterns": ["res/xml/roles\\.xml"] }, { + "name": "PermissionControllerMockingTests[com.google.android.permission.apex]", + "options": [ + { + "include-filter": "com.android.permissioncontroller.tests.mocking.role.model.RoleParserTest" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ], + "file_patterns": ["res/xml/roles\\.xml"] + }, + { "name": "PermissionUiTestCases[com.google.android.permission.apex]", "options": [ { @@ -81,6 +93,68 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsRoleTestCases", + "options": [ + // TODO(b/238677748): These two tests currently fails on R base image + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#openDefaultAppListThenIsNotDefaultAppInList" + }, + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#removeSmsRoleHolderThenPermissionIsRevoked" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ], + "file_patterns": ["res/xml/roles\\.xml"] + }, + { + "name": "PermissionControllerMockingTests", + "options": [ + { + "include-filter": "com.android.permissioncontroller.tests.mocking.role.model.RoleParserTest" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ], + "file_patterns": ["res/xml/roles\\.xml"] + }, + { + "name": "PermissionUiTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + }, + // TODO(b/238773220): These tests currently fails on R base image + { + "exclude-filter": "com.android.permissioncontroller.permissionui.ui.handheld.ManageCustomPermissionsFragmentTest#groupSummaryGetsUpdatedWhenPermissionGetsGranted" + }, + { + "exclude-filter": "com.android.permissioncontroller.permissionui.ui.handheld.ManageCustomPermissionsFragmentTest#groupSummaryGetsUpdatedWhenPermissionGetsRevoked" + }, + { + "exclude-filter": "com.android.permissioncontroller.permissionui.ui.handheld.ManageStandardPermissionsFragmentTest#additionalPermissionSummaryGetUpdateWhenAppGetsInstalled" + }, + { + "exclude-filter": "com.android.permissioncontroller.permissionui.ui.handheld.ManageStandardPermissionsFragmentTest#additionalPermissionSummaryGetUpdateWhenDefinerGetsUninstalled" + }, + { + "exclude-filter": "com.android.permissioncontroller.permissionui.ui.handheld.ManageStandardPermissionsFragmentTest#additionalPermissionSummaryGetUpdateWhenUserGetsUninstalled" + } + ] + }, + { + "name": "CtsPermissionUiTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsRoleTestCases", @@ -108,6 +182,15 @@ "file_patterns": ["res/xml/roles\\.xml"] }, { + "name": "PermissionControllerMockingTests[com.google.android.permission.apex]", + "options": [ + { + "include-filter": "com.android.permissioncontroller.tests.mocking.role.model.RoleParserTest" + } + ], + "file_patterns": ["res/xml/roles\\.xml"] + }, + { "name": "PermissionUiTestCases[com.google.android.permission.apex]", "options": [ // TODO(b/238773220): These tests currently fails on R base image diff --git a/PermissionController/jarjar-rules.txt b/PermissionController/jarjar-rules.txt index f4d8a0be2..4df97f4c0 100644 --- a/PermissionController/jarjar-rules.txt +++ b/PermissionController/jarjar-rules.txt @@ -1 +1,2 @@ -rule android.permission.flags.** com.android.permissioncontroller.jarjar.@0 +rule android.permission.flags.*Flags* com.android.permissioncontroller.jarjar.@0 +rule android.permission.flags.Flags com.android.permissioncontroller.jarjar.@0 diff --git a/PermissionController/lint-baseline.xml b/PermissionController/lint-baseline.xml index 546ed596d..be77a0d18 100644 --- a/PermissionController/lint-baseline.xml +++ b/PermissionController/lint-baseline.xml @@ -1,92 +1,213 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev"> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.apphibernation.AppHibernationManager#isHibernatingForUser`" - errorLine1=" if (hibernationManager.isHibernatingForUser(pkg.packageName)) {" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + message="Class requires API level 34 (current min is 31): `android.app.AppOpsManager.OnOpNotedListener`" + errorLine1=" AppOpsManager.OnOpNotedListener," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/HibernatedPackagesLiveData.kt" - line="56" - column="44"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightHistoricalPackageOpsLiveData.kt" + line="46" + column="5"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.content.pm.Attribution#getLabel`" - errorLine1=" attributions?.forEach { attributionTagToLabel[it.tag] = it.label }" - errorLine2=" ~~~~~"> + message="Call requires API level 33 (current min is 30): `getIconId`" + errorLine1=" .setIcon(args.getIconId())" + errorLine2=" ~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt" - line="125" - column="72"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="504" + column="31"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.content.pm.Attribution#getTag`" - errorLine1=" attributions?.forEach { attributionTagToLabel[it.tag] = it.label }" - errorLine2=" ~~~"> + message="Call requires API level 33 (current min is 30): `getMessageId`" + errorLine1=" .setMessage(args.getMessageId())" + errorLine2=" ~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt" - line="125" - column="62"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="505" + column="34"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#canAdminGrantSensorsPermissions`" - errorLine1=" params.getGrantState(), params.canAdminGrantSensorsPermissions())));" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getNegativeButtonTextId`" + errorLine1=" .setNegativeButton(args.getNegativeButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" - line="517" - column="48"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="509" + column="41"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getGrantState`" - errorLine1=" params.getGrantState(), params.canAdminGrantSensorsPermissions())));" - errorLine2=" ~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getPositiveButtonTextId`" + errorLine1=" .setPositiveButton(args.getPositiveButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" - line="517" - column="24"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="513" + column="41"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getGranteePackageName`" - errorLine1=" callerPackageName, params.getGranteePackageName(), params.getPermission()," - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getSetOneTime`" + errorLine1=" mViewModel.requestChange(args.getSetOneTime()," + errorLine2=" ~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" - line="516" - column="43"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="515" + column="59"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getPermission`" - errorLine1=" callerPackageName, params.getGranteePackageName(), params.getPermission()," - errorLine2=" ~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getChangeRequest`" + errorLine1=" args.getChangeRequest()," + errorLine2=" ~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" - line="516" - column="75"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="518" + column="42"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.hardware.SensorPrivacyManager#addSensorPrivacyListener`" - errorLine1=" mSensorPrivacyManager.addSensorPrivacyListener(mPrivacyChangedListener);" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getButtonClicked`" + errorLine1=" args.getButtonClicked());" + errorLine2=" ~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionsFragment.java" - line="159" - column="35"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="519" + column="42"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" if (args.getTitleId() != 0) {" + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="521" + column="18"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" b.setTitle(args.getTitleId());" + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionFragment.java" + line="522" + column="29"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getIconId`" + errorLine1=" .setIcon(args.getIconId())" + errorLine2=" ~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="709" + column="31"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getMessageId`" + errorLine1=" .setMessage(args.getMessageId())" + errorLine2=" ~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="710" + column="34"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getNegativeButtonTextId`" + errorLine1=" .setNegativeButton(args.getNegativeButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="714" + column="41"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getPositiveButtonTextId`" + errorLine1=" .setPositiveButton(args.getPositiveButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="718" + column="41"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getSetOneTime`" + errorLine1=" mViewModel.requestChange(args.getSetOneTime()," + errorLine2=" ~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="720" + column="59"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getButtonClicked`" + errorLine1=" args.getChangeRequest(), args.getButtonClicked());" + errorLine2=" ~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="722" + column="67"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getChangeRequest`" + errorLine1=" args.getChangeRequest(), args.getButtonClicked());" + errorLine2=" ~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="722" + column="42"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" if (args.getTitleId() != 0) {" + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="724" + column="18"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" b.setTitle(args.getTitleId());" + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java" + line="725" + column="29"/> </issue> <issue @@ -95,8 +216,8 @@ errorLine1=" mSensorPrivacyManager.addSensorPrivacyListener(mPrivacyChangedListener);" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/PermissionAppsFragment.java" - line="114" + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/AppPermissionsFragment.java" + line="159" column="35"/> </issue> @@ -113,101 +234,134 @@ <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.hardware.SensorPrivacyManager#removeSensorPrivacyListener`" - errorLine1=" mSensorPrivacyManager.removeSensorPrivacyListener(mPrivacyChangedListener);" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getIconId`" + errorLine1=" .setIcon(args.getIconId())" + errorLine2=" ~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/PermissionAppsFragment.java" - line="365" - column="35"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="463" + column="31"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterData#getIssues`" - errorLine1=" issues" - errorLine2=" ~~~~~~"> + message="Call requires API level 33 (current min is 30): `getMessageId`" + errorLine1=" .setMessage(args.getMessageId())" + errorLine2=" ~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="309" - column="5"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="464" + column="34"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterData#getIssues`" - errorLine1="private fun SafetyCenterData.buildIssueIdSet(): Set<IssueId> = issues.map { it.id }.toSet()" - errorLine2=" ~~~~~~"> + message="Call requires API level 33 (current min is 30): `getNegativeButtonTextId`" + errorLine1=" .setNegativeButton(args.getNegativeButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="323" - column="64"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="468" + column="41"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterData#getStatus`" - errorLine1=" status.refreshStatus == SafetyCenterStatus.REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS" - errorLine2=" ~~~~~~"> + message="Call requires API level 33 (current min is 30): `getPositiveButtonTextId`" + errorLine1=" .setPositiveButton(args.getPositiveButtonTextId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="321" - column="5"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="472" + column="41"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getActions`" - errorLine1=" issue.actions" - errorLine2=" ~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getSetOneTime`" + errorLine1=" mViewModel.requestChange(args.getSetOneTime()," + errorLine2=" ~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="311" - column="19"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="474" + column="59"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getId`" - errorLine1=" .map { issue.id to it.id }" - errorLine2=" ~~"> + message="Call requires API level 33 (current min is 30): `getButtonClicked`" + errorLine1=" args.getChangeRequest(), args.getButtonClicked());" + errorLine2=" ~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="315" - column="30"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="476" + column="67"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getId`" - errorLine1="private fun SafetyCenterData.buildIssueIdSet(): Set<IssueId> = issues.map { it.id }.toSet()" - errorLine2=" ~~"> + message="Call requires API level 33 (current min is 30): `getChangeRequest`" + errorLine1=" args.getChangeRequest(), args.getButtonClicked());" + errorLine2=" ~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="323" - column="80"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="476" + column="42"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#getId`" - errorLine1=" .map { issue.id to it.id }" - errorLine2=" ~~"> + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" if (args.getTitleId() != 0) {" + errorLine2=" ~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="315" - column="39"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="478" + column="18"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#getSuccessMessage`" - errorLine1=" .filter { it.isInFlight && !it.successMessage.isNullOrEmpty() }" - errorLine2=" ~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `getTitleId`" + errorLine1=" b.setTitle(args.getTitleId());" + errorLine2=" ~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="314" - column="48"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java" + line="479" + column="29"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 30): `android.health.connect.HealthConnectManager#isHealthPermission`" + errorLine1=" .filter { permission -> isHealthPermission(activity, permission) }" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt" + line="1059" + column="45"/> + </issue> + + <issue + id="NewApi" + message="Class requires API level 31 (current min is 30): `android.apphibernation.AppHibernationManager`" + errorLine1=" userContext.getSystemService(APP_HIBERNATION_SERVICE) as AppHibernationManager" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/HibernatedPackagesLiveData.kt" + line="48" + column="74"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 31 (current min is 30): `android.apphibernation.AppHibernationManager#isHibernatingForUser`" + errorLine1=" if (hibernationManager.isHibernatingForUser(pkg.packageName)) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/HibernatedPackagesLiveData.kt" + line="51" + column="44"/> </issue> <issue @@ -223,156 +377,167 @@ <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#isInFlight`" - errorLine1=" .filter { it.isInFlight && !it.successMessage.isNullOrEmpty() }" - errorLine2=" ~~~~~~~~~~"> + message="Call requires API level 31 (current min is 30): `android.os.UserManager#isCloneProfile`" + errorLine1=" if (userManager.isCloneProfile) {" + errorLine2=" ~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="314" - column="30"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt" + line="653" + column="29"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#isSafetyCenterEnabled`" - errorLine1=" if (!safetyCenterManager.isSafetyCenterEnabled()) {" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.app.Activity#startActivityForResultAsUser`" + errorLine1=" activity.startActivityForResultAsUser(pickerIntent, requestCode, user)" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" - line="96" - column="34"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt" + line="662" + column="18"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#isSafetyCenterEnabled`" - errorLine1=" if (!safetyCenterManager.isSafetyCenterEnabled()) {" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 34 (current min is 30): `android.health.connect.HealthConnectManager#getHealthPermissions`" + errorLine1=" val permissions = HealthConnectManager.getHealthPermissions(context)" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" - line="149" - column="34"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt" + line="1689" + column="48"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#isSafetyCenterEnabled`" - errorLine1=" if (!scManager.isSafetyCenterEnabled) {" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 31 (current min is 30): `android.content.pm.Attribution#getLabel`" + errorLine1=" attributions?.forEach { attributionTagToLabel[it.tag] = it.label }" + errorLine2=" ~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt" - line="48" - column="24"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt" + line="140" + column="72"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#refreshSafetySources`" - errorLine1=" safetyCenterManager.refreshSafetySources(getRefreshReason());" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 31 (current min is 30): `android.content.pm.Attribution#getTag`" + errorLine1=" attributions?.forEach { attributionTagToLabel[it.tag] = it.label }" + errorLine2=" ~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" - line="155" - column="29"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt" + line="140" + column="62"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterStatus#getRefreshStatus`" - errorLine1=" status.refreshStatus == SafetyCenterStatus.REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS" - errorLine2=" ~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getActions`" + errorLine1=" issue.actions" + errorLine2=" ~~~~~~~"> <location file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" - line="321" - column="12"/> + line="288" + column="19"/> </issue> <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `recordPermissionDecision`" - errorLine1=" PermissionDecisionStorageImpl.recordPermissionDecision(app.applicationContext," - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#getSuccessMessage`" + errorLine1=" .filter { it.isInFlight && !it.successMessage.isNullOrEmpty() }" + errorLine2=" ~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt" - line="1147" - column="39"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="291" + column="48"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 30): `android.content.pm.PackageManager#getAppMetadata`" - errorLine1=" app.packageManager.getAppMetadata(packageName)" - errorLine2=" ~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#isInFlight`" + errorLine1=" .filter { it.isInFlight && !it.successMessage.isNullOrEmpty() }" + errorLine2=" ~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/SafetyLabelInfoLiveData.kt" - line="116" - column="32"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="291" + column="30"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 30): `android.health.connect.HealthConnectManager#getHealthPermissions`" - errorLine1=" val permissions = HealthConnectManager.getHealthPermissions(context)" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getId`" + errorLine1=" .map { issue.id to it.id }" + errorLine2=" ~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt" - line="1465" - column="48"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="292" + column="30"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 30): `android.health.connect.HealthConnectManager#isHealthPermission`" - errorLine1=" isHealthPermission(activity, permission)" - errorLine2=" ~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue.Action#getId`" + errorLine1=" .map { issue.id to it.id }" + errorLine2=" ~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt" - line="1268" - column="17"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="292" + column="39"/> </issue> <issue id="NewApi" - message="Class requires API level 31 (current min is 30): `android.apphibernation.AppHibernationManager`" - errorLine1=" userContext.getSystemService(APP_HIBERNATION_SERVICE) as AppHibernationManager" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterData#getStatus`" + errorLine1=" status.refreshStatus == SafetyCenterStatus.REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS" + errorLine2=" ~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/HibernatedPackagesLiveData.kt" - line="53" - column="74"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="298" + column="5"/> </issue> <issue id="NewApi" - message="Class requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager`" - errorLine1=" context.getSystemService(SafetyCenterManager.class);" - errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterStatus#getRefreshStatus`" + errorLine1=" status.refreshStatus == SafetyCenterStatus.REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS" + errorLine2=" ~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" - line="84" - column="42"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="298" + column="12"/> </issue> <issue id="NewApi" - message="Class requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager`" - errorLine1=" SafetyCenterManager safetyCenterManager = this.getSystemService(SafetyCenterManager.class);" - errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterIssue#getId`" + errorLine1=" allResolvableIssues.map { it.id }.toSet()" + errorLine2=" ~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" - line="144" - column="73"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="301" + column="34"/> </issue> <issue id="NewApi" - message="Class requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager`" - errorLine1=" val scManager = getSystemService(SafetyCenterManager::class.java)!!" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterData#getIssues`" + errorLine1=" issues.asSequence()" + errorLine2=" ~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt" - line="41" - column="42"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt" + line="308" + column="13"/> + </issue> + + <issue + id="NewApi" + message="Field requires API level 33 (current min is 30): `Companion`" + errorLine1=" MoreIssuesCardPreference.TAG," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/MoreIssuesCardAnimator.kt" + line="110" + column="21"/> </issue> <issue @@ -382,88 +547,140 @@ errorLine2=" ~~~"> <location file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/MoreIssuesCardAnimator.kt" - line="107" + line="110" column="46"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.app.AppOpsManager.HistoricalOp#getDiscreteAccessAt`"> + message="Call requires API level 33 (current min is 30): `android.hardware.SensorPrivacyManager#addSensorPrivacyListener`" + errorLine1=" mSensorPrivacyManager.addSensorPrivacyListener(mPrivacyChangedListener);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/v31/LightHistoricalPackageOps.kt" - line="153"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/PermissionAppsFragment.java" + line="114" + column="35"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.app.AppOpsManager.HistoricalOp#getDiscreteAccessAt`"> + message="Call requires API level 33 (current min is 30): `android.hardware.SensorPrivacyManager#removeSensorPrivacyListener`" + errorLine1=" mSensorPrivacyManager.removeSensorPrivacyListener(mPrivacyChangedListener);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/v31/LightHistoricalPackageOps.kt" - line="188"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/television/PermissionAppsFragment.java" + line="365" + column="35"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.app.AppOpsManager.HistoricalOp#getDiscreteAccessCount`"> + message="Call requires API level 31 (current min is 30): `SensorStatusLiveData`" + errorLine1=" lazy(LazyThreadSafetyMode.NONE) { SensorStatusLiveData() }" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/v31/LightHistoricalPackageOps.kt" - line="152"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt" + line="100" + column="43"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.app.AppOpsManager.HistoricalOp#getDiscreteAccessCount`"> + message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getGranteePackageName`" + errorLine1=" callerPackageName, params.getGranteePackageName(), params.getPermission()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/v31/LightHistoricalPackageOps.kt" - line="187"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" + line="521" + column="43"/> </issue> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.app.AppOpsManager.HistoricalOpsRequest.Builder#setHistoryFlags`"> + message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getPermission`" + errorLine1=" callerPackageName, params.getGranteePackageName(), params.getPermission()," + errorLine2=" ~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightHistoricalPackageOpsLiveData.kt" - line="104"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" + line="521" + column="75"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `getParentGroupId`"> + message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#canAdminGrantSensorsPermissions`" + errorLine1=" params.getGrantState(), params.canAdminGrantSensorsPermissions())));" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java" - line="91"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" + line="522" + column="48"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `openRelevantSubpage`"> + message="Call requires API level 31 (current min is 30): `android.permission.AdminPermissionControlParams#getGrantState`" + errorLine1=" params.getGrantState(), params.canAdminGrantSensorsPermissions())));" + errorLine2=" ~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java" - line="88"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java" + line="522" + column="24"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `openRelevantSubpage`"> + message="Class requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager`" + errorLine1=" context.getSystemService(SafetyCenterManager.class);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java" - line="92"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" + line="85" + column="42"/> </issue> <issue id="NewApi" - message="Class requires API level 34 (current min is 30): `android.app.AppOpsManager.OnOpNotedListener`"> + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#isSafetyCenterEnabled`" + errorLine1=" if (!safetyCenterManager.isSafetyCenterEnabled()) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightHistoricalPackageOpsLiveData.kt" - line="46"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" + line="97" + column="34"/> </issue> <issue id="NewApi" - message="Class requires API level 34 (current min is 30): `android.app.AppOpsManager.OnOpNotedListener`"> + message="Class requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager`" + errorLine1=" SafetyCenterManager safetyCenterManager = this.getSystemService(SafetyCenterManager.class);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightPackageOpsLiveData.kt" - line="43"/> + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" + line="141" + column="73"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#isSafetyCenterEnabled`" + errorLine1=" if (!safetyCenterManager.isSafetyCenterEnabled()) {" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" + line="146" + column="34"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 33 (current min is 30): `android.safetycenter.SafetyCenterManager#refreshSafetySources`" + errorLine1=" safetyCenterManager.refreshSafetySources(getRefreshReason());" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterBackgroundRefreshJobService.java" + line="152" + column="29"/> </issue> </issues>
\ No newline at end of file diff --git a/PermissionController/res/drawable/ic_camera_allowed.xml b/PermissionController/res/drawable/ic_camera_allowed.xml new file mode 100644 index 000000000..390f700a6 --- /dev/null +++ b/PermissionController/res/drawable/ic_camera_allowed.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2024 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path android:fillColor="@android:color/white" + android:pathData="M18,10.48L18,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2v-4.48l4,3.98v-11l-4,3.98zM16,9.69L16,18L4,18L4,6h12v3.69z"/> +</vector> diff --git a/PermissionController/res/drawable/ic_lock_closed.xml b/PermissionController/res/drawable/ic_lock_closed.xml new file mode 100644 index 000000000..e61a2d4a5 --- /dev/null +++ b/PermissionController/res/drawable/ic_lock_closed.xml @@ -0,0 +1,28 @@ +<!-- + Copyright (C) 2024 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?android:attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12,15m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/> + <path + android:fillColor="@android:color/white" + android:pathData="M18,8h-1.5V5.5C16.5,3.01 14.49,1 12,1S7.5,3.01 7.5,5.5V8H6c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V10C20,8.9 19.1,8 18,8zM9.5,5.5C9.5,4.12 10.62,3 12,3c1.38,0 2.5,1.12 2.5,2.5V8h-5V5.5zM18,20H6V10h1.5h9H18V20z"/> +</vector> diff --git a/PermissionController/res/layout-v33/view_more_issues.xml b/PermissionController/res/layout-v33/view_more_issues.xml index e1db725ad..7365e11c5 100644 --- a/PermissionController/res/layout-v33/view_more_issues.xml +++ b/PermissionController/res/layout-v33/view_more_issues.xml @@ -15,31 +15,58 @@ --> <merge xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" + xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> <ImageView android:id="@+id/status_icon" android:importantForAccessibility="no" android:src="@drawable/safety_status_info" - style="@style/SafetyCenterMoreIssuesIcon"/> + style="@style/SafetyCenterMoreIssuesIcon" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toStartOf="@+id/title"/> <TextView - android:id="@+id/title" - style="@style/SafetyCenterMoreIssuesTitle"/> + android:id="@id/title" + style="@style/SafetyCenterMoreIssuesTitle" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/status_icon" + app:layout_constraintEnd_toStartOf="@+id/widget_title"/> - <LinearLayout - android:id="@android:id/widget_frame" - style="@style/SafetyCenterMoreIssuesCounter"> + <View + android:id="@+id/widget_background" + style="@style/SafetyCenterMoreIssuesCounter" + app:layout_constraintTop_toTopOf="@id/widget_title" + app:layout_constraintBottom_toBottomOf="@id/widget_title" + app:layout_constraintStart_toStartOf="@id/widget_title" + app:layout_constraintEnd_toEndOf="parent"/> - <TextView - android:id="@+id/widget_title" - style="@style/SafetyCenterMoreIssuesWidgetTitle" /> + <TextView + android:id="@id/widget_title" + style="@style/SafetyCenterMoreIssuesWidgetTitle" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/title" + app:layout_constraintEnd_toStartOf="@+id/widget_icon"/> + + <ImageView + android:id="@id/widget_icon" + android:importantForAccessibility="no" + style="@style/SafetyCenterMoreIssuesWidgetIcon" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/widget_title" + app:layout_constraintEnd_toEndOf="parent"/> - <ImageView - android:id="@+id/widget_icon" - android:importantForAccessibility="no" - style="@style/SafetyCenterMoreIssuesWidgetIcon" /> + <androidx.constraintlayout.widget.Group + android:id="@+id/widget_frame" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="visible" + app:constraint_referenced_ids="widget_background,widget_title,widget_icon"/> - </LinearLayout> -</merge>
\ No newline at end of file +</merge> diff --git a/PermissionController/res/layout/app_permission.xml b/PermissionController/res/layout/app_permission.xml index 7e24207fe..f286269ad 100644 --- a/PermissionController/res/layout/app_permission.xml +++ b/PermissionController/res/layout/app_permission.xml @@ -83,10 +83,17 @@ android:id="@+id/permission_message" style="@style/AppPermissionMessage" /> - <RadioButton - android:id="@+id/allow_radio_button" - android:text="@string/app_permission_button_allow" - style="@style/AppPermissionRadioButton" /> + <FrameLayout + android:id="@+id/allow_radio_button_frame" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <RadioButton + android:id="@+id/allow_radio_button" + android:text="@string/app_permission_button_allow" + android:clickable="false" + android:focusable="false" + style="@style/AppPermissionRadioButton" /> + </FrameLayout> <RadioButton android:id="@+id/allow_always_radio_button" @@ -99,24 +106,24 @@ style="@style/AppPermissionRadioButton" /> <RelativeLayout - android:id="@+id/radio_select_layout" + android:id="@+id/radio_allow_limited_layout" android:orientation="horizontal" android:layout_width="match_parent" android:layout_marginTop="16dp" android:layout_height="wrap_content"> <RadioButton - android:id="@+id/select_radio_button" - android:text="@string/grant_dialog_button_allow_limited_access" + android:id="@+id/allow_limited_radio_button" + android:text="@string/app_permission_button_allow_limited_access" android:layout_alignParentStart="true" style="@style/AppPermissionRadioButton" android:layout_marginTop="0dp" /> <View - android:id="@+id/edit_photos_divider" + android:id="@+id/select_photos_divider" android:layout_width="1dp" android:layout_height="match_parent" - android:layout_toStartOf="@id/edit_selected_button" + android:layout_toStartOf="@id/select_photos_button" android:layout_alignParentTop="true" android:layout_alignBottom="@+id/select_radio_button" android:layout_marginStart="16dp" @@ -124,7 +131,7 @@ android:theme="@style/PreferenceDivider"/> <ImageButton - android:id="@+id/edit_selected_button" + android:id="@+id/select_photos_button" android:layout_width="48dp" android:layout_height="48dp" android:layout_alignParentEnd="true" diff --git a/PermissionController/res/layout/car_warning_banner_preference_card.xml b/PermissionController/res/layout/car_warning_banner_preference_card.xml new file mode 100644 index 000000000..af39fa1c2 --- /dev/null +++ b/PermissionController/res/layout/car_warning_banner_preference_card.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/WarningBannerMainContainer" > + + <androidx.cardview.widget.CardView + style="@style/AutoWarningBannerCardView" > + + <RelativeLayout + style="@style/WarningBannerDimensions" > + + <androidx.preference.internal.PreferenceImageView + android:id="@android:id/icon" + style="@style/AutoWarningBannerIcon" /> + + <TextView android:id="@android:id/title" + android:layout_below="@android:id/icon" + style="@style/AutoWarningBannerTitle" /> + + <TextView android:id="@android:id/summary" + android:layout_below="@android:id/title" + android:layout_alignStart="@android:id/title" + style="@style/AutoWarningBannerSummary" /> + + </RelativeLayout> + + </androidx.cardview.widget.CardView> + + <!-- Preference should place its actual preference widget here. --> + <LinearLayout android:id="@android:id/widget_frame" + style="@style/WarningBannerWidgetFrame" /> + +</LinearLayout> diff --git a/PermissionController/res/layout/enhanced_confirmation_dialog.xml b/PermissionController/res/layout/enhanced_confirmation_dialog.xml new file mode 100644 index 000000000..dde2e3f69 --- /dev/null +++ b/PermissionController/res/layout/enhanced_confirmation_dialog.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/enhanced_confirmation_dialog" + style="@style/EnhancedConfirmationDialog"> + <LinearLayout + android:id="@+id/enhanced_confirmation_dialog_header" + style="@style/EnhancedConfirmationDialogHeader"> + <ImageView + android:id="@+id/enhanced_confirmation_dialog_icon" + style="@style/EnhancedConfirmationDialogIcon" /> + <TextView + android:id="@+id/enhanced_confirmation_dialog_title" + android:text="@string/enhanced_confirmation_dialog_title" + style="@style/EnhancedConfirmationDialogTitle" /> + </LinearLayout> + + <ScrollView + android:id="@+id/enhanced_confirmation_dialog_scrollview" + style="@style/EnhancedConfirmationDialogScrollView"> + <LinearLayout + android:id="@+id/enhanced_confirmation_dialog_body" + style="@style/EnhancedConfirmationDialogBody"> + <TextView + android:id="@+id/enhanced_confirmation_dialog_desc" + android:text="@string/enhanced_confirmation_dialog_desc" + style="@style/EnhancedConfirmationDialogDesc" /> + </LinearLayout> + </ScrollView> +</LinearLayout> diff --git a/PermissionController/res/layout/grant_permissions.xml b/PermissionController/res/layout/grant_permissions.xml index f01f00c60..dead3ccf8 100644 --- a/PermissionController/res/layout/grant_permissions.xml +++ b/PermissionController/res/layout/grant_permissions.xml @@ -37,6 +37,7 @@ android:id="@+id/grant_dialog" android:theme="@style/Theme.PermissionGrantDialog" android:importantForAccessibility="no" + android:focusable="false" style="@style/PermissionGrantDialog"> <LinearLayout diff --git a/PermissionController/res/layout/grant_permissions_material3.xml b/PermissionController/res/layout/grant_permissions_material3.xml index 6b1ccb2a4..4fbae3d11 100644 --- a/PermissionController/res/layout/grant_permissions_material3.xml +++ b/PermissionController/res/layout/grant_permissions_material3.xml @@ -38,6 +38,7 @@ android:id="@+id/grant_dialog" android:theme="@style/Theme.PermissionGrantDialog" android:importantForAccessibility="no" + android:focusable="false" style="@style/PermissionGrantDialogMaterial3"> <LinearLayout diff --git a/PermissionController/res/layout/request_role_item.xml b/PermissionController/res/layout/request_role_item.xml index d7d142289..39e458aa2 100644 --- a/PermissionController/res/layout/request_role_item.xml +++ b/PermissionController/res/layout/request_role_item.xml @@ -24,28 +24,23 @@ <ImageView android:id="@+id/icon" - android:duplicateParentState="true" style="@style/RequestRoleItemIcon" /> <LinearLayout android:id="@+id/title_and_subtitle" - android:duplicateParentState="true" style="@style/RequestRoleItemTitleLayout"> <TextView android:id="@+id/title" - android:duplicateParentState="true" style="@style/RequestRoleItemTitleText" /> <TextView android:id="@+id/subtitle" - android:duplicateParentState="true" style="@style/RequestRoleItemSubtitleText" /> </LinearLayout> <RadioButton android:clickable="false" - android:duplicateParentState="true" android:focusable="false" style="@style/RequestRoleItemRadioButton" /> </com.android.permissioncontroller.role.ui.CheckableLinearLayout> diff --git a/PermissionController/res/values-af-v34/strings.xml b/PermissionController/res/values-af-v34/strings.xml index db69a7032..9a423aa78 100644 --- a/PermissionController/res/values-af-v34/strings.xml +++ b/PermissionController/res/values-af-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Bestuur apptoegang tot gesondheidsdata"</string> <string name="location_settings" msgid="8863940440881290182">"Liggingtoegang"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Vir apps en dienste. As hierdie instelling af is, kan mikrofoondata steeds gedeel word wanneer jy ’n noodnommer bel"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Vir apps en dienste"</string> </resources> diff --git a/PermissionController/res/values-af-watch/strings.xml b/PermissionController/res/values-af-watch/strings.xml index 3386aa514..c6cfd6038 100644 --- a/PermissionController/res/values-af-watch/strings.xml +++ b/PermissionController/res/values-af-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Onveranderbaar"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Kanselleer"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Altyd"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Terwyl app gebruik word"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Altyd"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Terwyl app gebruik word"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Altyd"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Terwyl app gebruik word"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Altyd"</string> </resources> diff --git a/PermissionController/res/values-af/strings.xml b/PermissionController/res/values-af/strings.xml index 0f9558fb4..29b76260d 100644 --- a/PermissionController/res/values-af/strings.xml +++ b/PermissionController/res/values-af/strings.xml @@ -51,7 +51,7 @@ <string name="permission_revoked_none" msgid="9213345075484381180">"geen is gedeaktiveer nie"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Laat toe"</string> <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Laat altyd toe"</string> - <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Terwyl die program gebruik word"</string> + <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Terwyl die app gebruik word"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Verander na presiese ligging"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Hou benaderde ligging"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Net hierdie keer"</string> @@ -60,7 +60,7 @@ <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"Laat toegang tot medialêers toe"</string> <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"Apps"</string> <string name="app_permissions" msgid="3369917736607944781">"Programtoestemmings"</string> - <string name="unused_apps" msgid="2058057455175955094">"Ongebruikte programme"</string> + <string name="unused_apps" msgid="2058057455175955094">"Ongebruikte apps"</string> <string name="edit_photos_description" msgid="5540108003480078892">"Redigeer geselekteerde foto’s vir hierdie app"</string> <string name="no_unused_apps" msgid="12809387670415295">"Geen ongebruikte programme nie"</string> <string name="zero_unused_apps" msgid="9024448554157499748">"0 ongebruikte programme"</string> @@ -71,8 +71,8 @@ <string name="granted_permission_decision" msgid="7824827491551861365">"Jy het vir <xliff:g id="APP_NAME">%1$s</xliff:g> toegang tot <xliff:g id="PERMISSION_NAME">%2$s</xliff:g> gegee"</string> <string name="denied_permission_decision" msgid="5308961501779563781">"Jy het <xliff:g id="APP_NAME">%1$s</xliff:g> toegang tot <xliff:g id="PERMISSION_NAME">%2$s</xliff:g> geweier"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Vandag}=1{1 dag gelede}other{# dae gelede}}"</string> - <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Deaktiveer program"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"As jy hierdie program deaktiveer, sal Android en ander programme dalk nie meer soos bedoel werk nie. Hou in gedagte dat jy nie hierdie program kan uitvee nie, want dit is vooraf op jou toestel geïnstalleer. Deur dit te deaktiveer, skakel jy hierdie program af en versteek jy dit op jou toestel."</string> + <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Deaktiveer app"</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"As jy hierdie app deaktiveer, sal Android en ander apps dalk nie meer soos bedoel werk nie. Hou in gedagte dat jy nie hierdie app kan uitvee nie, want dit is vooraf op jou toestel geïnstalleer. Deur dit te deaktiveer, skakel jy hierdie app af en versteek jy dit op jou toestel."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Toestemmingbestuurder"</string> <string name="never_ask_again" msgid="4728762438198560329">"Moenie weer vra nie"</string> <string name="no_permissions" msgid="3881676756371148563">"Geen toestemmings nie"</string> @@ -90,7 +90,7 @@ <string name="menu_show_7_days_data" msgid="8979611198508523706">"Wys 7 dae"</string> <string name="menu_show_24_hours_data" msgid="8228054833323380780">"Wys 24 uur"</string> <string name="manage_permission" msgid="2895385393037061964">"Bestuur toestemming"</string> - <string name="no_apps" msgid="2412612731628386816">"Geen programme nie"</string> + <string name="no_apps" msgid="2412612731628386816">"Geen apps nie"</string> <string name="location_settings" msgid="3624412509133422562">"Ligginginstellings"</string> <string name="location_warning" msgid="2381649060929040962">"<xliff:g id="APP_NAME">%1$s</xliff:g> is \'n verskaffer van liggingdienste vir hierdie toestel. Liggingtoegang kan vanuit ligginginstellings gewysig word."</string> <string name="system_warning" msgid="1173400963234358816">"As jy hierdie toestemming weier, sal basiese kenmerke van jou toestel dalk nie meer soos bedoel werk nie."</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alle toestemmings"</string> <string name="other_permissions" msgid="2901186127193849594">"Ander programvermoëns"</string> <string name="permission_request_title" msgid="8790310151025020126">"Toestemmingsversoek"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Installeer- en deïnstalleerhandelinge word nie in Wear gesteun nie."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Kies waartoe <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang mag kry"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> is opgedateer. Kies waartoe hierdie program toegang mag kry."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Kanselleer"</string> @@ -165,7 +163,7 @@ <string name="permission_usage_bar_chart_title_last_minute" msgid="820450867183487607">"Toestemminggebruik in afgelope 1 minuut"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_days" msgid="4771868094611359651">"{count,plural, =1{Nie in die afgelope # dag gebruik nie}other{Nie in die afgelope # dae gebruik nie}}"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_hours" msgid="3828973177433435742">"{count,plural, =1{Nie in die afgelope # uur gebruik nie}other{Nie in die afgelope # uur gebruik nie}}"</string> - <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{Gebruik deur 1 program}other{Gebruik deur # programme}}"</string> + <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{Gebruik deur 1 app}other{Gebruik deur # apps}}"</string> <string name="permission_usage_view_details" msgid="6675335735468752787">"Sien alles in Dashboard"</string> <string name="app_permission_usage_filter_label" msgid="7182861154638631550">"Gefiltreer volgens: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_usage_remove_filter" msgid="2926157607436428207">"Verwyder filter"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Laat altyd alles toe"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Vra elke keer"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Moenie toelaat nie"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Presiese ligging"</string> <string name="approximate_image_description" msgid="938803699637069884">"Benaderde ligging"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Gebruik presiese ligging"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Wanneer presiese ligging af is, kan programme jou benaderde ligging bepaal"</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Wanneer presiese ligging af is, kan apps jou benaderde ligging bepaal"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>-toestemming"</string> - <string name="app_permission_header" msgid="2951363137032603806">"Toegang tot <xliff:g id="PERM">%1$s</xliff:g> vir hierdie program"</string> + <string name="app_permission_header" msgid="2951363137032603806">"Toegang tot <xliff:g id="PERM">%1$s</xliff:g> vir hierdie app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g>toegang vir hierdie app op <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Sien al <xliff:g id="APP">%1$s</xliff:g> se toestemmings"</string> - <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Sien alle programme met hierdie toestemming"</string> + <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Sien alle apps met hierdie toestemming"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Wys Assistent-mikrofoongebruik"</string> - <string name="unused_apps_category_title" msgid="2988455616845243901">"Ongebruikte programinstellings"</string> + <string name="unused_apps_category_title" msgid="2988455616845243901">"Instellings vir ongebruikte apps"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Verwyder toestemmings as program nie gebruik word nie"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Verwyder toestemmings en maak spasie beskikbaar"</string> - <string name="unused_apps_label_v2" msgid="7058776770056517980">"Onderbreek programaktiwiteit as ongebruik"</string> + <string name="unused_apps_label_v2" msgid="7058776770056517980">"Onderbreek appaktiwiteit as ongebruik"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Bestuur app indien ongebruik"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Verwyder toestemmings, vee tydelike lêers uit, en stop kennisgewings"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Verwyder toestemmings, vee tydelike lêers uit, stop kennisgewings en argiveer die app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Om jou data te beskerm, sal toestemmings vir hierdie program verwyder word as die program \'n paar maande nie gebruik word nie."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Om jou data te beskerm, sal die volgende toestemmings verwyder word as dit vir \'n paar maande nie gebruik word nie: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Om jou data te beskerm, is toestemmings verwyder van programme wat jy \'n paar maande gelede laas gebruik het."</string> @@ -220,10 +223,10 @@ <string name="auto_revoked_app_summary_one" msgid="7093213590301252970">"<xliff:g id="PERMISSION_NAME">%s</xliff:g>-toestemming verwyder"</string> <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g>- en <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>-toestemming verwyder"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> en <xliff:g id="NUMBER">%2$s</xliff:g> ander toestemmings verwyder"</string> - <string name="unused_apps_page_title" msgid="6986983535677572559">"Ongebruikte programme"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"As \'n program vir \'n paar maande nie gebruik word nie:\n\n• Word toestemmings verwyder om jou privaatheid te beskerm\n• Word kennisgewings gestop om batterykrag te bespaar\n• Word tydelike lêers verwyder om spasie beskikbaar te maak\n\nMaak die program oop om weer toestemmings en kennisgewings toe te laat."</string> + <string name="unused_apps_page_title" msgid="6986983535677572559">"Ongebruikte apps"</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"As \'n app vir \'n paar maande nie gebruik word nie:\n\n• Word toestemmings verwyder om jou privaatheid te beskerm\n• Word kennisgewings gestop om batterykrag te bespaar\n• Word tydelike lêers verwyder om spasie beskikbaar te maak\n\nMaak die app oop om weer toestemmings en kennisgewings toe te laat."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"As ’n app ’n maand lank nie gebruik is nie:\n\n• Toestemmings word verwyder om jou data te beskerm\n• Tydelike lêers word verwyder om spasie beskikbaar te maak\n\nMaak die app oop om weer toestemmings te gee."</string> - <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Meer as # maande gelede laas oopgemaak}other{Meer as # maande gelede laas oopgemaak}}"</string> + <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Meer as # maand gelede laas oopgemaak}other{Meer as # maande gelede laas oopgemaak}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"Program is <xliff:g id="DATE">%s</xliff:g> laas oopgemaak"</string> <string name="last_opened_summary_short" msgid="1646067226191176825">"<xliff:g id="DATE">%s</xliff:g> laas oopgemaak"</string> <string name="app_permission_footer_special_file_access" msgid="1884202176147657788">"As jy toelaat dat alle lêers bestuur word, kan hierdie program enige lêers in gedeelde bergingspasie op hierdie toestel en gekoppelde bergingtoestelle kry, wysig en uitvee. Die program kan toegang tot lêers kry sonder om jou te vra."</string> @@ -234,8 +237,8 @@ <string name="permission_description_summary_call_log" msgid="7321437186317577624">"Programme met hierdie toestemming kan foonoproeprekord lees en skryf"</string> <string name="permission_description_summary_camera" msgid="108004375101882069">"Programme met hierdie toestemming kan foto\'s neem en video\'s opneem"</string> <string name="permission_description_summary_contacts" msgid="2337798886460408996">"Programme met hierdie toestemming kan toegang tot jou kontakte kry"</string> - <string name="permission_description_summary_location" msgid="2817531799933480694">"Programme met hierdie toestemming kan toegang tot jou toestel se ligging kry"</string> - <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Programme met hierdie toestemming kan toestelle in die omtrek soek, aan hulle koppel en hul relatiewe posisie bepaal"</string> + <string name="permission_description_summary_location" msgid="2817531799933480694">"Apps met hierdie toestemming kan toegang tot jou toestel se ligging kry"</string> + <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Apps met hierdie toestemming kan toestelle in die omtrek soek, aan hulle koppel en hul relatiewe posisie bepaal"</string> <string name="permission_description_summary_microphone" msgid="630834800308329907">"Programme met hierdie toestemming kan oudio opneem"</string> <string name="permission_description_summary_phone" msgid="4515277217435233619">"Programme met hierdie toestemming kan foonoproepe maak en bestuur"</string> <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Programme met hierdie toestemming kan toegang kry tot sensordata oor jou lewenstekens"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Toegelaat om alle lêers te bestuur"</string> <string name="ask_header" msgid="2633816846459944376">"Vra elke keer"</string> <string name="denied_header" msgid="903209608358177654">"Nie toegelaat nie"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> op <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Sien meer programme wat toegang tot alle lêers het"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dag}other{# dae}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# uur}other{# uur}}"</string> @@ -304,7 +308,7 @@ <string name="auto_revoke_before_notification_title_one" msgid="6758024954464359876">"1 app is ongebruik"</string> <string name="auto_revoke_before_notification_title_many" msgid="4415543943846385685">"<xliff:g id="NUMBER_OF_APPS">%s</xliff:g> programme is ongebruik"</string> <string name="auto_revoke_before_notification_content_one" msgid="1156635373417068822">"Toestemmings sal verwyder word om jou privaatheid te beskerm. Tik om te kontroleer."</string> - <string name="unused_apps_title" msgid="8589298917717872239">"Ongebruikte programme"</string> + <string name="unused_apps_title" msgid="8589298917717872239">"Ongebruikte apps"</string> <string name="unused_apps_subtitle_after" msgid="2034267519506357898">"Toestemmings verwyder uit"</string> <string name="unused_apps_subtitle_before" msgid="5233302577076132427">"Toestemmings sal verwyder word uit"</string> <string name="unused_permissions_subtitle_two" msgid="2207266295008423015">"<xliff:g id="PERM_NAME_0">%1$s</xliff:g> en <xliff:g id="PERM_NAME_1">%2$s</xliff:g>"</string> @@ -349,23 +353,23 @@ <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"<xliff:g id="NUM_SERVICES">%s</xliff:g> toeganklikheidprogramme het volle toegang tot jou toestel"</string> <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> kan jou skerm, handelinge en invoere bekyk, handelinge uitvoer, en die skerm beheer."</string> <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Hierdie programme kan jou skerm, handelinge en invoere bekyk, handelinge uitvoer, en die skerm beheer."</string> - <string name="role_assistant_label" msgid="4727586018198208128">"Verstekdigitaleassistentprogram"</string> - <string name="role_assistant_short_label" msgid="3369003713187703399">"Digitaleassistentprogram"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"Bystandprogramme kan jou help op grond van inligting vanaf die skerm waarna jy kyk. Sommige programme steun sowel lanseerder- as steminvoerdienste om vir jou geïntegreerde bystand te gee."</string> + <string name="role_assistant_label" msgid="4727586018198208128">"Verstekdigitaleassistentapp"</string> + <string name="role_assistant_short_label" msgid="3369003713187703399">"Digitaleassistentapp"</string> + <string name="role_assistant_description" msgid="6622458130459922952">"Bystandapps kan jou help op grond van inligting vanaf die skerm waarna jy kyk. Sommige apps steun sowel lanseerder- as steminvoerdienste om vir jou geïntegreerde bystand te gee."</string> <string name="role_browser_label" msgid="2877796144554070207">"Verstekblaaier"</string> - <string name="role_browser_short_label" msgid="6745009127123292296">"Blaaierprogram"</string> - <string name="role_browser_description" msgid="3465253637499842671">"Programme wat jou toegang tot die internet gee en na vertoonskakels waarop jy tik"</string> + <string name="role_browser_short_label" msgid="6745009127123292296">"Blaaierapp"</string> + <string name="role_browser_description" msgid="3465253637499842671">"Apps wat jou toegang tot die internet gee en na vertoonskakels waarop jy tik"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekblaaierprogram?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Geen toestemmings is nodig nie"</string> - <string name="role_dialer_label" msgid="1100224146343237968">"Verstekfoonprogram"</string> - <string name="role_dialer_short_label" msgid="7186888549465352489">"Foonprogram"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"Programme wat jou toelaat om telefoonoproepe op jou toestel te maak en te ontvang"</string> + <string name="role_dialer_label" msgid="1100224146343237968">"Verstekfoonapp"</string> + <string name="role_dialer_short_label" msgid="7186888549465352489">"Foonapp"</string> + <string name="role_dialer_description" msgid="8768708633696539612">"Apps wat jou toelaat om telefoonoproepe op jou toestel te maak en te ontvang"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekfoonprogram?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Hierdie program sal toegang tot jou kamera, kontakte, mikrofoon, foon en SMS\'e kry"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"beller"</string> - <string name="role_sms_label" msgid="8456999857547686640">"Verstek-SMS-program"</string> - <string name="role_sms_short_label" msgid="4371444488034692243">"SMS-program"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Programme wat jou toelaat om jou foonnommer te gebruik om kort SMS\'e, foto\'s, video\'s en meer te stuur en te ontvang"</string> + <string name="role_sms_label" msgid="8456999857547686640">"Verstek-SMS-app"</string> + <string name="role_sms_short_label" msgid="4371444488034692243">"SMS-app"</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps wat jou toelaat om jou foonnommer te gebruik om kort SMS\'e, foto\'s, video\'s en meer te stuur en te ontvang"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstek-SMS-program?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Hierdie program sal toegang tot jou kamera, kontakte, lêers en media, mikrofoon, foon en SMS\'e kry"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"sms, teksboodskappe, boodskappe, boodskappe"</string> @@ -375,9 +379,9 @@ <string name="role_emergency_request_title" msgid="8469579020654348567">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou versteknoodprogram?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"Geen toestemmings is nodig nie"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> - <string name="role_home_label" msgid="3871847846649769412">"Verstekhuisprogram"</string> - <string name="role_home_short_label" msgid="8544733747952272337">"Huisprogram"</string> - <string name="role_home_description" msgid="7997371519626556675">"Programme, wat dikwels lanseerders genoem word, wat die Tuisskerms op jou Android-toestel vervang en vir jou toegang gee tot die inhoud en kenmerke van jou toestel"</string> + <string name="role_home_label" msgid="3871847846649769412">"Verstekhuisapp"</string> + <string name="role_home_short_label" msgid="8544733747952272337">"Tuis-app"</string> + <string name="role_home_description" msgid="7997371519626556675">"Apps, wat dikwels lanseerders genoem word, wat die Tuisskerms op jou Android-toestel vervang en vir jou toegang gee tot die inhoud en kenmerke van jou toestel"</string> <string name="role_home_request_title" msgid="738136983453341081">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekhuisprogram?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Geen toestemmings is nodig nie"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"lanseerder"</string> @@ -386,9 +390,9 @@ <string name="role_call_redirection_description" msgid="6091669882014664420">"Programme wat jou toelaat om uitgaande oproepe na \'n ander foonnommer aan te stuur"</string> <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou oproepherleiding-verstekprogram?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Geen toestemmings is nodig nie"</string> - <string name="role_call_screening_label" msgid="883935222060878724">"Verstekbeller-ID- en -strooiposprogram"</string> - <string name="role_call_screening_short_label" msgid="2048465565063130834">"Beller-ID en strooiposprogram"</string> - <string name="role_call_screening_description" msgid="2349431420497468981">"Programme wat dit vir jou moontlik maak om oproepe te identifiseer en strooipos, robotoproepe en ongewenste nommers te blokkeer"</string> + <string name="role_call_screening_label" msgid="883935222060878724">"Verstekbeller-ID- en -strooiposapp"</string> + <string name="role_call_screening_short_label" msgid="2048465565063130834">"Beller-ID- en strooiposapp"</string> + <string name="role_call_screening_description" msgid="2349431420497468981">"Apps wat dit vir jou moontlik maak om oproepe te identifiseer en strooipos, robotoproepe en ongewenste nommers te blokkeer"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekbeller-ID en -strooiposprogram?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Geen toestemmings is nodig nie"</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Versteknavigasieprogram"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notasapp"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps wat jou toelaat om notas op jou toestel te maak"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Verstekbeursie-app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet-app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Beursie-apps kan jou krediet- en lojaliteitskaarte, motorsleutels en ander goed stoor om met verskeie vorme van transaksies te help."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekbeursie-app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Geen toestemmings is nodig nie"</string> <string name="request_role_current_default" msgid="738722892438247184">"Huidige verstek"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Moenie weer vra nie"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Stel as verstek"</string> @@ -420,23 +429,24 @@ <string name="ongoing_usage_dialog_title_mic_camera" msgid="9079747867228772797">"Onlangse gebruik van mikrofoon en kamera"</string> <string name="ongoing_usage_dialog_separator" msgid="1715181526581520068">", "</string> <string name="ongoing_usage_dialog_last_separator" msgid="4170995004748832163">" en "</string> - <string name="default_app_search_keyword" msgid="8330125736889689743">"verstekprogramme"</string> + <string name="default_app_search_keyword" msgid="8330125736889689743">"verstekapps"</string> <string name="permgroup_list_microphone_and_camera" msgid="962768198001487969">"Mikrofoon en kamera"</string> <string name="settings_button" msgid="4414988414732479636">"Instellings"</string> - <string name="default_apps" msgid="5119201969348748639">"Verstekprogramme"</string> + <string name="default_apps" msgid="5119201969348748639">"Verstekapps"</string> <string name="no_default_apps" msgid="2593466527182950231">"Geen verstekprogramme nie"</string> <string name="default_apps_more" msgid="4078194675848858093">"Meer verstekke"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Oopmaak van skakels"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Verstek vir werk"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Verstek vir privaat ruimte"</string> <string name="default_app_none" msgid="9084592086808194457">"Geen"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Stelselverstek)"</string> - <string name="default_app_no_apps" msgid="115720991680586885">"Geen programme nie"</string> + <string name="default_app_no_apps" msgid="115720991680586885">"Geen apps nie"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"Gekies"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"Gekies – <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> <string name="special_app_access_search_keyword" msgid="8032347212290774210">"spesiale apptoegang"</string> <string name="special_app_access" msgid="5019319067120213797">"Spesiale apptoegang"</string> <string name="no_special_app_access" msgid="6950277571805106247">"Geen spesiale apptoegang nie"</string> - <string name="special_app_access_no_apps" msgid="4102911722787886970">"Geen programme nie"</string> + <string name="special_app_access_no_apps" msgid="4102911722787886970">"Geen apps nie"</string> <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Steun nie werkprofiel nie"</string> <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Let wel: As jy jou toestel herbegin en \'n skermslot is gestel, kan hierdie program nie begin totdat jy jou toestel ontsluit nie."</string> <string name="assistant_confirmation_message" msgid="7476540402884416212">"Die assistent sal inligting oor programme wat tans op jou stelsel gebruik word, kan lees, insluitend inligting wat op jou skerm sigbaar is of toeganklik is binne die programme."</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Wys assistent-aktiveringbespeuring"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Wys ikoon in statusbalk wanneer mikrofoon gebruik word om stemassistent te aktiveer"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou foto\'s en media op jou toestel?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s en media op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s en media op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kontakte?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kontakte op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kontakte op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot hierdie toestel se ligging?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> se ligging?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> se ligging?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Die program sal net toegang tot die ligging hê terwyl jy die program gebruik"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot hierdie toestel se ligging?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> se ligging?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> se ligging?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Hierdie program wil dalk die hele tyd toegang tot jou ligging hê, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Verander liggingtoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Verander liggingtoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Verander liggingtoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Hierdie program wil die hele tyd toegang tot jou ligging hê, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om toestelle in die omtrek te soek, aan hulle te koppel en hul relatiewe posisie te bepaal?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestelle in die omtrek op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> soek, aan hulle koppel, en hul relatiewe posisie bepaal."</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestelle in die omtrek op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> soek, aan hulle koppel, en hul relatiewe posisie bepaal?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om toestelle in die omtrek te soek, aan hulle te koppel en hul relatiewe posisie te bepaal? "<annotation id="link">"Laat toe in Instellings."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Verander <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> se liggingtoegang van benaderd na presies?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Verander <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> se liggingtoegang op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> van benaderd tot presies?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Verander <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> se liggingtoegang op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> van benaderd tot presies?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot hierdie toestel se benaderde ligging?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> se benaderde ligging?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> se benaderde ligging?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Presies"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Benaderd"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kalender?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kalender op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou kalendar op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om SMS\'e te stuur en te bekyk?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om SMS’e op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> te stuur en te bekyk?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om SMS-boodskappe te stuur en te bekyk op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Gee vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto\'s, media en lêers op jou toestel?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s, media en lêers op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s, media en lêers op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot <b>foto\'s, video\'s, musiek en oudio</b> op hierdie toestel?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot <b>foto\'s, video\'s, musiek, oudio en ander lêers</b> op hierdie toestel?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot musiek en oudio op hierdie toestel?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot musiek en oudio op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot musiek en oudio op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto\'s en video\'s op hierdie toestel?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s en video’s op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot foto’s en video’s op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot meer foto\'s en video\'s op hierdie toestel?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot meer foto’s en video’s op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot meer foto’s en video’s op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om oudio op te neem?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om oudio op te neem op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om oudio op te neem op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Die program sal net kan oudio opneem terwyl jy die program gebruik"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om oudio op te neem?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om oudio op te neem op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om oudio op te neem op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Hierdie program wil dalk die hele tyd oudio opneem, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Verander mikrofoontoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Verander mikrofoontoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Verander mikrofoontoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Hierdie program wil die hele tyd oudio opneem, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou fisieke aktiwiteit?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou fisieke aktiwiteit op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou fisieke aktiwiteit op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foto\'s te neem en video\'s op te neem?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foto’s te neem en video’s op te neem op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om foto’s te neem en video’s op te neem op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Die program sal net kan foto\'s neem en video\'s opneem terwyl jy die program gebruik"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foto\'s te neem en video\'s op te neem?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foto’s te neem en video’s op te neem op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om foto’s te neem en video’s op te neem op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Hierdie program wil dalk die hele tyd foto\'s neem en video\'s opneem, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Verander kameratoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Verander kameratoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Verander kameratoegang vir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Hierdie program wil die hele tyd foto\'s neem en video\'s opneem, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Laat toe in instellings."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou foonoproeprekords?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou foonoproeprekords op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot jou foon se oproeprekords op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foonoproepe te maak en te bestuur?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om foonoproepe op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> te maak en te bestuur?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om foonoproepe te maak en te bestuur op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot sensordata oor jou lewenstekens?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot sensordata oor jou lewenstekens op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot sensordata oor jou lewenstekens op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Dié program wil dalk deurentyd toegang tot sensordata oor jou lewenstekens hê, selfs wanneer jy nie die program gebruik nie. "<annotation id="link">"Gaan na instellings"</annotation>" om hierdie verandering te maak."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot die sensordata oor jou lewenstekens?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot die sensordata oor jou lewenstekens op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot die sensordata oor jou lewenstekens op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501"><annotation id="link">"Gaan na instellings"</annotation>" om altyd vir hierdie program toegang tot liggaamsensordata te gee, selfs wanneer jy nie die program gebruik nie."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> steeds toegang tot liggaamsensordata terwyl die program gebruik word?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> steeds toegang tot liggaamsensordata op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> terwyl die app gebruik word?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> steeds toegang tot liggaamsensordata op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> terwyl die app gebruik word?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om vir jou kennisgewings te stuur?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Laat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toe om vir jou kennisgewings op jou <b><xliff:g id="DEVICE">%2$s</xliff:g></b> te stuur?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Gee <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang om vir jou kennisgewings te stuur op <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Beheerde toestemmings"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> het liggingtoegang"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Jou organisasie gee <xliff:g id="APP_NAME">%1$s</xliff:g> toegang tot jou ligging"</string> @@ -541,14 +551,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Geen"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Afgelope\n24 uur"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Afgelope\n7 dae"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> persent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> word deur Android beskerm. Hierdie program se toestemminggebruik word nie op die statusbalk of jou privaatheidkontroleskerm gewys nie omdat jou data op hierdie toestel verwerk word."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> word deur Android beskerm. Hierdie program se toestemminggebruik word nie op jou privaatheidkontroleskerm gewys nie omdat jou data op hierdie toestel verwerk word."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Toestelkamera is geblokkeer"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"Toestelmikrofoon is geblokkeer"</string> <string name="blocked_location_title" msgid="2005608279812892383">"Toestelligging is af"</string> - <string name="blocked_sensor_summary" msgid="4443707628305027375">"Vir programme en dienste"</string> + <string name="blocked_sensor_summary" msgid="4443707628305027375">"Vir apps en dienste"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofoondata kan steeds gedeel word wanneer jy \'n noodnommer bel."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Verander"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameratoegang is af"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Vir inligtingvermaakapps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Vir vereiste apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Hierdie app is vereis"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Hierdie app word deur jou motor se vervaardiger vereis"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sekuriteit en privaatheid"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skandeer toestel"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Maak toe"</string> @@ -610,7 +626,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Mikrofoontoegang"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Vir apps en dienste"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Vir apps en dienste. As hierdie instelling af is, kan mikrofoondata steeds gedeel word wanneer jy ’n noodnommer bel."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Sien programme en dienste met toegang tot ligging"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Sien apps en dienste met toegang tot ligging"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Wys knipbordtoegang"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Wys ’n boodskap wanneer apps toegang het tot teks, prente of ander inhoud wat jy gekopieer het"</string> <string name="show_password_title" msgid="2877269286984684659">"Wys wagwoorde"</string> @@ -640,7 +656,7 @@ <string name="data_sharing_updates_summary" msgid="764113985772233889">"Gaan apps na wat die manier waarop hulle jou liggingdata kan deel, verander het"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Hierdie apps het die manier waarop hulle jou liggingdata kan deel, verander. Hulle het dit dalk nie voorheen gedeel nie, of kan dit nou vir reklame- of bemarkingdoeleindes deel."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Die ontwikkelaars van hierdie apps het inligting oor hul datadelingpraktyke met ’n appwinkel gedeel. Hulle kan dit mettertyd opdateer.\n\nDatadelingpraktyke kan verskil op grond van jou appweergawe en -gebruik, streek en ouderdom."</string> - <string name="learn_about_data_sharing" msgid="4200480587079488045">"Kom meer te wete oor datadeling"</string> + <string name="learn_about_data_sharing" msgid="4200480587079488045">"Meer inligting oor datadeling"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Jou liggingdata word nou met derde partye gedeel"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Jou liggingdata word nou met derde partye gedeel vir reklame of bemarking"</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{In die afgelope dag opgedateer}=1{In die afgelope dag opgedateer}other{In die afgelope # dae opgedateer}}"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Datadelingopdaterings"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Sommige apps het die manier waarop hulle jou liggingdata kan deel, verander"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Instellings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Ingegaan <xliff:g id="TIME_DATE">%1$s</xliff:g>."</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Gister ingegaan <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Ingegaan <xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jou eenmalige wagwoord is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Beperkte instelling"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Hierdie instelling is vir jou veiligheid tans onbeskikbaar."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Toegang tot <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> is geweier vir die app"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Die app het toegang tot toestemming vir sensitiewe inligting versoek wat jou persoonlike en finansiële inligting in gevaar kan stel.<xliff:g id="ID_1"><br><br></xliff:g>Dit is moontlik dat die app nie reg sal werk sonder hierdie beperktetoestemming nie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kry meer inligting oor hoe om toegang toe te laat</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Toegang is geweier vir app om die verstek <xliff:g id="ROLE_NAME">%1$s</xliff:g> te wees"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Die app het toegang tot toestemming vir sensitiewe inligting versoek wat jou persoonlike en finansiële inligting in gevaar kan stel.<xliff:g id="ID_1"><br><br></xliff:g>Dit is moontlik dat die app nie reg sal werk sonder hierdie beperktetoestemming nie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kry meer inligting oor hoe om toegang toe te laat</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Toegang is geweier vir die app"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Toegang tot hierdie toestemming kan jou persoonlike en finansiële inligting in gevaar stel.<xliff:g id="ID_1"><br><br></xliff:g>Dit is moontlik dat die app nie reg sal werk sonder hierdie beperktetoestemming nie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kry meer inligting oor hoe om toegang toe te laat</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Meer inligting"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Toestemmingsversoek is onderdruk"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Hierdie app versoek bykomende toestemmings, maar toestemmings kan nie in ’n stromingsessie verleen word nie. Verleen eers die toestemming op jou foon."</string> </resources> diff --git a/PermissionController/res/values-am-v34/strings.xml b/PermissionController/res/values-am-v34/strings.xml index 52f5188ba..9b3edef01 100644 --- a/PermissionController/res/values-am-v34/strings.xml +++ b/PermissionController/res/values-am-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"የመተግበሪያ የጤና ውሂብ መዳረሻን ያስተዳድሩ"</string> <string name="location_settings" msgid="8863940440881290182">"የአካባቢ መዳረሻ"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ለመተግበሪያዎች እና አገልግሎቶች። ይህ ቅንብር ከጠፋ እርስዎ ወደ አንድ የአደጋ ጊዜ ቁጥር ሲደውሉ የማይክሮፎን ውሂብ አሁንም ሊጋራ ይችላል"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ለመተግበሪያዎች እና አገልግሎቶች"</string> </resources> diff --git a/PermissionController/res/values-am-watch/strings.xml b/PermissionController/res/values-am-watch/strings.xml index 69a852865..463161920 100644 --- a/PermissionController/res/values-am-watch/strings.xml +++ b/PermissionController/res/values-am-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ሊለወጥ አይችልም"</string> <string name="generic_yes" msgid="2489207724988649846">"አዎ"</string> <string name="generic_cancel" msgid="2631708607129269698">"ይቅር"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ሁልጊዜ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"መተግበሪያ እየተጠቀሙ ሳለ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ሁልጊዜ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"መተግበሪያ እየተጠቀሙ ሳለ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ሁልጊዜ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"መተግበሪያ እየተጠቀሙ ሳለ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ሁልጊዜ"</string> </resources> diff --git a/PermissionController/res/values-am/strings.xml b/PermissionController/res/values-am/strings.xml index de2e0c8d8..2c975bfa8 100644 --- a/PermissionController/res/values-am/strings.xml +++ b/PermissionController/res/values-am/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ሁሉም ፍቃዶች"</string> <string name="other_permissions" msgid="2901186127193849594">"ሌሎች የመተግበሪያ ችሎታዎች"</string> <string name="permission_request_title" msgid="8790310151025020126">"የፍቃድ ጥያቄ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"በWear ላይ የመጫን/ማራገፍ እርምጃዎች አይደገፉም።"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ምን መድረስ እንደሚችል ይምረጡ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ተዘምኗል። ይህ መተግበሪያ ምን መድረስ እንደሚችል ይምረጡ።"</string> <string name="review_button_cancel" msgid="2191147944056548886">"ይቅር"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ሁልጊዜ ሁሉንም ፍቀድ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ሁልጊዜ ጠይቅ"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"አትፍቀድ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ትክክለኛ አካባቢ"</string> <string name="approximate_image_description" msgid="938803699637069884">"ግምታዊ አካባቢ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ትክክለኛ አካባቢን ተጠቀም"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ትክክለኛ አካባቢ ሲጠፋ መተግበሪያዎች ግምታዊ አካባቢዎን መድረስ ይችላሉ"</string> <string name="app_permission_title" msgid="2090897901051370711">"የ<xliff:g id="PERM">%1$s</xliff:g> ፈቃድ"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> መዳረሻ ለዚህ መተግበሪያ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ላይ ለዚህ መተግበሪያ የ<xliff:g id="PERM">%1$s</xliff:g> መዳረሻ"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ሁሉንም <xliff:g id="APP">%1$s</xliff:g> ፈቃዶች ይመልከቱ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ከዚህ መተግበሪያ ጋር ሁሉንም መተግበሪያዎች ይመልከቱ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"የረዳት ማይክሮፎን አጠቃቀምን አሳይ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"መተግበሪያ ጥቅም ላይ ካልዋለ ፈቃዶችን አስወግድ"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ፈቃዶችን ያስወግዱ እና ቦታ ያስለቅቁ"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"የመተግበሪያ እንቅስቃሴ ሥራ ላይ ካልዋለ ባለበት አቁም"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ጥቅም ላይ ካልዋለ መተግበሪያን ያስተዳድሩ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ፈቃዶችን አስወግድ፣ ጊዜያዊ ፋይሎችን ሰርዝ እና ማሳወቂያዎችን አቁም"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ፈቃዶችን ያስወግዱ፣ ጊዜያዊ ፋይሎችን ይሰርዙ፣ ማሳወቂያዎችን ያቁሙ እና መተግበሪያውን በማህደር ያስቀምጡ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ለእርስዎ ውሂብ ጥበቃ ለማድረግ፣ ለዚህ መተግበሪያ የተሰጡ ፈቃዶች መተግበሪያው ለጥቂት ወራት ጥቅም ላይ ካልዋለ ይህ መተግበሪያ ይወገዳል።"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"የእርስዎን ውሂብ ለመጠበቅ፣ መተግበሪያው ለጥቂት ወራት ጥቅም ላይ ካልዋለ፣ የሚከተሉት ፈቃዶች ይወገዳሉ፦ <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"የእርስዎን ውሂብ ለመጠበቅ ሲባል ለጥቂት ወራት ካልተጠቀሙባቸው መተግበሪያዎች ላይ ፈቃዶች ተወግደዋል።"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ሁሉንም ፋይሎች ማስተዳደር ተፈቀዷል"</string> <string name="ask_header" msgid="2633816846459944376">"ሁልጊዜ ጠይቅ"</string> <string name="denied_header" msgid="903209608358177654">"አይፈቀድም"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> በ<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ላይ"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ሁሉንም ፋይሎች መድረስ የሚችሉ ተጨማሪ መተግበሪያዎችን ይመልከቱ"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ቀን}one{# ቀኖች}other{# ቀኖች}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ሰዓት}one{# ሰዓት}other{# ሰዓታት}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"የማስታወሻዎች መተግበሪያ"</string> <string name="role_notes_description" msgid="8496852798616883551">"በመሣሪያዎ ላይ ማስታወሻ እንዲይዙ የሚያስችሉዎት መተግበሪያዎች"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ማስታወሻዎች"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ነባሪ የwallet መተግበሪያ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"የwallet መተግበሪያ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"የWallet መተግበሪያዎች የተለያዩ የግብይት ዓይነቶችን ለማገዝ የክሬዲትና የታማኝነት ካርዶችዎን፣ የመኪና ቁልፎችዎን እና ሌሎች ነገሮችን ማከማቸት ይችላሉ።"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> እንደ ነባሪ የWallet መተግበሪያዎ ይቀናበር?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ምንም ፈቃዶች አያስፈልጉም"</string> <string name="request_role_current_default" msgid="738722892438247184">"አሁን ያለ ነባሪ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ዳግም አትጠይቅ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"እንደ ነባሪ አዘጋጅ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"ተጨማሪ ነባሪዎች"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"አገናኞችን በመክፈት ላይ"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ለሥራ ነባሪ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ለግል ቦታ ነባሪ"</string> <string name="default_app_none" msgid="9084592086808194457">"ምንም"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(የሥርዓት ነባሪ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"መተግበሪያዎች የሉም"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"የረዳት ቀስቃሽ ማግኛን አሳይ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"የድምፅ ረዳትን ለማግበር ማይክራፎን ጥቅም ላይ ሲውል በሁናቴ አሞሌ ውስጥ አዶን አሳይ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በመሣሪያዎ ላይ ያሉ ፎቶዎችን፣ እና ማህደረ መረጃን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ፎቶዎችን እና ሚዲያን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ፎቶዎችን እና ሚዲያን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> እውቂያዎችዎን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ዕውቂያዎችዎን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ዕውቂያዎችዎን <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የዚህ መሣሪያ አካባቢን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የእርስዎን <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> አካባቢ እንደደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> አካባቢ እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"መተግበሪያው እርስዎ ሲጠቀሙበት ብቻ ነው የአካባቢው መዳረሻ የሚኖረው"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የዚህ መሣሪያ አካባቢን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የእርስዎን <b> <xliff:g id="DEVICE_NAME">%2$s</xliff:g> አካባቢ እንዲደርስ ይፈቀድለት?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> አካባቢ እንዲደርስ ይፈቀድ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ይህ መተግበሪያ አካባቢዎን ሁልጊዜ መድረስ ሊፈልግ ይችላል፣ እርስዎ በማይጠቀሙበት ጊዜም እንኳ። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ"</annotation>"።"</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"ለ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የመገኛ አካባቢ መዳረሻ ይለወጥ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የአካባቢ መዳረሻ ይለወጥ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የአካባቢ መዳረሻ ይለወጥ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ይህ መተግበሪያ አካባቢዎን ሁልጊዜ መድረስ ይፈልጋል፣ እርስዎ በማይጠቀሙበት ጊዜም እንኳ። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ"</annotation>"።"</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በአቅራቢያ ያሉ የመሣሪያዎች አንጻራዊ አቀማመጥን እንዲፈልግ፣ እንዲገናኝ እና እንዲወስን ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ በአቅራቢያ ያሉ መሣሪያዎችን አንጻራዊ አካባቢ ለመፈለግ፣ ለመገናኘት እና ለመወሰን ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ በአቅራቢያ ያሉ መሣሪያዎችን አንጻራዊ አካባቢ እንዲፈልግ፣ እንዲገናኝ እና እንዲወስን ይፈቀድ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በአቅራቢያ ያሉ የመሣሪያዎች አንጻራዊ አቀማመጥን እንዲፈልግ፣ እንዲገናኝ እና እንዲወስን ይፈቀድለት? "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"የ<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> አካባቢ መዳረሻ ከግምታዊ ወደ ትክክለኛ ይቀየር?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"የ<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> የአካባቢ መዳረሻ በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ከግምታዊ ወደ ትክክለኛ ይለወጥ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"የ<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> የአካባቢ መዳረሻ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ከግምታዊ ወደ ትክክለኛ ይለወጥ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የዚህን መሣሪያ ግምታዊ አካባቢ እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የእርስዎን የ<b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s ግምታዊ አካባቢ እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s ግምታዊ አካባቢን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ትክክለኛ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ግምታዊ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ቀን መቁጠሪያዎን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ቀን መቁጠሪያዎን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ቀን መቁጠሪያዎን <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የኤስኤምኤስ መልዕክቶችን እንዲልክ እና እንዲመለከት ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ የኤስኤምኤስ መልዕክቶችን እንዲልክ እና እንዲያይ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ የኤስኤምኤስ መልዕክቶች እንዲልክ እና እንዲመለከት ይፈቀድ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በመሣሪያዎ ላይ ያሉ ፎቶዎችን፣ ማህደረ መረጃን እና ፋይሎችን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ፎቶዎችን፣ ሚዲያን እና ፋይሎችን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ፎቶዎች፣ ሚዲያ እና ፋይሎችን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በመሣሪያዎ ላይ ያሉ <b>ፎቶዎችን፣ ቪዲዮዎችን፣ ሙዚቃን እና ኦዲዮን</b> እንዲደርስ ይፈቀድለት?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በመሣሪያዎ ላይ ያሉ <b>ፎቶዎችን፣ ቪዲዮዎችን፣ ሙዚቃን፣ ኦዲዮን፣ ቪዲዮዎችን እና ሌሎች ፋይሎችን</b> ዘንድ እንዲደርስ ይፈቀድለት?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በዚህ መሣሪያ ላይ ያለ ሙዚቃን እና ሌሎች የኦዲዮ ፋይሎችን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ሙዚቃን እና ኦዲዮን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ሙዚቃን እና ኦዲዮን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በዚህ መሣሪያ ላይ ያሉ ፎቶዎችን እና ቪዲዮዎችን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ፎቶዎችን እና ቪድዮዎችን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ፎቶዎችን እና ቪድዮዎችን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በዚህ መሣሪያ ላይ ያሉ ፎቶዎችን እና ቪድዮዎችን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ተጨማሪ ፎቶዎችን እና ቪድዮዎችን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ተጨማሪ ፎቶዎች እና ቪድዮዎችን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ኦዲዮን እንዲቀዳ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ኦዲዮ እንዲቀዳ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ኦዲዮ እንዲቀዳ ይፈቀድ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"መተግበሪያው ኦዲዮን መቅዳት የሚችለው መተግበሪያውን እርስዎ ሲጠቀሙበት ብቻ ነው"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ኦዲዮን እንዲቀዳ ይፈቀድለት?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ኦዲዮ እንዲቀዳ ይፈቀድለት?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ኦዲዮ እንዲቀዳ ይፈቀድ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ኦዲዮ መቅዳት ሊፈልግ ይችላል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ለ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የማይክራፎን መዳረሻ ይለወጥ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የማይክሮፎን መዳረሻ ይለወጥ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የማይክሮፎን መዳረሻ ይለወጥ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ኦዲዮ መቅዳት ይፈልጋል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የእርስዎን አካላዊ እንቅስቃሴ እንዲደርስበት ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ አካላዊ እንቅስቃሴዎን እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ስዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>? ላይ ሥዕሎችን እንዲያነሳ እና ቪድዮ እንዲቀርጽ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ አካላዊ እንቅስቃሴዎን እንዲደርስ ይፈቀድ?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ሥዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ሥዕሎችን እንዲያነሳ እና ቪድዮ እንዲቀርጽ ይፈቀድ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"መተግበሪያው ስዕሎችን ማንሳት እና ቪዲዮውን መቅዳት የሚችለው መተግበሪያውን እርስዎ ሲጠቀሙበት ብቻ ነው"</string> - <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ስዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>? ላይ ሥዕሎችን እንዲያነሳ እና ቪድዮ እንዲቀርጽ ይፈቀድለት?"</string> + <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ሥዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ሥዕሎችን እንዲያነሳ እና ቪድዮ እንዲቀርጽ ይፈቀድ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ሥዕሎችን ማንሳት እና ቪዲዮ መቅዳት ሊፈልግ ይችላል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"ለ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የካሜራ መዳረሻ ይለወጥ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የካሜራ መዳረሻ ይለወጥ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የካሜራ መዳረሻ ይለወጥ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ሥዕሎችን ማንሳት እና ቪዲዮ መቅዳት ይፈልጋል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"የእርስዎን ስልክ የጥሪ ምዝግብ ማስታወሻዎች <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> እንዲደርስበት ይፈቀድ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ የስልክ የጥሪ ምዝገባ ማስታወሻዎችዎን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ የስልክዎን የጥሪ ምዝገባ ማስታወሻዎችዎን እንዲደርስ ይፈቀድ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የስልክ ጥሪዎችን እንዲያደርግ እና እንዲያቀናብር ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ የስልክ ጥሪዎችን ማድረግ እና ማስተዳደር ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ የስልክ ጥሪዎችን እንዲያደርግ እና እንዲያስተዳድር ይፈቀድ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የሰውነትዎ መሠረታዊ ምልክቶች የዳሳሽ ውሂብ እንዲደርስ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ስለ መሠረታዊ ምልክቶችዎ የዳሳሽ ውሂብን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ስለ መሠረታዊ ምልክቶችዎ የዳሳሽ ውሂብን እንዲደርስ ይፈቀድ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ይህ መተግበሪያ የእርስዎን የመሠረታዊ ምልክቶች የዳሳሽ ውሂብን ሁልጊዜ መድረስ ይፈልጋል። ይህን ለውጥ ለማድረግ "<annotation id="link">"ወደ ቅንብሮች ይሂዱ።"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የሰውነትዎ መሠረታዊ ምልክቶች የዳሳሽ ውሂብ እንዲደርስ ይፈቀድለት?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ስለ መሠረታዊ ምልክቶችዎ የዳሳሽ ውሂቡን እንዲደርስ ይፈቀድለት?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ስለ መሠረታዊ ምልክቶችዎ የዳሳሽ ውሂቡን እንዲደርስ ይፈቀድ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"መተግበሪያውን በማይጠቀሙበት ጊዜ እንኳን ይህ መተግበሪያ የሰውነት ዳሳሽ ውሂብን ሁልጊዜ እንዲደርስ ለመፍቀድ "<annotation id="link">"ወደ ቅንብሮች ይሂዱ።"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"መተግበሪያ ሥራ ላይ በሚውልበት ጊዜ የሰውነት ዳሳሽ ውሂብን እንዲደርስ ለ<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> መፍቀድ ይቀጥሉ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"መተግበሪያ ጥቅም ላይ እየዋለ ሳለ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ የሰውነት ዳሳሽ ውሂብን እንዲደርስ መፍቀድ ይቀጥል?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"መተግበሪያው ሥራ ላይ እያለ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> የሰውነት ዳሳሽ ውሂብን <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ እንዲደርስ መፈቀድ ይቀጥል?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ለእርስዎ ማሳወቂያዎች እንዲልክ ይፈቀድለት?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> በእርስዎ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ላይ ማሳወቂያዎችን እንዲልክልዎ ይፈቀድለት?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ላይ ለእርስዎ ማሳወቂያዎችን እንዲልክልዎ ይፈቀድ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ቁጥጥር የሚደረግባችድው ፈቃዶች"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> የአካባቢ መዳረሻ አለው"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ድርጅትዎ <xliff:g id="APP_NAME">%1$s</xliff:g> አካባቢዎን እንዲደርስ ይፈቅዳል"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ምንም"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ባለፉት\n24 ሰዓታት"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ባለፉት\n7 ቀናት"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> በመቶ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> በAndroid የተጠበቀ ነው። በዚህ መሣሪያ ላይ የእርስዎ ውሂብ ስለተሰናዳ፣ የዚህ መተግበሪያ ፈቃድ አጠቃቀም በሁኔታ አሞሌ ወይም በግላዊነት ዳሽቦርድዎ ላይ አይታይም።"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> በAndroid የተጠበቀ ነው። በዚህ መሣሪያ ላይ የእርስዎ ውሂብ ስለተሰናዳ፣ የዚህ መተግበሪያ ፈቃድ አጠቃቀም በግላዊነት ዳሽቦርድዎ ላይ አይታይም።"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"የመሣሪያ ካሜራ ታግዷል"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ለመተግበሪያዎች እና አገልግሎቶች"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"እርስዎ ወደ አንድ የአደጋ ጊዜ ቁጥር ሲደውሉ የማይክሮፎን ውሂብ አሁንም ሊጋራ ይችላል።"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ቀይር"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"የካሜራ መዳረሻ ጠፍቷል"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ለአዝናኝ መረጃ መተግበሪያዎች"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ለሚፈለጉ መተግበሪያዎች"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ይህ መተግበሪያ ያስፈልጋል"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ይህ መተግበሪያ በመኪናዎ አምራች ይፈለጋል"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ደህንነት እና ግላዊነት"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"መሣሪያን ቃኝ"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"አሰናብት"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"የውሂብ ማጋራት ዝማኔዎች"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"አንዳንድ መተግበሪያዎች የእርስዎን የአካባቢ ውሂብ ሊያጋሩ የሚችሉበትን መንገድ ለውጠዋል"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ቅንብሮች"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"በ<xliff:g id="TIME_DATE">%1$s</xliff:g> ላይ ተደርስበታል"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ትላንት በ<xliff:g id="TIME_DATE">%1$s</xliff:g> ላይ ተደርስበታል"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"በ<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> ላይ ተደርስበታል"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"የአንድ ጊዜ የይለፍ ቃልዎ 132435 ነው"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"የተገደበ ቅንብር"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ለእርስዎ ደህንነት ሲባል ይህ ቅንብር በአሁኑ ጊዜ አይገኝም።"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"መተግበሪያ የ<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> መዳረሻ ተከልክሏል"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"መተግበሪያው የእርስዎን የግል እና የፋይናንስ መረጃ አደጋ ላይ የሚጥል አደገኛ ፈቃድ እንዲደርስ ጠይቋል።<xliff:g id="ID_1"><br><br></xliff:g>ያለዚህ የተገደበ ፈቃድ መተግበሪያው በትክክል ላይሰራ ይችላል። <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>እንዴት መዳረሻን እንደሚፈቅዱ ይረዱ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"መተግበሪያ ነባሪ <xliff:g id="ROLE_NAME">%1$s</xliff:g> የመሆን መዳረሻ ተከልክሏል"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"መተግበሪያው የእርስዎን የግል እና የፋይናንስ መረጃ አደጋ ላይ የሚጥል አደገኛ ፈቃድ እንዲደርስ ጠይቋል።<xliff:g id="ID_1"><br><br></xliff:g>ያለዚህ የተገደበ ፈቃድ መተግበሪያው በትክክል ላይሰራ ይችላል። <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>እንዴት መዳረሻን እንደሚፈቅዱ ይረዱ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"መተግበሪያ መዳረሻ ተከልክሏል"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"የዚህ ፈቃድ መዳረሻ የእርስዎን የግል እና የፋይናንስ መረጃ አደጋ ላይ ሊጥል ይችላል።<xliff:g id="ID_1"><br><br></xliff:g>ያለዚህ የተገደበ ፈቃድ መተግበሪያው በትክክል ላይሰራ ይችላል። <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>እንዴት መዳረሻን እንደሚፈቅዱ ይረዱ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"የበለጠ ለመረዳት"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"እሺ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"የፈቃድ ጥያቄ ታፍኗል"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ይህ መተግበሪያ ተጨማሪ ፈቃዶችን እየጠየቀ ነው፣ ነገር ግን ፈቃዶች በዥረት ክፍለ ጊዜ ውስጥ ሊሰጡ አይችሉም። መጀመሪያ በስልክዎ ላይ ፈቃድ ይስጡ።"</string> </resources> diff --git a/PermissionController/res/values-ar-v34/strings.xml b/PermissionController/res/values-ar-v34/strings.xml index 5a0d25e63..af7442dbd 100644 --- a/PermissionController/res/values-ar-v34/strings.xml +++ b/PermissionController/res/values-ar-v34/strings.xml @@ -22,6 +22,5 @@ <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"إدارة إمكانية وصول التطبيقات إلى البيانات الصحية"</string> <string name="location_settings" msgid="8863940440881290182">"الوصول إلى الموقع الجغرافي"</string> - <string name="mic_toggle_description" msgid="1504101620086616040">"للتطبيقات والخدمات: إذا كان هذا الخيار غير مفعّل، ستستمر إمكانية مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"للتطبيقات والخدمات"</string> + <string name="mic_toggle_description" msgid="1504101620086616040">"للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد تتم مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ"</string> </resources> diff --git a/PermissionController/res/values-ar-watch/strings.xml b/PermissionController/res/values-ar-watch/strings.xml index c49e30aa6..fe1bb345b 100644 --- a/PermissionController/res/values-ar-watch/strings.xml +++ b/PermissionController/res/values-ar-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"لا يمكن التغيير"</string> <string name="generic_yes" msgid="2489207724988649846">"نعم"</string> <string name="generic_cancel" msgid="2631708607129269698">"إلغاء"</string> + <string name="permission_access_always" msgid="2107115233573823032">"طوال الوقت"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"أثناء استخدام التطبيق"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"طوال الوقت"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"أثناء استخدام التطبيق"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"طوال الوقت"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"أثناء استخدام التطبيق"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"طوال الوقت"</string> </resources> diff --git a/PermissionController/res/values-ar/strings.xml b/PermissionController/res/values-ar/strings.xml index 47731ef8b..d20b1bea3 100644 --- a/PermissionController/res/values-ar/strings.xml +++ b/PermissionController/res/values-ar/strings.xml @@ -62,7 +62,7 @@ <string name="app_permissions" msgid="3369917736607944781">"أذونات التطبيقات"</string> <string name="unused_apps" msgid="2058057455175955094">"التطبيقات غير المستخدمة"</string> <string name="edit_photos_description" msgid="5540108003480078892">"تغيير الصور المتاحة لهذا التطبيق"</string> - <string name="no_unused_apps" msgid="12809387670415295">"ما مِن تطبيقات غير مستخدمة."</string> + <string name="no_unused_apps" msgid="12809387670415295">"ما مِن تطبيقات غير مستخدمة"</string> <string name="zero_unused_apps" msgid="9024448554157499748">"التطبيقات غير المستخدمة: 0"</string> <string name="review_permission_decisions" msgid="309559429150613632">"قرارات حديثة متعلقة بالأذونات"</string> <string name="review_permission_decisions_view_all" msgid="90391040431566130">"عرض كل القرارات الحديثة المتعلقة بالأذونات"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"كل الأذونات"</string> <string name="other_permissions" msgid="2901186127193849594">"إمكانات التطبيق الأخرى"</string> <string name="permission_request_title" msgid="8790310151025020126">"طلب الإذن"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"لا تتوافق إجراءات التثبيت/إلغاء التثبيت مع نظام Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"اختيار ما تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إليه"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"تمّ تحديث <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. وعليك اختيار ما تريد السماح لهذا التطبيق بالوصول إليه."</string> <string name="review_button_cancel" msgid="2191147944056548886">"إلغاء"</string> @@ -165,7 +163,7 @@ <string name="permission_usage_bar_chart_title_last_minute" msgid="820450867183487607">"استخدام الإذن خلال الدقيقة الماضية"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_days" msgid="4771868094611359651">"{count,plural, =1{لم يتم استخدام الإذن في اليوم السابق.}zero{لم يتم استخدام الإذن في الأيام الـ # السابقة.}two{لم يتم استخدام الإذن في اليومين السابقين.}few{لم يتم استخدام الإذن في الأيام الـ # السابقة.}many{لم يتم استخدام الإذن في الأيام الـ # السابقة.}other{لم يتم استخدام الإذن في الأيام الـ # السابقة.}}"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_hours" msgid="3828973177433435742">"{count,plural, =1{لم يتم استخدام الإذن خلال الساعة السابقة}zero{لم يتم استخدام الإذن خلال الساعات الـ # السابقة.}two{لم يتم استخدام الإذن خلال الساعتين السابقتين.}few{لم يتم استخدام الإذن خلال الساعات الـ # السابقة.}many{لم يتم استخدام الإذن خلال الساعات الـ # السابقة.}other{لم يتم استخدام الإذن خلال الساعات الـ # السابقة.}}"</string> - <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{يستخدِمه تطبيق واحد.}zero{يستخدِمه # تطبيق.}two{يستخدِمه تطبيقان.}few{يستخدِمه # تطبيقات.}many{يستخدِمه # تطبيقًا.}other{يستخدِمه # تطبيق.}}"</string> + <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{يستخدِمه تطبيق واحد}zero{يستخدِمه # تطبيق}two{يستخدِمه تطبيقان}few{يستخدِمه # تطبيقات}many{يستخدِمه # تطبيقًا}other{يستخدِمه # تطبيق}}"</string> <string name="permission_usage_view_details" msgid="6675335735468752787">"الاطّلاع على الكل في \"لوحة البيانات\""</string> <string name="app_permission_usage_filter_label" msgid="7182861154638631550">"تمّت الفلترة حسب: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_usage_remove_filter" msgid="2926157607436428207">"إزالة الفلتر"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"السماح بالكل دومًا"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"الطلب في كل مرة"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"عدم السماح"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"الموقع الجغرافي الدقيق"</string> <string name="approximate_image_description" msgid="938803699637069884">"الموقع الجغرافي التقريبي"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"استخدام الموقع الجغرافي الدقيق"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"عندما يكون الموقع الجغرافي الدقيق غير مفعّل، يمكن للتطبيقات الوصول إلى الموقع الجغرافي التقريبي."</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"عندما يكون الموقع الجغرافي الدقيق غير مفعّل، يمكن للتطبيقات الوصول إلى الموقع الجغرافي التقريبي"</string> <string name="app_permission_title" msgid="2090897901051370711">"إذن <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"منح هذا التطبيق الإذن بالوصول إلى <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"إذن \"<xliff:g id="PERM">%1$s</xliff:g>\" لهذا التطبيق على \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"الاطّلاع على جميع أذونات تطبيق \"<xliff:g id="APP">%1$s</xliff:g>\""</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"الاطّلاع على جميع التطبيقات التي لديها هذا الإذن"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"عرض أذونات استخدام ميكروفون \"مساعد Google\""</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"إزالة الأذونات في حال عدم استخدام التطبيق"</string> <string name="unused_apps_label" msgid="2595428768404901064">"إزالة الأذونات وإخلاء مساحة"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"إيقاف نشاط التطبيق مؤقتًا عند عدم استخدامه"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"إدارة التطبيق في حال عدم استخدامه"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"إزالة الأذونات وحذف الملفات المؤقتة وإيقاف الإشعارات"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"إزالة الأذونات وحذف الملفات المؤقتة وإيقاف الإشعارات وأرشفة التطبيق"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"لحماية بياناتك، ستتم إزالة أذونات هذا التطبيق إذا لم يتم استخدامه لبضعة أشهر."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"لحماية بياناتك، إذا لم يتم استخدام التطبيق لبضعة أشهر، ستتم إزالة الأذونات التالية: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"لحماية بياناتك، تمت إزالة الأذونات من هذه التطبيقات التي لم تستخدمها منذ بضعة أشهر."</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"تمت إزالة إذنَي \"<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g>\" و\"<xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>\"."</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"تمت إزالة إذن \"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>\" وعدد <xliff:g id="NUMBER">%2$s</xliff:g> من الأذونات الأخرى."</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"التطبيقات غير المستخدمة"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"في حال عدم استخدام التطبيق لبضعة أشهر:\n\n• تتم إزالة الأذونات لحماية بياناتك.\n• يتم إيقاف الإشعارات لتوفير شحن البطارية.\n• تتم إزالة الملفات المؤقتة لتوفير مساحة.\n\nلمنح الأذونات والسماح للتطبيقات مرة أخرى، افتح التطبيق."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"في حال عدم استخدام التطبيق لبضعة أشهر:\n\n• تتم إزالة الأذونات لحماية بياناتك\n• يتم إيقاف الإشعارات لتوفير شحن البطارية\n• تتم إزالة الملفات المؤقتة لتوفير مساحة\n\nلمنح الأذونات والسماح للتطبيقات مرة أخرى، افتح التطبيق."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"في حال عدم استخدام تطبيق لمدة شهر:\n\n• تتم إزالة الأذونات لحماية بياناتك.\n• تتم إزالة الملفات المؤقتة لإخلاء بعض المساحة.\n\nللسماح بالأذونات مرة أخرى، افتَح التطبيق."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{التطبيقات التي تم فتحها آخر مرة قبل أكثر من شهر واحد}zero{التطبيقات التي تم فتحها آخر مرة قبل أكثر من # شهر}two{التطبيقات التي تم فتحها آخر مرة قبل أكثر من شهرَين}few{التطبيقات التي تم فتحها آخر مرة قبل أكثر من # أشهر}many{التطبيقات التي تم فتحها آخر مرة قبل أكثر من # شهرًا}other{التطبيقات التي تم فتحها آخر مرة قبل أكثر من # شهر}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"آخر مرة تم فتح التطبيق فيها: <xliff:g id="DATE">%s</xliff:g>"</string> @@ -234,7 +237,7 @@ <string name="permission_description_summary_call_log" msgid="7321437186317577624">"يمكن للتطبيقات التي تحصل على هذا الإذن قراءة بيانات سجلّ مكالمات الهاتف وتعديلها."</string> <string name="permission_description_summary_camera" msgid="108004375101882069">"يمكن للتطبيقات التي تملك هذا الإذن التقاط صور وتسجيل فيديوهات."</string> <string name="permission_description_summary_contacts" msgid="2337798886460408996">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى جهات الاتصال الخاصة بك."</string> - <string name="permission_description_summary_location" msgid="2817531799933480694">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى الموقع الجغرافي لهذا الجهاز."</string> + <string name="permission_description_summary_location" msgid="2817531799933480694">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى الموقع الجغرافي لهذا الجهاز"</string> <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"تتمكن التطبيقات التي لديها هذا الإذن من العثور على الأجهزة المجاورة والربط بها وتحديد موضعها النسبي."</string> <string name="permission_description_summary_microphone" msgid="630834800308329907">"يمكن للتطبيقات التي لديها هذا الإذن تسجيل الصوت."</string> <string name="permission_description_summary_phone" msgid="4515277217435233619">"يمكن للتطبيقات التي لديها هذا الإذن إجراء مكالمات هاتفية وإدارتها."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"التطبيقات المسموح لها بإدارة كل الملفات"</string> <string name="ask_header" msgid="2633816846459944376">"الطلب في كل مرة"</string> <string name="denied_header" msgid="903209608358177654">"التطبيقات غير المسموح لها"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"\"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>\" على \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"الاطّلاع على تطبيقات أكثر يمكنها الوصول إلى كل الملفات"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{يوم واحد}zero{# يوم}two{يومان}few{# أيام}many{# يومًا}other{# يوم}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{ساعة واحدة}zero{# ساعة}two{ساعتان}few{# ساعات}many{# ساعةً}other{# ساعة}}"</string> @@ -317,7 +321,7 @@ <string name="permission_subtitle_media_only" msgid="8917869683764720717">"الوسائط"</string> <string name="permission_subtitle_all_files" msgid="4982613338298067862">"كل الملفات"</string> <string name="permission_subtitle_background" msgid="8916750995309083180">"مسموح بالوصول إليه طوال الوقت"</string> - <string name="app_perms_24h_access" msgid="99069906850627181">"تم استخدامه آخر مرة في <xliff:g id="TIME_DATE">%1$s</xliff:g>."</string> + <string name="app_perms_24h_access" msgid="99069906850627181">"تم استخدامه آخر مرة في <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> <string name="app_perms_24h_access_yest" msgid="5411926024794555022">"تم استخدامه آخر مرة أمس في <xliff:g id="TIME_DATE">%1$s</xliff:g>."</string> <string name="app_perms_7d_access" msgid="4945055548894683751">"تم الوصول آخر مرة بتاريخ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> في <xliff:g id="TIME_DATE_1">%2$s</xliff:g>."</string> <string name="app_perms_content_provider_24h" msgid="1055526027667508972">"تم الوصول للأذونات في آخر 24 ساعة."</string> @@ -337,7 +341,7 @@ <string name="app_perms_7d_access_all_files" msgid="8246193786397635824">"تم الوصول آخر مرة بتاريخ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> في <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • جميع الملفات"</string> <string name="app_perms_content_provider_24h_all_files" msgid="573104317727770850">"تم الوصول في آخر 24 ساعة • كل الملفات"</string> <string name="app_perms_content_provider_7d_all_files" msgid="7962416229708835558">"تم الوصول في آخر 7 أيام • جميع الملفات"</string> - <string name="no_permissions_allowed" msgid="6081976856354669209">"لم يتم منح أي أذونات."</string> + <string name="no_permissions_allowed" msgid="6081976856354669209">"لم يتم منح أي أذونات"</string> <string name="no_permissions_denied" msgid="8159923922804043282">"لم يتم رفض أي أذونات."</string> <string name="no_apps_allowed" msgid="7718822655254468631">"لم يتم السماح لأي تطبيقات."</string> <string name="no_apps_allowed_full" msgid="8011716991498934104">"ما من تطبيقات تم منحها إذن الوصول إلى جميع الملفات."</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"يمكن لهذه التطبيقات عرض شاشتك وإجراءاتك ومدخلاتك وتنفيذ الإجراءات والتحكم في العرض."</string> <string name="role_assistant_label" msgid="4727586018198208128">"تطبيق المساعد الرقمي التلقائي"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"تطبيق المساعد الرقمي"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"بإمكان التطبيقات المساعِدة مساعدتك استنادًا إلى المعلومات على الشاشة التي تشاهدها. وتتوافق بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"بإمكان التطبيقات المساعِدة مساعدك استنادًا إلى المعلومات التي تظهر على شاشتك. وتعمل بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string> <string name="role_browser_label" msgid="2877796144554070207">"تطبيق المتصفّح التلقائي"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"تطبيق المتصفح"</string> <string name="role_browser_description" msgid="3465253637499842671">"التطبيقات التي تتيح إمكانية الوصول إلى الإنترنت وتعرض روابط تنقر عليها"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"تطبيق تدوين الملاحظات"</string> <string name="role_notes_description" msgid="8496852798616883551">"التطبيقات التي تتيح لك تدوين ملاحظات على جهازك"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ملاحظات"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"تطبيق المحفظة التلقائي"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"تطبيق المحفظة"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"يمكن أن تخزِّن تطبيقات المحافِظ معلومات بطاقات الائتمان وبطاقات الولاء والمفاتيح الرقمية للسيارات وغيرها من المعلومات للمساعدة في إدارة أنواع المعاملات المختلفة."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"هل تريد ضبط \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" على أنّه تطبيق المحفظة التلقائي؟"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ما مِن أذونات مطلوبة."</string> <string name="request_role_current_default" msgid="738722892438247184">"التطبيق التلقائي الحالي"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"لا تسألني مرة أخرى."</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ضبط كتطبيق تلقائي"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"المزيد من الإعدادات التلقائية"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"فتح الروابط"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"التطبيقات التلقائية للعمل"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"التطبيقات التلقائية في المساحة الخاصّة"</string> <string name="default_app_none" msgid="9084592086808194457">"غير محدَّد"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(الإعداد التلقائي للنظام)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ليست هناك تطبيقات."</string> @@ -437,7 +447,7 @@ <string name="special_app_access" msgid="5019319067120213797">"أذونات خاصة للتطبيقات"</string> <string name="no_special_app_access" msgid="6950277571805106247">"لا إذن وصول خاص إلى التطبيق."</string> <string name="special_app_access_no_apps" msgid="4102911722787886970">"ليست هناك تطبيقات."</string> - <string name="home_missing_work_profile_support" msgid="1756855847669387977">"لا يتوافق التطبيق مع الملف الشخصي للعمل."</string> + <string name="home_missing_work_profile_support" msgid="1756855847669387977">"لا يتوافق التطبيق مع ملف العمل."</string> <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"ملاحظة: في حال إعادة تشغيل جهازك وضبط قفل شاشة، لا يمكن بدء هذا التطبيق إلى أن تفتح جهازك."</string> <string name="assistant_confirmation_message" msgid="7476540402884416212">"سيتمكّن المساعِد من قراءة المعلومات عن التطبيقات قيد الاستخدام على نظامك، بما في ذلك المعلومات المرئية على شاشتك أو التي يمكن الوصول إليها داخل التطبيقات."</string> <string name="incident_report_channel_name" msgid="3144954065936288440">"مشاركة بيانات تصحيح الأخطاء"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"عرض الرمز الخاص برصد تشغيل تطبيق مساعد"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"عرض الرمز في شريط الحالة عند استخدام الميكروفون لتفعيل المساعد الصوتي."</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالدخول إلى الصور والوسائط على جهازك؟"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الصور والوسائط على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى جهات الاتصال؟"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى جهات اتصالك على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> <string name="permgrouprequest_location" msgid="6990232580121067883">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي لهذا الجهاز؟"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي لجهاز <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"لن يكون بإمكان التطبيق الوصول إلى الموقع الجغرافي إلا عند استخدامك لهذا التطبيق."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي لهذا الجهاز؟"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي لجهاز <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>؟"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"قد يطلب هذا التطبيق الوصول الدائم إلى موقعك الجغرافي، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"هل تريد تغيير إمكانية الوصول إلى الموقع الجغرافي بالنسبة إلى <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>؟"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"هل تريد تغيير إذن وصول تطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى الموقع الجغرافي على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"يطلب هذا التطبيق الوصول الدائم إلى موقعك الجغرافي، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالعثور على الأجهزة المجاورة والربط بها وتحديد موضعها النسبي؟"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"هل تسمح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالعثور على الأجهزة المجاورة والربط بها وتحديد موضعها النسبي على <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالعثور على الأجهزة المجاورة والربط بها وتحديد موضعها النسبي؟ "<annotation id="link">"يمكنك السماح بذلك في \"الإعدادات\"."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"هل تريد تغيير إذن وصول <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> من الموقع الجغرافي التقريبي إلى الموقع الجغرافي الدقيق؟"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"هل تريد تغيير إذن وصول تطبيق \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" إلى الموقع الجغرافي ليكون دقيقًا بدلاً من كونه تقريبيًّا على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي التقريبي لهذا الجهاز؟"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموقع الجغرافي التقريبي لجهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"دقيق"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"تقريبي"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى التقويم؟"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى تقويمك على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإرسال رسائل SMS وعرضها؟"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإرسال الرسائل القصيرة SMS وعرضها على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الصور والوسائط والملفات على جهازك؟"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الصور والوسائط والملفات على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"هل تسمح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى <b>الصور والفيديوهات والموسيقى والملفات الصوتية</b> على هذا الجهاز؟"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"هل تسمح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى <b>الصور والفيديوهات والموسيقى والملفات الصوتية وملفات أخرى</b> على هذا الجهاز؟"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"هل تريد السماح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى المقاطع الموسيقية والملفات الصوتية على هذا الجهاز؟"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الموسيقى والملفات الصوتية على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"هل تريد السماح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى الصور والفيديوهات على هذا الجهاز؟"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى الصور والفيديوهات على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"هل تريد السماح بوصول تطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى المزيد من الصور والفيديوهات على هذا الجهاز؟"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى مزيد من الصور والفيديوهات على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بتسجيل الصوت؟"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بتسجيل الصوت على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"لن يتمكن هذا التطبيق من تسجيل الصوت إلا عندما يكون قيد الاستخدام"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بتسجيل الصوت؟"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بتسجيل الصوت على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"قد يحتاج هذا التطبيق إلى تسجيل الصوت طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"هل تريد تغيير إذن الوصول إلى الميكروفون بالنسبة إلى <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>؟"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"هل تريد تغيير إذن وصول تطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى الميكروفون على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"يحتاج هذا التطبيق إلى تسجيل الصوت طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"هل تريد السماح للتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى بيانات نشاطك البدني؟"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى بيانات نشاطك البدني على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالتقاط صور وتسجيل فيديوهات؟"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالتقاط الصور وتسجيل الفيديوهات على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"هل يمكنك السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالتقاط صور وتسجيل فيديوهات؟"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"لن يتمكن هذا التطبيق من التقاط صور وتسجيل فيديوهات إلا عندما يكون قيد الاستخدام"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالتقاط صور وتسجيل فيديوهات؟"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالتقاط الصور وتسجيل الفيديوهات على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"قد يحتاج هذا التطبيق إلى التقاط صور وتسجيل فيديوهات طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"هل تريد تغيير إذن الوصول إلى الكاميرا بالنسبة إلى <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>؟"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"هل تريد تغيير إذن وصول تطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى الكاميرا على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"يحتاج هذا التطبيق إلى التقاط صور وتسجيل فيديوهات طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى سجلّ مكالماتك الهاتفية؟"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى سجلّ مكالمات الهاتف على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> <string name="permgrouprequest_phone" msgid="1829234136997316752">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإجراء المكالمات الهاتفية وإدارتها؟"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإجراء المكالمات الهاتفية وإدارتها على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى بيانات استشعار مؤشراتك الحيوية؟"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"هل تريد السماح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى بيانات جهاز الاستشعار المتعلّقة بالمؤشرات الحيوية على <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"يطلب هذا التطبيق الوصول الدائم إلى بيانات جهاز الاستشعار المتعلّقة بالمؤشرات الحيوية، حتى في حال عدم استخدامك للتطبيق. لإجراء هذا التغيير، "<annotation id="link">"انتقِل إلى الإعدادات."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بالوصول إلى بيانات استشعار مؤشراتك الحيوية؟"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"هل تريد السماح بوصول <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> إلى بيانات جهاز الاستشعار المتعلّقة بالمؤشرات الحيوية على <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"للسماح لهذا التطبيق بالوصول إلى بيانات أجهزة استشعار الجسم دائمًا وحتى عند عدم استخدامك للتطبيق، "<annotation id="link">"انتقِل إلى الإعدادات"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"هل تريد مواصلة السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> عند استخدامه بالوصول إلى بيانات أجهزة استشعار الجسم؟"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"هل تريد مواصلة السماح بوصول تطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> المستخدَم إلى بيانات جهاز استشعار الجسم على <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإرسال إشعارات إليك؟"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"هل تريد السماح لتطبيق <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بإرسال إشعارات إليك على جهاز <b><xliff:g id="DEVICE">%2$s</xliff:g></b>؟"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"الأذونات خاضعة لتحكّم المشرف"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"تطبيق \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" مسموح له بالوصول إلى الموقع الجغرافي"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"تسمح مؤسستك لتطبيق \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" بالوصول إلى موقعك الجغرافي."</string> @@ -541,14 +578,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"بلا أذونات"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"آخر\n24 ساعة"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"آخر\n7 أيام"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> في المئة"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> محمي بواسطة Android. لأن بياناتك تتم معالجتها على هذا الجهاز، لا يظهر استخدام إذن هذا التطبيق في شريط الحالة أو لوحة بيانات الخصوصية."</string> <string name="exempt_info_label" msgid="6286190981253476699">"تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> محمي بواسطة Android. لأن بياناتك تتم معالجتها على هذا الجهاز، لا يظهر استخدام إذن هذا التطبيق في لوحة بيانات الخصوصية."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"كاميرا الجهاز محظورة"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"ميكروفون الجهاز محظور"</string> - <string name="blocked_location_title" msgid="2005608279812892383">"ميزة الموقع الجغرافي للجهاز غير مفعّلة."</string> + <string name="blocked_location_title" msgid="2005608279812892383">"ميزة الموقع الجغرافي للجهاز غير مفعّلة"</string> <string name="blocked_sensor_summary" msgid="4443707628305027375">"للتطبيقات والخدمات"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"لا يزال يمكن مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"تغيير"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"إذن الوصول إلى الكاميرا غير مفعَّل"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"لتطبيقات المعلومات والترفيه"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"للتطبيقات المطلوبة"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"يجب استخدام هذا التطبيق"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"تتطلّب الشركة المصنِّعة لسيارتك استخدام هذا التطبيق"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"الأمان والخصوصية"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"فحص الجهاز"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"إغلاق"</string> @@ -565,7 +608,7 @@ <string name="privacy_controls_qs" msgid="5780144882040591169">"عناصر التحكّم في خصوصيتك"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"إعدادات إضافية"</string> <string name="camera_toggle_label_qs" msgid="3880261453066157285">"الوصول إلى الكاميرا"</string> - <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"الوصول إلى الميكروفون"</string> + <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"الوصول للميكروفون"</string> <string name="permissions_removed_qs" msgid="8957319130625294572">"تمت إزالة الإذن."</string> <string name="camera_usage_qs" msgid="4394233566086665994">"عرض بيانات استخدام حديثة للكاميرا"</string> <string name="microphone_usage_qs" msgid="8527666682168170417">"عرض بيانات استخدام حديثة للميكروفون"</string> @@ -609,10 +652,10 @@ <string name="camera_toggle_title" msgid="1251201397431837666">"الوصول إلى الكاميرا"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"الوصول إلى الميكروفون"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"للتطبيقات والخدمات"</string> - <string name="mic_toggle_description" msgid="9163104307990677157">"بالنسبة للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد يظل بالإمكان مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string> + <string name="mic_toggle_description" msgid="9163104307990677157">"للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد تتم مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ"</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"عرض التطبيقات والخدمات التي يمكنها الوصول إلى الموقع الجغرافي"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"عرض إشعار عند الوصول إلى الحافظة"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"عرض رسالة عندما يصل التطبيق إلى نص أو صور أو محتوى آخر تم نسخه"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"عرض رسالة عندما يصل التطبيق إلى نص أو صور أو محتوى آخر نسخته"</string> <string name="show_password_title" msgid="2877269286984684659">"عرض كلمات المرور"</string> <string name="show_password_summary" msgid="1110166488865981610">"عرض الأحرف لفترة وجيزة أثناء الكتابة"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"وضَّح هذا التطبيق أنه يمكنه مشاركة بيانات الموقع الجغرافي مع جهات خارجية."</string> @@ -644,8 +687,24 @@ <string name="shares_location_with_third_parties" msgid="2278051743742057767">"تتم الآن مشاركة بيانات موقعك الجغرافي مع جهات خارجية."</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"تتم الآن مشاركة بيانات موقعك الجغرافي مع جهات خارجية بهدف الإعلان أو التسويق."</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{تم التعديل خلال آخر 24 ساعة}=1{تم التعديل خلال آخر 24 ساعة}two{تم التعديل خلال آخر يومَين}few{تم التعديل خلال آخر # أيام}many{تم التعديل خلال آخر # يومًا}other{تم التعديل خلال آخر # يوم}}"</string> - <string name="no_updates_at_this_time" msgid="9031085635689982935">"ما مِن تعديلات في الوقت الحالي."</string> + <string name="no_updates_at_this_time" msgid="9031085635689982935">"ما مِن تعديلات في الوقت الحالي"</string> <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"تعديلات مشاركة البيانات"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"غيّرت بعض التطبيقات الطريقة التي قد تشارك بها بيانات موقعك الجغرافي."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"الإعدادات"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"آخر استخدام للإذن: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"آخر استخدام للإذن أمس: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"آخر استخدام للإذن في <xliff:g id="TIME_DATE_0">%1$s</xliff:g>: <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"كلمة المرور الصالحة لمرة واحدة هي 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"الإعداد محظور"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"للحفاظ على أمانك، هذا الإعداد غير متوفِّر حاليًا."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"تم منع التطبيق من الوصول إلى <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"طلب التطبيق أحد أذونات الوصول إلى المعلومات الحساسة، ما قد يعرّض معلوماتك الشخصية والمالية للخطر.<xliff:g id="ID_1"><br><br></xliff:g>من المحتمل ألا يعمل التطبيق بشكل صحيح إذا لم يحصل على هذا الإذن المقيَّد. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>مزيد من المعلومات حول كيفية منح الأذونات</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"لم يتم السماح للتطبيق بأن يُستخدَم كـ <xliff:g id="ROLE_NAME">%1$s</xliff:g> تلقائيًا"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"طلب التطبيق أذونات الوصول إلى المعلومات الحساسة، ما قد يعرّض معلوماتك الشخصية والمالية للخطر.<xliff:g id="ID_1"><br><br></xliff:g>من المحتمل ألا يعمل التطبيق بشكل صحيح إذا لم يحصل على هذه الأذونات المقيَّدة. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>مزيد من المعلومات حول كيفية منح الأذونات</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"تم منع التطبيق من الوصول"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"إذا منحت التطبيق هذا الإذن، يمكن أن تتعرّض معلوماتك الشخصية والمالية للخطر.<xliff:g id="ID_1"><br><br></xliff:g>من المحتمل ألا يعمل التطبيق بشكل صحيح إذا لم يحصل على هذا الإذن المقيَّد. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>مزيد من المعلومات حول كيفية منح الأذونات</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"مزيد من المعلومات"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"حسنًا"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"تم إلغاء طلب الحصول على الإذن"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"يطلب هذا التطبيق الحصول على أذونات إضافية، ولكن لا يمكن منح أذونات في جلسة بث. امنح الإذن على هاتفك أولاً."</string> </resources> diff --git a/PermissionController/res/values-as-v34/strings.xml b/PermissionController/res/values-as-v34/strings.xml index 219f79370..e0acecb4f 100644 --- a/PermissionController/res/values-as-v34/strings.xml +++ b/PermissionController/res/values-as-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"স্বাস্থ্য সম্পৰ্কীয় ডেটালৈ এপৰ এক্সেছ পৰিচালনা কৰক"</string> <string name="location_settings" msgid="8863940440881290182">"অৱস্থানৰ এক্সেছ"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"এপ্ আৰু সেৱাৰ বাবে। এই ছেটিংটো অফ হৈ থাকিলে, আপুনি কোনো জৰুৰীকালীন নম্বৰলৈ কল কৰিলে মাইক্ৰ’ফ’নৰ ডেটা তথাপি শ্বেয়াৰ কৰা হ’ব পাৰে"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"এপ্ আৰু সেৱাৰ বাবে"</string> </resources> diff --git a/PermissionController/res/values-as-watch/strings.xml b/PermissionController/res/values-as-watch/strings.xml index 314a08e71..ee41e21d6 100644 --- a/PermissionController/res/values-as-watch/strings.xml +++ b/PermissionController/res/values-as-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"সলনি কৰিব নোৱাৰি"</string> <string name="generic_yes" msgid="2489207724988649846">"হয়"</string> <string name="generic_cancel" msgid="2631708607129269698">"বাতিল কৰক"</string> + <string name="permission_access_always" msgid="2107115233573823032">"সকলো সময়তে"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"এপ্টো ব্যৱহাৰ কৰা সময়ত"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"সকলো সময়তে"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"এপ্টো ব্যৱহাৰ কৰা সময়ত"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"সকলো সময়তে"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"এপ্টো ব্যৱহাৰ কৰা সময়ত"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"সকলো সময়তে"</string> </resources> diff --git a/PermissionController/res/values-as/strings.xml b/PermissionController/res/values-as/strings.xml index 162b4a8ff..d07955fd7 100644 --- a/PermissionController/res/values-as/strings.xml +++ b/PermissionController/res/values-as/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"সকলো অনুমতি"</string> <string name="other_permissions" msgid="2901186127193849594">"অন্য এপৰ কার্যক্ষমতা"</string> <string name="permission_request_title" msgid="8790310151025020126">"অনুমতি বিচাৰি কৰা অনুৰোধ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ইনষ্টল/আনইনষ্টল কাৰ্য Wearত কৰিব নোৱাৰি।"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক ক’ত এক্সেছ দিব লাগে বাছনি কৰক"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> আপডে’ট কৰা হৈছে। এই এপক ক’ত এক্সেছ দিব লাগে বাছনি কৰক।"</string> <string name="review_button_cancel" msgid="2191147944056548886">"বাতিল কৰক"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"আটাইবোৰকে সদায় অনুমতি দিয়ক"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"প্ৰতিবাৰতে সোধক"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"অনুমতি নিদিব"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"সঠিক অৱস্থান"</string> <string name="approximate_image_description" msgid="938803699637069884">"আনুমানিক অৱস্থান"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"সঠিক অৱস্থান ব্যৱহাৰ কৰক"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"সঠিক অৱস্থানটো অফ থাকিলে, এপে আপোনাৰ আনুমানিক অৱস্থান এক্সেছ কৰিব পাৰে"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>ৰ অনুমতি"</string> <string name="app_permission_header" msgid="2951363137032603806">"এই এপ্টোৰ বাবে <xliff:g id="PERM">%1$s</xliff:g>ৰ এক্সেছ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>ত এই এপৰ <xliff:g id="PERM">%1$s</xliff:g>ৰ এক্সেছ"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"আটাইবোৰ <xliff:g id="APP">%1$s</xliff:g> অনুমতি চাওক"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"এই অনুমতি থকা আটাইবোৰ এপ্ চাওক"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"সহায়ক মাইক্ৰ’ফ’নৰ ব্যৱহাৰ দেখুৱাওক"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"যদি এপ্টো ব্যৱহাৰ কৰা নাই অনুমতিসমূহ আঁতৰাওক"</string> <string name="unused_apps_label" msgid="2595428768404901064">"অনুমতি আঁতৰাওক আৰু ঠাই খালী কৰক"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"অব্যৱহৃত হৈ থাকিলে এপৰ কাৰ্যকলাপ পজ কৰক"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"যদি ব্যৱহাৰ হোৱা নাই এপ্টো পৰিচালনা কৰক"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"অনুমতি আঁতৰাওক, অস্থায়ী ফাইল মচক আৰু জাননী বন্ধ কৰক"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"অনুমতি আঁতৰাওক, অস্থায়ী ফাইল মচক, জাননী বন্ধ কৰক আৰু এপ্টো আৰ্কাইভ কৰক"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"আপোনাৰ ডেটা সুৰক্ষিত কৰিবলৈ এই এপ্টো কেইমাহমান ব্যৱহাৰ নকৰিলে এইটোৰ বাবে থকা অনুমতিসমূহ আঁতৰোৱা হ\'ব।"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"আপোনাৰ ডেটা সুৰক্ষিত কৰিবলৈ এই এপ্টো কেইমাহমান ব্যৱহাৰ নকৰিলে তলত উল্লেখ কৰা অনুমতিসমূহ আঁতৰোৱা হ\'ব: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"আপোনাৰ ডেটা সুৰক্ষিত কৰিবলৈ আপুনি কেইমাহমান ব্যৱহাৰ নকৰা এপ্সমূহৰ পৰা অনুমতিসমূহ আঁতৰোৱা হ\'ব।"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"আটাইবোৰ ফাইল পৰিচালনা কৰিবলৈ অনুমতি আছে"</string> <string name="ask_header" msgid="2633816846459944376">"প্ৰতিবাৰতে সোধক"</string> <string name="denied_header" msgid="903209608358177654">"অনুমতি নাই"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>ত <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"আটাইবোৰ ফাইল এক্সেছ কৰিব পৰা অধিক এপ্ চাওক"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{১ দিন}one{# দিন}other{# দিন}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ঘণ্টা}one{# ঘণ্টা}other{# ঘণ্টা}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"টোকা লোৱা এপ্"</string> <string name="role_notes_description" msgid="8496852798616883551">"আপোনাক আপোনাৰ ডিভাইচত টোকা ল’বলৈ দিয়া এপ্সমূহ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"টোকা"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ডিফ’ল্ট Wallet এপ্"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet এপ্"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet এপে বিভিন্ন ধৰণৰ লেনদেনত সহায় কৰিবলৈ আপোনাৰ ক্ৰেডিট আৰু লয়েল্টী কাৰ্ড, গাড়ীৰ চাবি আৰু আন বস্তু ষ্ট’ৰ কৰিব পাৰে।"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>ক আপোনাৰ ডিফ’ল্ট Wallet এপ্ হিচাপে ছেট কৰিবনে?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"কোনো অনুমতিৰ প্ৰয়োজন নাই"</string> <string name="request_role_current_default" msgid="738722892438247184">"বৰ্তমানৰ ডিফ’ল্ট"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"পুনৰায় নুসুধিব"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ডিফ’ল্ট ৰূপে ছেট কৰক"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"অধিক ডিফ’ল্ট"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"লিংকসমূহ খুলি থকা হৈছে"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"কৰ্মস্থানৰ বাবে ডিফ’ল্ট"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"প্ৰাইভেট স্পে’চৰ বাবে ডিফ’ল্ট"</string> <string name="default_app_none" msgid="9084592086808194457">"নাই"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ছিষ্টেম ডিফ\'ল্ট)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"কোনো এপ্ নাই"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"সহায়কৰ ট্ৰিগাৰ চিনাক্তকৰণ দেখুৱাওক"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ভইচ এছিষ্টেণ্ট সক্ৰিয় কৰিবলৈ মাইক্ৰফ’ন ব্যৱহাৰ কৰিলে স্থিতি দণ্ডত দেখুৱাওক"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ ডিভাইচত থকা ফট’ আৰু মিডিয়া চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত থকা ফট’ আৰু মিডিয়া এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত থকা ফট’ আৰু মিডিয়া এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ সম্পৰ্কসূচী চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ সম্পৰ্কসমূহ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ সম্পৰ্কসমূহ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোৰ অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ৰ অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ৰ</b> অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"আপুনি এই এপ্ ব্যৱহাৰ কৰি থকাৰ সময়তহে ই আপোনাৰ অৱস্থান এক্সেছ কৰিব পাৰে"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোৰ অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ৰ অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ৰ</b> অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"এই এপ্টোৱে সকলো সময়তে আপোনাৰ অৱস্থান এক্সেছ কৰিবলৈ বিচাৰিব পাৰে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকা সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে অৱস্থানৰ এক্সেছ সলনি কৰিবনে?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে অৱস্থানৰ এক্সেছ সলনি কৰিবনে?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে অৱস্থানৰ এক্সেছ সলনি কৰিবনে?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"এই এপ্টোৱে সকলো সময়তে আপোনাৰ অৱস্থান এক্সেছ কৰিবলৈ বিচাৰে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকা সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক বিচাৰিবলৈ, সংযোগ কৰিবলৈ আৰু নিকটৱৰ্তী ডিভাইচৰ আপেক্ষিক স্থান নিৰ্ধাৰণ কৰিবলৈ দিবনে?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত নিকটৱৰ্তী ডিভাইচসমূহ বিচাৰিবলৈ, সংযোগ কৰিবলৈ আৰু সেইসমূহৰ প্ৰাসংগিক অৱস্থান নিৰ্ধাৰণ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত নিকটৱৰ্তী ডিভাইচসমূহ বিচাৰিবলৈ, সংযোগ কৰিবলৈ আৰু সেইসমূহৰ প্ৰাসংগিক অৱস্থান নিৰ্ধাৰণ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক বিচাৰিবলৈ, সংযোগ কৰিবলৈ আৰু নিকটৱৰ্তী ডিভাইচৰ আপেক্ষিক স্থান নিৰ্ধাৰণ কৰিবলৈ দিবনে? "<annotation id="link">"ছেটিঙত অনুমতি প্ৰদান কৰক।"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ৰ অৱস্থানৰ এক্সেছ আনুমানিকৰ পৰা সঠিকলৈ সলনি কৰিবনে?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ৰ অৱস্থানৰ এক্সেছ আনুমানিকৰ পৰা সঠিকলৈ সলনি কৰিবনে?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ৰ অৱস্থানৰ এক্সেছ আনুমানিকৰ পৰা সঠিকলৈ সলনি কৰিবনে?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোৰ আনুমানিক অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ৰ আনুমানিক অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ৰ আনুমানিক অৱস্থান এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"সঠিক"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"আনুমানিক"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ কেলেণ্ডাৰ চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ কেলেণ্ডাৰ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ কেলেণ্ডাৰ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এছএমএছ বাৰ্তা পঠিয়াবলৈ আৰু চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত এছএমএছ বাৰ্তা পঠিয়াবলৈ আৰু চাবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত এছএমএছ বাৰ্তা পঠিয়াবলৈ আৰু চাবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ ডিভাইচত থকা ফট\', মিডিয়া আৰু ফাইল চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত থকা ফট’ মিডিয়া আৰু ফাইল এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত থকা ফট’, মিডিয়া আৰু ফাইল এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোত থকা <b>ফট’, ভিডিঅ’, সংগীত আৰু অডিঅ’</b> এক্সেছ কৰিবলৈ দিবনে?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোত থকা <b>ফট’, ভিডিঅ’, সংগীত, অডিঅ’ আৰু অন্য ফাইল</b> এক্সেছ কৰিবলৈ দিবনে?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোত থকা সংগীত আৰু অডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত থকা সংগীত আৰু অডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত থকা সংগীত আৰু অডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোত থকা ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত থকা ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত থকা ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এই ডিভাইচটোত থকা অধিক ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত থকা অধিক ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আৰু ফট’ আৰু ভিডিঅ’ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক অডিঅ\' ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত অডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত অডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"আপুনি এই এপ্টো ব্যৱহাৰ কৰি থকাৰ সময়তহে কেৱল ই অডিঅ’ ৰেকৰ্ড কৰিব পাৰিব"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক অডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত অডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত অডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"এই এপ্টোৱে সকলো সময়তে অডিঅ’ ৰেকৰ্ড কৰিবলৈ বিচাৰিব পাৰে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকাৰ সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে মাই’ক্ৰ’নৰ এক্সেছ সলনি কৰিবনে?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে মাইক্ৰ’ফ’নৰ এক্সেছ সলনি কৰিবনে?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে মাইক্ৰ’ফ’নৰ এক্সেছ সলনি কৰিবনে?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"এই এপ্টোৱে সকলো সময়তে অডিঅ’ ৰেকৰ্ড কৰিবলৈ বিচাৰিছে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকাৰ সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"আপোনাৰ শাৰীৰিক কাৰ্যকলাপ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক এক্সেছ কৰাৰ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ শাৰীৰিক কাৰ্যকলাপ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ শাৰীৰিক কাৰ্যকলাপৰ তথ্য এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক ছবি তুলিবলৈ আৰু ভিডিঅ\' ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"আপুনি এই এপ্টো ব্যৱহাৰ কৰি থকাৰ সময়তহে কেৱল ই ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিব পাৰিব।"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"এই এপ্টোৱে সকলো সময়তে ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ বিচাৰিব পাৰে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকাৰ সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে কেমেৰাৰ এক্সেছ সলনি কৰিবনে?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে কেমেৰাৰ এক্সেছ সলনি কৰিবনে?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ৰ বাবে কেমেৰাৰ এক্সেছ সলনি কৰিবনে?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"এই এপ্টোৱে সকলো সময়তে ফট’ তুলিবলৈ আৰু ভিডিঅ’ ৰেকৰ্ড কৰিবলৈ বিচাৰিছে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকাৰ সময়তো। "<annotation id="link">"ছেটিঙত অনুমতি দিয়ক।"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ ফ\'ন কল লগ চাবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ ফ’নৰ কল লগ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ ফ’নৰ কল লগ এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক ফ\'ন কল কৰিবলৈ আৰু পৰিচালনা কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত ফ’ন কল কৰিবলৈ আৰু পৰিচালনা কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত ফ’ন কল কৰিবলৈ আৰু পৰিচালনা কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ অৱস্থাৰ বিষয়ে ছেন্সৰৰ ডেটা লাভ কৰিবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ বিষয়ে ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ বিষয়ে ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"এই এপ্টোৱে সকলো সময়তে আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগৰ বিষয়ে ছেন্সৰৰ ডেটাৰ এক্সেছ বিচাৰে, আনকি আপুনি এপ্টো ব্যৱহাৰ কৰি নথকাৰ সময়তো। এই সালসলনিটো কৰিবলৈ, "<annotation id="link">"ছেটিঙলৈ যাওক।"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ অৱস্থাৰ বিষয়ে ছেন্সৰৰ ডেটাৰ এক্সেছ পাবলৈ অনুমতি দিবনে?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ বিষয়ে ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ বিষয়ে ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"এই এপ্টোক আপুনি এইটো ব্যৱহাৰ কৰি নথকা সময়কো ধৰি সকলো সময়তে শৰীৰৰ ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ দিবলৈ, "<annotation id="link">"ছেটিঙলৈ যাওক।"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"এপ্টো ব্যৱহাৰ কৰি থকাৰ সময়ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক শৰীৰৰ ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দি থাকিবনে?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"এপ্টো ব্যৱহাৰ কৰি থকাৰ সময়ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত শৰীৰৰ ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দি থাকিবনে?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"এপ্টো ব্যৱহাৰ হৈ থকাৰ সময়ত <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত শৰীৰৰ ছেন্সৰৰ ডেটা এক্সেছ কৰিবলৈ অনুমতি দি থাকিবনে?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনালৈ জাননী পঠিয়াবলৈ অনুমতি দিবনে?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক আপোনাৰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ত আপোনালৈ জাননী পঠিয়াবলৈ অনুমতি দিবনে?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ক <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ত আপোনালৈ জাননী পঠিয়াবলৈ অনুমতি দিবনে?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"নিয়ন্ত্ৰিত অনুমতিসমূহ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ অৱস্থানৰ এক্সেছ আছে"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"আপোনাৰ প্ৰতিষ্ঠানে <xliff:g id="APP_NAME">%1$s</xliff:g>ক আপোনাৰ অৱস্থান এক্সেছ কৰাৰ অনুমতি দিয়ে"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"নাই"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"বিগত\n২৪ ঘণ্টা"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"যোৱা\n৭ দিনত"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> শতাংশ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> Androidৰ দ্বাৰা সুৰক্ষিত। আপোনাৰ ডেটাখিনি এই ডিভাইচটোত প্ৰক্ৰিয়াকৰণ কৰা হয় বাবে স্থিতি দণ্ডত অথবা আপোনাৰ গোপনীয়তাৰ ডেশ্বব’ৰ্ডত এই এপ্টোৰ অনুমতিৰ ব্যৱহাৰ দেখুওৱা নহয়।"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Androidৰ দ্বাৰা সুৰক্ষিত। আপোনাৰ ডেটাখিনি এই ডিভাইচটোত প্ৰক্ৰিয়াকৰণ কৰা হয় বাবে আপোনাৰ গোপনীয়তাৰ ডেশ্বব’ৰ্ডত এই এপ্টোৰ অনুমতিৰ ব্যৱহাৰ দেখুওৱা নহয়।"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ডিভাইচৰ কেমেৰা অৱৰোধ কৰা আছে"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"এপ্ আৰু সেৱাৰ বাবে"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"আপুনি কোনো জৰুৰীকালীন নম্বৰত কল কৰিলে মাইক্ৰ’ফ’নৰ ডেটা তথাপি শ্বেয়াৰ কৰা হ’ব পাৰে।"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"সলনি কৰক"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"কেমেৰাৰ এক্সেছ অফ আছে"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ইনফ’টেইনমেণ্ট এপ্সমূহৰ বাবে"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"আৱশ্যকীয় এপ্সমূহৰ বাবে"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"এই এপ্টো আৱশ্যকীয়"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"এই এপ্টো আপোনাৰ গাড়ী নিৰ্মাতাৰ বাবে আৱশ্যকীয়"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"সুৰক্ষা আৰু গোপনীয়তা"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ডিভাইচ স্কেন কৰক"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"অগ্ৰাহ্য কৰক"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ডেটা শ্বেয়াৰ কৰা সম্পৰ্কীয় আপডে’ট"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"কিছুমান এপে আপোনাৰ অৱস্থানৰ ডেটা শ্বেয়াৰ কৰিব পৰাৰ ধৰণসমূহ সলনি কৰিছে"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ছেটিং"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>ত এক্সেছ কৰিছিল"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"কালি <xliff:g id="TIME_DATE">%1$s</xliff:g>ত এক্সেছ কৰিছিল"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>ত এক্সেছ কৰিছিল"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"আপোনাৰ এবাৰ ব্যৱহাৰযোগ্য পাছৱর্ড হৈছে ১৩২৪৩৫"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"প্ৰতিবন্ধিত ছেটিং"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"আপোনাৰ সুৰক্ষাৰ বাবে, এই ছেটিংটো বৰ্তমান উপলব্ধ নহয়।"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"এপ্টোক <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>ৰ এক্সেছ প্ৰত্যাখ্যান কৰা হৈছে"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"এপ্টোৱে সংবেদনশীল অনুমতি এক্সেছ কৰিবলৈ অনুৰোধ কৰিছে, যিটোৱে আপোনাৰ ব্যক্তিগত আৰু বিত্তীয় তথ্য বিপদাপন্ন কৰিব পাৰে।<xliff:g id="ID_1"><br><br></xliff:g>এপ্টোৱে এই প্ৰতিবন্ধিত অনুমতিটোৰ অবিহনে সঠিককৈ কাম নকৰাটো সম্ভৱ হ’ব পাৰে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কেনেকৈ এক্সেছৰ অনুমতি দিব লাগে জানক</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"এপ্টোক ডিফ’ল্ট <xliff:g id="ROLE_NAME">%1$s</xliff:g>ৰ এক্সেছ প্ৰত্যাখ্যান কৰা হৈছে"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"এপ্টোৱে সংবেদনশীল অনুমতিসমূহ এক্সেছ কৰিবলৈ অনুৰোধ কৰিছে, যিটোৱে আপোনাৰ ব্যক্তিগত আৰু বিত্তীয় তথ্য বিপদাপন্ন কৰিব পাৰে।<xliff:g id="ID_1"><br><br></xliff:g>এপ্টোৱে এই প্ৰতিবন্ধিত অনুমতিসমূহৰ অবিহনে সঠিককৈ কাম নকৰাটো সম্ভৱ হ’ব পাৰে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কেনেকৈ এক্সেছৰ অনুমতি দিব লাগে জানক</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"এপ্টোক এক্সেছ প্ৰত্যাখ্যান কৰা হৈছে"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"এই অনুমতিটোৰ এক্সেছ প্ৰদান কৰাটোৱে আপোনাৰ ব্যক্তিগত আৰু বিত্তীয় তথ্য বিপদাপন্ন কৰিব পাৰে।<xliff:g id="ID_1"><br><br></xliff:g>এপ্টোৱে এই প্ৰতিবন্ধিত অনুমতিটোৰ অবিহনে সঠিককৈ কাম নকৰাটো সম্ভৱ হ’ব পাৰে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কেনেকৈ এক্সেছৰ অনুমতি দিব লাগে জানক</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"অধিক জানক"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ঠিক আছে"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"অনুমতিৰ অনুৰোধ অৱদমন কৰা হৈছে"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"এই এপ্টোৱে অতিৰিক্ত অনুমতিৰ বাবে অনুৰোধ কৰিছে, কিন্তু ষ্ট্ৰীমিং ছেশ্বনত অনুমতি দিব নোৱাৰি। আপোনাৰ ফ’নটোত প্ৰথমে অনুমতি দিয়ক।"</string> </resources> diff --git a/PermissionController/res/values-az-v34/strings.xml b/PermissionController/res/values-az-v34/strings.xml index 7e403dadc..834a2a002 100644 --- a/PermissionController/res/values-az-v34/strings.xml +++ b/PermissionController/res/values-az-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Tətbiqin sağlamlıq datasına girişini idarə edin"</string> <string name="location_settings" msgid="8863940440881290182">"Məkana giriş"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Tətbiq və xidmətlər üçün. Bu ayar deaktivdirsə, təcili nömrəyə zəng etdikdə mikrofon datası yenə də paylaşıla bilər"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Tətbiq və xidmətlər üçün"</string> </resources> diff --git a/PermissionController/res/values-az-watch/strings.xml b/PermissionController/res/values-az-watch/strings.xml index 1b4273903..92d8c0e5f 100644 --- a/PermissionController/res/values-az-watch/strings.xml +++ b/PermissionController/res/values-az-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Dəyişdirilmədi"</string> <string name="generic_yes" msgid="2489207724988649846">"Bəli"</string> <string name="generic_cancel" msgid="2631708607129269698">"Ləğv edin"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Hər zaman"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Tətbiq istifadə edərkən"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Hər zaman"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Tətbiq istifadə edərkən"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Hər zaman"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Tətbiq istifadə edərkən"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Hər zaman"</string> </resources> diff --git a/PermissionController/res/values-az/strings.xml b/PermissionController/res/values-az/strings.xml index 3d854cb29..054db496f 100644 --- a/PermissionController/res/values-az/strings.xml +++ b/PermissionController/res/values-az/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Bütün icazələr"</string> <string name="other_permissions" msgid="2901186127193849594">"Digər tətbiq imkanları"</string> <string name="permission_request_title" msgid="8790310151025020126">"İcazə sorğusu"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Yükləmə/Sistemdən silmə fəaliyyətləri Wear\'də dəstəklənmir."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin daxil olacağı elementləri seçin"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> güncəlləndi. Bu tətbiqin daxil olacağı elementləri seçin."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Ləğv edin"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Həmişə hamısına icazə verin"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Həmişə soruşulsun"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"İcazə verməyin"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Dəqiq məkan"</string> <string name="approximate_image_description" msgid="938803699637069884">"Təxmini məkan"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Məkan dəqiq aşkarlansın"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Məkan dəqiq aşkarlanmadıqda tətbiqlər məkanı təxmini müəyyən edir"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> üçün icazə"</string> <string name="app_permission_header" msgid="2951363137032603806">"Tətbiqə <xliff:g id="PERM">%1$s</xliff:g> icazəsi"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> cihazında bu tətbiq üçün <xliff:g id="PERM">%1$s</xliff:g> girişi"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Bütün <xliff:g id="APP">%1$s</xliff:g> icazələrinə baxın"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Bu icazəyə sahib olan bütün tətbiqlərə baxın"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistent üçün mikrofon istifadəsini göstərin"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Tətbiq işlənməyəndə icazə ləğv edilsin"</string> <string name="unused_apps_label" msgid="2595428768404901064">"İcazələri silin və yer boşaldın"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"İstifadə edilmədikdə tətbiq fəaliyyətini durdurun"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"İstifadə edilmədikdə tətbiqi idarə edin"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"İcazələri silin, müvəqqəti faylları silin və bildirişləri dayandırın"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"İcazələri, müvəqqəti faylları silin, bildirişləri dayandırın və tətbiqi arxivə atın"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Bir neçə ay istifadə etmədiyiniz tətbiqlərdən icazələr datanızın qorunması məqsədilə silinib."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Bir neçə ay istifadə etmədiyiniz tətbiqlərdən icazələr datanızın qorunması məqsədilə silinib: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Bir neçə ay istifadə etmədiyiniz tətbiqlərdən icazələr datanızın qorunması məqsədilə silinib."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Bütün fayllara girişi olanlar"</string> <string name="ask_header" msgid="2633816846459944376">"Həmişə soruşulsun"</string> <string name="denied_header" msgid="903209608358177654">"İcazə verilməyib"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> cihazında <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Bütün fayllara giriş edə bilən digər tətbiqlərə baxın"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 gün}other{# gün}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# saat}other{# saat}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Qeyd tətbiqi"</string> <string name="role_notes_description" msgid="8496852798616883551">"Cihazınızda qeydlər aparmağa imkan verən tətbiqlər"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"qeydlər"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Defolt pulqabı tətbiqi"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Pulqabı tətbiqi"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Pulqabı tətbiqləri müxtəlif əməliyyat formaları ilə bağlı kömək etmək üçün kredit və sadiqlik kartlarını, avtomobil açarlarını və digər əşyaları saxlaya bilər."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> defolt pulqabı tətbiqi kimi ayarlansın?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"İcazəyə ehtiyac yoxdur"</string> <string name="request_role_current_default" msgid="738722892438247184">"Cari defolt"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Bir daha soruşmayın"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Defolt olaraq seçin"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Daha çox defolt"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Linklərin açılması"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"İş üçün defolt"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Şəxsi sahə üçün defolt"</string> <string name="default_app_none" msgid="9084592086808194457">"Yoxdur"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sistem defoltu)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Tətbiq yoxdur"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Assistent aktivasiya aşkarlanmasını göstərin"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mikrofonun istifadəsi zamanı səsli yardımı aktiv etmək üçün status panelində ikonanı göstərin"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin cihazdakı foto və mediaya daxil olmasına icazə verilsin?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında foto və mediaya giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında foto və mediaya giriş icazəsi verilsin?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə kontaktlara daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında kontaktlara giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında kontaktlara giriş icazəsi verilsin?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə bu cihazın məkanına daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> məkanına giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının məkanına giriş icazəsi verilsin?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Tətbiq yalnız ondan istifadə etiyiniz zaman məkanı əldə edə bilər"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə bu cihazın məkanına daxil olmaq icazəsi verilsin?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> məkanına giriş icazəsi verilsin?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının məkanına giriş icazəsi verilsin?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə məkanınıza daxil olmaq istəyə bilər. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün məkana giriş dəyişdirilsin?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün məkana giriş dəyişilsin?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında məkana girişi dəyişdirilsin?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə məkanınıza daxil olmaq istəyir. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə yaxınlıqdakı cihazları tapmaq, qoşulmaq və nisbi mövqeyini təyin etmək icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında yaxınlıqdakı cihazların nisbi yerini tapıb, təyin edib, qoşulsun?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında yaxınlıqdakı cihazların nisbi yerini tapmasına, qoşulmasına və müəyyən etməsinə icazə verilsin?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə yaxınlıqdakı cihazları tapmaq, qoşulmaq və nisbi mövqeyini təyin etmək icazəsi verilsin? "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> tətbiqinin məkan girişi təxminidən dəqiqə dəyişdirilsin?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> tətbiqinin məkana girişi təxminidən dəqiqə dəyişilsin?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> tətbiqinin <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında məkana girişi təxmini seçimindən dəqiq seçiminə dəyişdirilsin?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə bu cihazın təxmini məkanına daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazının təxmini məkanına giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının təxmini məkanına giriş icazəsi verilsin?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Dəqiq"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Təxmini"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə təqvimə daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında təqvimə giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında təqvimə giriş icazəsi verilsin?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə SMS mesajları göndərmək və onlara baxmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında SMS mesajı göndərmək, onlara baxmaq icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında SMS mesajları göndərib baxmağa icazə verilsin?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə cihazdakı foto, media və fayllara daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında foto, media və fayllara giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında foto, media və fayllara giriş icazəsi verilsin?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin bu cihazdakı <b>foto, video, musiqi və audiolara</b> girişinə icazə verilsin?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin bu cihazdakı <b>foto, video, musiqi, audio və digər fayllara</b> girişinə icazə verilsin?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə bu cihazdakı musiqi və audioya girişinə icazə verilsin?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında musiqi və audioya giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında musiqi və audioya giriş icazəsi verilsin?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin cihazdakı foto və videolara girişinə icazə verilsin?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında foto və videolara giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında foto və videolara giriş icazəsi verilsin?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə bu cihazda digər foto və videolara daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında digər foto və videolara giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında daha çox foto və videoya giriş icazəsi verilsin?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə səs yazmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında audio yazmaq icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında audio qeydə almağa icazə verilsin?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Tətbiq yalnız ondan istifadə etiyiniz zaman audio yaza biləcək"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə audio yazmaq icazəsi verilsin?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında audio yazmaq icazəsi verilsin?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında audio qeydə almağa icazə verilsin?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə audio yazmaq istəyə bilər. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün mikrofona giriş dəyişdirilsin?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün mikrofona giriş dəyişilsin?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında mikrofona girişi dəyişdirilsin?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə audio yazmaq istəyir. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin fiziki fəaliyyətinizə daxil olmasına icazə verilsin?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında fiziki fəaliyyətə giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında fiziki fəaliyyətə giriş icazəsi verilsin?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə şəkil və video çəkmək icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında şəkil və video çəkmək icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında şəkil çəkməyə və video qeydə almağa icazə verilsin?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Tətbiq yalnız ondan istifadə etiyiniz zaman şəkil çəkə və video yaza biləcək"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə şəkil çəkmək və video yazmaq icazəsi verilsin?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında şəkil və video çəkmək icazəsi verilsin?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında şəkil çəkməyə və video qeydə almağa icazə verilsin?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə şəkil çəkmək və video yazmaq istəyə bilər. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün kameraya giriş dəyişdirilsin?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında kameraya girişi dəyişilsin?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında kameraya girişi dəyişdirilsin?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Bu tətbiq hətta ondan istifadə etmədiyiniz zaman belə şəkil çəkmək və video yazmaq istəyir. "<annotation id="link">"Ayarlarda icazə verin."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə telefonun zəng qeydlərinə daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında telefon zəngi qeydlərinə giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında telefon zəngi qeydlərinə giriş icazəsi verilsin?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə telefon zəngləri etmək və onları idarə etmək icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında telefon zəngi etmək, idarə etmək icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında telefon zəngi etmək və onu idarə etməyə icazə verilsin?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə həyati əlamətlər haqqında sensor dataya daxil olmaq icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında həyati göstəricilər üzrə sensor datasına giriş icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında həyati göstəricilər üzrə sensor datasına giriş icazəsi verilsin?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Bu tətbiq hər zaman, hətta ondan istifadə etmədiyiniz zaman belə sağlamlıq göstəriciləriniz haqqında sensor datasına giriş etmək istəyir. Bu dəyişikliyi etmək üçün "<annotation id="link">"ayarlara keçin"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə sağlamlıq göstəriciləriniz haqqında sensor datasına giriş icazəsi verilsin?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> üçün <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında həyati göstəricilər üzrə sensor datasına giriş icazəsi verilsin?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında həyati göstəricilər üzrə sensor datasına giriş icazəsi verilsin?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Tətbiqdən istifadə etmədiyiniz zaman belə, bu tətbiqin bədən sensoru datasına hər zaman giriş etməsinə icazə vermək üçün "<annotation id="link">"ayarlara keçin."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinin istifadə zamanı bədən sensoru datasına giriş etməsinə icazə verilməyə davam edilsin?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> istifadə edilərkən ona <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında bədən sensoru datasına giriş icazəsi verilsin?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Tətbiqdən istifadə edərkən <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında bədən sensoru datasına girişə icazə verilsin?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə sizə bildiriş göndərmək icazəsi verilsin?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazında bildiriş göndərmək icazəsi verilsin?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tətbiqinə <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında sizə bildiriş göndərməyə icazə verilsin?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"İdarə edilən icazələr"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinin məkan icazəsi var"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Təşkilat <xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinə məkan icazəsi verir"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Heç biri"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Ötən\n24 saat"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Son\n7 gün"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> faiz"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android tərəfindən qorunur. Məlumatlarınız bu cihazda işləndiyinə görə bu tətbiqin icazə istifadəsi status panelində və ya məxfilik panelinizdə göstərilmir."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android tərəfindən qorunur. Məlumatlarınız bu cihazda işləndiyinə görə bu tətbiqin icazə istifadəsi məxfilik panelində göstərilmir."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Cihazın kamerası bloklanıb"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Tətbiqlər və xidmətlər üçün"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Fövqəladə hallar nömrəsinə zəng etdiyiniz zaman mikrofon datası yenə də paylaşıla bilər."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Dəyişin"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kamera girişi deaktivdir"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Məlumat-əyləncə tətbiqləri üçün"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Lazımi tətbiqlər üçün"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Bu tətbiq tələb edilir"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Avtomobil istehsalçısı bu tətbiqi tələb edir"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Güvənlik və məxfilik"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Cihazı skanlayın"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Qapadın"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data paylaşma yenilikləri"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Bəzi tətbiqlər məkan datasını paylaşma üsulunu dəyişib"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ayarlar"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Daxil olunub: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Daxil olunub: dünən <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Daxil olunub: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Birdəfəlik parol: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Məhdudlaşdırılmış ayar"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Güvənlik üçün bu ayar əlçatan deyil."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Tətbiqə <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> icazəsinə giriş verilmədi"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Tətbiq şəxsi və maliyyə məlumatlarınızı riskə ata biləcək həssas məlumat icazəsinə giriş istədi.<xliff:g id="ID_1"><br><br></xliff:g>Bu məhdud icazə olmadan tətbiq düzgün işləməyə bilər. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Girişə icazə vermək haqqında ətraflı</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Tətbiqə defolt <xliff:g id="ROLE_NAME">%1$s</xliff:g> roluna giriş verilmədi"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Tətbiq şəxsi və maliyyə məlumatlarınızı riskə ata biləcək həssas məlumat icazələrinə giriş istədi.<xliff:g id="ID_1"><br><br></xliff:g>Bu məhdud icazələr olmadan tətbiq düzgün işləməyə bilər. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Girişə icazə vermək haqqında ətraflı</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Tətbiqə giriş verilmədi"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Bu icazəyə giriş şəxsi və maliyyə məlumatlarını riskə ata bilər.<xliff:g id="ID_1"><br><br></xliff:g>Bu məhdud icazə olmadan tətbiq düzgün işləməyə bilər. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Girişə icazə vermək haqqında ətraflı</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Ətraflı məlumat"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"İcazə sorğusu dayandırıldı"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Bu tətbiqə əlavə icazələr lazımdır, lakin yayım sessiyasında icazə vermək olmur. Əvvəlcə telefonda icazə verin."</string> </resources> diff --git a/PermissionController/res/values-b+sr+Latn-v34/strings.xml b/PermissionController/res/values-b+sr+Latn-v34/strings.xml index d5bf45128..e4af6c3e6 100644 --- a/PermissionController/res/values-b+sr+Latn-v34/strings.xml +++ b/PermissionController/res/values-b+sr+Latn-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Upravljajte pristupom aplikacija podacima o zdravlju"</string> <string name="location_settings" msgid="8863940440881290182">"Pristup lokaciji"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Za aplikacije i usluge. Ako je ovo podešavanje isključeno, podaci mikrofona mogu i dalje da se dele kada pozovete broj za hitne slučajeve"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Za aplikacije i usluge"</string> </resources> diff --git a/PermissionController/res/values-b+sr+Latn-watch/strings.xml b/PermissionController/res/values-b+sr+Latn-watch/strings.xml index 673a26286..f4b6e53bb 100644 --- a/PermissionController/res/values-b+sr+Latn-watch/strings.xml +++ b/PermissionController/res/values-b+sr+Latn-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ne može da se promeni"</string> <string name="generic_yes" msgid="2489207724988649846">"Da"</string> <string name="generic_cancel" msgid="2631708607129269698">"Otkaži"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Sve vreme"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Pri korišćenju aplikacije"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Sve vreme"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Pri korišćenju aplikacije"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Sve vreme"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Pri korišćenju aplikacije"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Sve vreme"</string> </resources> diff --git a/PermissionController/res/values-b+sr+Latn/strings.xml b/PermissionController/res/values-b+sr+Latn/strings.xml index 3f109b756..9a008bebd 100644 --- a/PermissionController/res/values-b+sr+Latn/strings.xml +++ b/PermissionController/res/values-b+sr+Latn/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Sve dozvole"</string> <string name="other_permissions" msgid="2901186127193849594">"Ostale mogućnosti aplikacije"</string> <string name="permission_request_title" msgid="8790310151025020126">"Zahtev za dozvolu"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Radnje Instaliraj/Deinstaliraj nisu podržane u Wear-u."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Izaberite čemu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> može da pristupa"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> je ažurirana. Izaberite čemu ova aplikacija može da pristupa."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Otkaži"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Uvek dozvoli sve"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pitaj svaki put"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne dozvoli"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Precizna lokacija"</string> <string name="approximate_image_description" msgid="938803699637069884">"Približna lokacija"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Koristi preciznu lokaciju"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Aplikacije mogu da pristupaju vašoj približnoj lokaciji kada je precizna isključena"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> - dozvola"</string> <string name="app_permission_header" msgid="2951363137032603806">"Pristup ove aplikacije funkciji „<xliff:g id="PERM">%1$s</xliff:g>“"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Ova aplikacija ima pristup za: <xliff:g id="PERM">%1$s</xliff:g> na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Prikaži sve dozvole za: <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Prikaži sve aplikacije sa ovom dozvolom"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Prikaži kako Pomoćnik koristi mikrofon"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ukloni dozvole ako se aplikacija ne koristi"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ukloni dozvole i oslobodi prostor"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pauziraj aktivnosti ako se ne koristi"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljajte aplikacijom ako se ne koristi"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Uklonite dozvole, izbrišite privremene fajlove i zaustavite obaveštenja"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Uklonite dozvole, izbrišite privremene fajlove, zaustavite obaveštenja i arhivirajte aplikaciju"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Radi zaštite podataka, dozvole za ovu aplikaciju se uklanjaju ako se aplikacija ne koristi par meseci."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Radi zaštite podataka, sledeće dozvole se uklanjaju ako se aplikacija ne koristi par meseci: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Radi zaštite podataka, dozvole su uklonjene iz aplikacija koje niste koristili par meseci."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Imaju dozvolu za upravljanje svim datotekama"</string> <string name="ask_header" msgid="2633816846459944376">"Pitaj svaki put"</string> <string name="denied_header" msgid="903209608358177654">"Nije dozvoljeno"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Prikaži još aplikacija sa pristupom svim fajlovima"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dan}one{# dan}few{# dana}other{# dana}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# sat}one{# sat}few{# sata}other{# sati}}"</string> @@ -375,7 +379,7 @@ <string name="role_emergency_request_title" msgid="8469579020654348567">"Želite li da podesite <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju za hitne slučajeve?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"Nije potrebna nijedna dozvola"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"u hitnom slučaju"</string> - <string name="role_home_label" msgid="3871847846649769412">"Podraz. apl. početne stranice"</string> + <string name="role_home_label" msgid="3871847846649769412">"Podrazumevana apl. početne stranice"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija početne stranice"</string> <string name="role_home_description" msgid="7997371519626556675">"Aplikacije koje se često zovu pokretači i zamenjuju početne ekrane na Android uređaju i pružaju pristup sadržaju i funkcijama na uređaju"</string> <string name="role_home_request_title" msgid="738136983453341081">"Želite li da podesite <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju početne stranice?"</string> @@ -387,13 +391,13 @@ <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Želite li da podesite <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju za preusmeravanje poziva?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Nije potrebna nijedna dozvola"</string> <string name="role_call_screening_label" msgid="883935222060878724">"Aplikacija za ID pozivaoca i nepoželjne poruke"</string> - <string name="role_call_screening_short_label" msgid="2048465565063130834">"Apl. za ID poz. i nepož. poz."</string> + <string name="role_call_screening_short_label" msgid="2048465565063130834">"ID pozivaoca i nepoželjni pozivi"</string> <string name="role_call_screening_description" msgid="2349431420497468981">"Aplikacije koje vam omogućavaju da identifikujete pozive, blokirate nepoželjne i automatizovane pozive i neželjene brojeve"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Želite li da podesite <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju za ID pozivaoca i nepoželjne poruke?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Nije potrebna nijedna dozvola"</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Podrazumevana aplikacija za navigaciju"</string> <string name="role_automotive_navigation_short_label" msgid="5165823092506922457">"Aplikacija za navigaciju"</string> - <string name="role_automotive_navigation_description" msgid="7834601873792870134">"Aplikacije koje mogu da pružaju pretragu zanimljivih mesta i detaljnu pomoć pri navigaciji"</string> + <string name="role_automotive_navigation_description" msgid="7834601873792870134">"Aplikacije koje mogu da pružaju pretragu tačaka od interesa i detaljnu pomoć pri navigaciji"</string> <string name="role_automotive_navigation_request_title" msgid="7525693151489384300">"Želite da podesite aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju za navigaciju?"</string> <string name="role_automotive_navigation_request_description" msgid="7073023813249245540">"Nije potrebna nijedna dozvola"</string> <string name="role_watch_description" msgid="267003778693177779">"<xliff:g id="APP_NAME">%1$s</xliff:g> će dobiti dozvolu za interakciju sa obaveštenjima i pristup dozvolama za telefon, SMS poruke, kontakte i kalendar."</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacija za beleške"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacije koje vam omogućavaju da pravite beleške na uređaju"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"beleške"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Podrazumevana aplikacija novčanika"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacija Novčanik"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikacije novčanika mogu da čuvaju vaše kreditne kartice i kartice lojalnosti, ključeve od automobila i druge stvari kako bi vam pomogli pri različitim transakcijama."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Želite da podesite <xliff:g id="APP_NAME">%1$s</xliff:g> kao podrazumevanu aplikaciju novčanika?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nije potrebna nijedna dozvola"</string> <string name="request_role_current_default" msgid="738722892438247184">"Trenutno podrazumevana"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne pitaj ponovo"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Podesi kao podrazum."</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Još podrazumevanih aplikacija"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otvaranje linkova"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Podrazumevana za posao"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Podrazumevano za privatan prostor"</string> <string name="default_app_none" msgid="9084592086808194457">"Ništa"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Podrazumevana sistemska)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nema aplikacija"</string> @@ -438,7 +448,7 @@ <string name="no_special_app_access" msgid="6950277571805106247">"Nema posebnog pristupa apl."</string> <string name="special_app_access_no_apps" msgid="4102911722787886970">"Nema aplikacija"</string> <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Ne podržava poslovni profil"</string> - <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Napomena: Ako restartujete uređaj i podesili ste zaključavanje ekrana, ova aplikacija ne može da se pokrene dok ne otključate uređaj."</string> + <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Napomena: Ako restartujete uređaj i podesili ste otključavanje ekrana, ova aplikacija ne može da se pokrene dok ne otključate uređaj."</string> <string name="assistant_confirmation_message" msgid="7476540402884416212">"Pomoćnik će moći da čita informacije o aplikacijama koje se koriste u sistemu, uključujući informacije vidljive na ekranu ili kojima može da se pristupa u okviru aplikacija."</string> <string name="incident_report_channel_name" msgid="3144954065936288440">"Deljenje podataka o otklanjanju grešaka"</string> <string name="incident_report_notification_title" msgid="4635984625656519773">"Delite detaljne podatke za otklanjanje grešaka?"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Prikazuj otkrivanje aktiviranja pomoćnika"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Prikazuje ikonu na statusnoj traci kada se mikrofon koristi za aktiviranje glasovnog pomoćnika"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Želite li da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama i medijima na uređaju?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama i medijima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama i medijima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kontaktima?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kontaktima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kontaktima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacija će imati pristup lokaciji samo dok koristite aplikaciju"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji ovog uređaja?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ova aplikacija možda želi da pristupa lokaciji sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Želite li da promenite pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Menjate pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Menjate pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ova aplikacija želi da pristupa lokaciji sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pronalazi uređaje u blizini, povezuje se s njima i određuje im relativan položaj?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> može da nalazi uređaje u blizini, povezuje se sa njima i utvrđuje relativni položaj na: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pronalazi uređaje u blizini, povezuje se sa njima i utvrđuje njihovu relativnu poziciju na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pronalazi uređaje u blizini, povezuje se s njima i određuje im relativan položaj? "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Želite li da promenite pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> iz približne lokacije na preciznu?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Menjate pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> lokaciji uređaja <b><xliff:g id="DEVICE">%2$s</xliff:g></b> iz približne u preciznu lokaciju?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Menjate pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> iz približne u preciznu lokaciju?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Želite li da omogućite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa približnoj lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa približnoj lokaciji uređaja <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa približnoj lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precizna"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Približna"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kalendaru?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kalendaru na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa kalendaru na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje i pregleda SMS-ove?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje i pregleda SMS poruke na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje i pregleda SMS poruke na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama, medijskim i drugim fajlovima na uređaju?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama, medijima i fajlovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama, medijima i fajlovima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Pristup <b>slikama, videu, muzici i zvuku</b> na uređaju za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Pristup slikama, videu, muzici, zvuku i drugom na uređaju za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Dozvoljavate li pristup muzici i zvuku na ovom uređaju za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa muzici i audio sadržaju na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa muzici i zvuku na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Dozvoljavate li pristup slikama i videu na ovom uređaju za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama i videima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa slikama i videima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Dozvoljavate li da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa i drugim slikama i videima na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa i drugim slikama i videima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa i drugim slikama i videima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima zvuk?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima audio sadržaj na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima zvuk na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacija će moći da snima zvuk samo dok koristite aplikaciju"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima zvuk?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima audio sadržaj na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima zvuk na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ova aplikacija možda želi da snima zvuk sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Želite da promenite pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Menjate pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Menjate pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ova aplikacija želi da snima zvuk sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Želite li da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa fizičkim aktivnostima?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima o fizičkim aktivnostima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video snimke?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Dozvolićete da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video snimke na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima o fizičkim aktivnostima na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacija će moći da snima slike i video snimke samo dok koristite aplikaciju"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video snimke?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video snimke na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima slike i video na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ova aplikacija možda želi da snima slike i video snimke sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Želite da promenite pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Menjate pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Menjate pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ova aplikacija želi da snima slike i video snimke sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa evidencijama poziva na telefonu?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa evidencijama telefonskih poziva na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa evidenciji telefonskih poziva na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> upućuje pozive i upravlja njima?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> upućuje telefonske pozive i upravlja njima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> upućuje telefonske pozive na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> i upravlja njima?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Želite da dozvolite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim funkcijama?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim znacima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim funkcijama na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ova aplikacija želi da sve vreme pristupa podacima senzora o vitalnim funkcijama, čak i kada ne koristite aplikaciju. Da biste obavili ovu izmenu, "<annotation id="link">"idite u podešavanja."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Želite da omogućite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim funkcijama?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim znacima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vitalnim funkcijama na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Da biste dozvolili ovoj aplikaciji da sve vreme pristupa podacima senzora za telo, čak i kada ne koristite aplikaciju, "<annotation id="link">"idite u podešavanja."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Želite da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> i dalje pristupa podacima senzora za telo dok se aplikacija koristi?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Dozvoljavate da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tokom korišćenja i dalje pristupa podacima senzora za telo na: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Dozvoljavate da aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tokom korišćenja i dalje pristupa podacima senzora za telo na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite da dozvolite da vam <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje obaveštenja?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Dozvoljavate da vam <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje obaveštenja na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Dozvoljavate da vam aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje obaveštenja na: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrolisane dozvole"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ima pristup lokaciji"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organizacija dozvoljava da <xliff:g id="APP_NAME">%1$s</xliff:g> pristupa lokaciji"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ništa"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Prethodna\n24 sata"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"U prethodnih\n7 dana"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> posto"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android štiti <xliff:g id="APP_NAME">%1$s</xliff:g>. Pošto se podaci obrađuju na ovom uređaju, korišćenje dozvola za ovu aplikaciju se ne prikazuje na statusnoj traci ili kontrolnoj tabli za privatnost."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android štiti <xliff:g id="APP_NAME">%1$s</xliff:g>. Pošto se podaci obrađuju na ovom uređaju, korišćenje dozvola za ovu aplikaciju se ne prikazuje na kontrolnoj tabli za privatnost."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera uređaja je blokirana"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Za aplikacije i usluge"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Podaci mikrofona mogu i dalje da se dele kada pozovete broj za hitne slučajeve."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Promeni"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Pristup kameri je isključen"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Za aplikacije za info-zabavu"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Za obavezne aplikacije"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ova aplikacija je obavezna"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ovu aplikaciju zahteva proizvođač automobila"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Bezbednost i privatnost"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skeniraj uređaj"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Odbaci"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Ažuriranja za deljenje podataka"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Neke aplikacije su promenile način na koji mogu da dele podatke o lokaciji"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Podešavanja"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Pristupano: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Pristupano juče: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Pristupano: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jednokratna lozinka je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ograničeno podešavanje"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ovo podešavanje je trenutno nedostupno radi vaše bezbednosti."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikaciji nije dozvoljen pristup dozvoli: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacija je zatražila pristup osetljivoj dozvoli, što može da ugrozi bezbednost ličnih i finansijskih podataka.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija možda neće raditi ispravno bez ove ograničene dozvole. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako da dozvolite pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikaciji nije dozvoljen pristup da postane podrazumevana: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacija je zatražila pristup osetljivim dozvolama, što može da ugrozi bezbednost ličnih i finansijskih podataka.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija možda neće raditi ispravno bez ovih ograničenih dozvola. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako da dozvolite pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikaciji nije dozvoljen pristup"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Pristup ovoj dozvoli može da ugrozi bezbednost ličnih i finansijskih podataka.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija možda neće raditi ispravno bez ove ograničene dozvole. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako da dozvolite pristup</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saznajte više"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Važi"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Zahtev za dozvolu je blokiran"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ova aplikacija zahteva dodatne dozvole, ali dozvole ne mogu da se daju u sesiji strimovanja. Prvo dajte dozvolu na telefonu."</string> </resources> diff --git a/PermissionController/res/values-be-v34/strings.xml b/PermissionController/res/values-be-v34/strings.xml index 330681ded..9d46314e6 100644 --- a/PermissionController/res/values-be-v34/strings.xml +++ b/PermissionController/res/values-be-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Кіруйце доступам праграм да даных пра здароўе"</string> <string name="location_settings" msgid="8863940440881290182">"Доступ да даных геалакацыі"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Для праграм і сэрвісаў. Нават калі гэта налада выключана, даныя з мікрафона будуць абагульвацца падчас выкліку нумара экстраннай службы"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Для праграм і сэрвісаў"</string> </resources> diff --git a/PermissionController/res/values-be-watch/strings.xml b/PermissionController/res/values-be-watch/strings.xml index 242f6306d..c237932f5 100644 --- a/PermissionController/res/values-be-watch/strings.xml +++ b/PermissionController/res/values-be-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Не ўдалося змяніць"</string> <string name="generic_yes" msgid="2489207724988649846">"Так"</string> <string name="generic_cancel" msgid="2631708607129269698">"Скасаваць"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Заўсёды"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Пры выкарыстанні праграмы"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Заўсёды"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Пры выкарыстанні праграмы"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Заўсёды"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Пры выкарыстанні праграмы"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Заўсёды"</string> </resources> diff --git a/PermissionController/res/values-be/strings.xml b/PermissionController/res/values-be/strings.xml index ef9983065..aa463b758 100644 --- a/PermissionController/res/values-be/strings.xml +++ b/PermissionController/res/values-be/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Усе дазволы"</string> <string name="other_permissions" msgid="2901186127193849594">"Іншыя магчымасці праграмы"</string> <string name="permission_request_title" msgid="8790310151025020126">"Запыт дазволу"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Дзеянні па ўсталяванні або выдаленні не падтрымліваюцца на Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Выберыце, да чаго дазволіць доступ праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Праграма <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> была абноўлена. Выберыце, да чаго ёй дазволіць доступ."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Скасаваць"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Заўсёды дазваляць усе"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Заўсёды пытацца"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Не дазваляць"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Дакладнае месцазнаходжанне"</string> <string name="approximate_image_description" msgid="938803699637069884">"Прыблізнае месцазнаходжанне"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Улічваць дакладнае месцазнаходжанне"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Калі вызначэнне дакладнага месцазнаходжання выключана, у праграм можа заставацца доступ да даных пра прыблізнае месцазнаходжанне"</string> <string name="app_permission_title" msgid="2090897901051370711">"Дазвол \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: доступ для гэтай праграмы"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Дазвол \"<xliff:g id="PERM">%1$s</xliff:g>\" для гэтай праграмы на прыладзе \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Паказаць усе дазволы праграмы \"<xliff:g id="APP">%1$s</xliff:g>\""</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Паказаць усе праграмы з гэтым дазволам"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Паказваць выкарыстанне мікрафона памочнікам"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Выдаляць дазволы, калі праграма не выкарыстоўваецца"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Выдаліць дазволы і вызваліць месца"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Прыпыніць дзеянні ў неактыўнай праграме"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Кіраваць праграмай, якой не карыстаюцца"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Выдаліць дазволы, часовыя файлы і спыніць апавяшчэнні"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Выдаліць дазволы і часовыя файлы, спыніць адпраўку апавяшчэнняў і архіваваць праграму"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Калі праграма не выкарыстоўваецца на працягу некалькіх месяцаў, то ў мэтах абароны вашых даных з яе будуць выдалены дазволы."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Калі праграма не выкарыстоўваецца на працягу некалькіх месяцаў, у мэтах абароны вашых даных будуць выдалены наступныя дазволы: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"У мэтах абароны вашых даных выдалены дазволы для праграм, якія не выкарыстоўваліся некалькі месяцаў."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Дазволена кіраванне ўсімі файламі"</string> <string name="ask_header" msgid="2633816846459944376">"Заўсёды пытацца"</string> <string name="denied_header" msgid="903209608358177654">"Забароненыя"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"Група дазволаў \"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>\" на прыладзе \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Праглядзець іншыя праграмы, якія маюць доступ да ўсіх файлаў"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 дзень}one{# дзень}few{# дні}many{# дзён}other{# дня}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# гадзіна}one{# гадзіна}few{# гадзіны}many{# гадзін}other{# гадзіны}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Праграма для нататак"</string> <string name="role_notes_description" msgid="8496852798616883551">"Праграмы, якія дазваляюць рабіць нататкі на прыладзе"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"нататкі"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Стандартная праграма-кашалёк"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Праграма-кашалёк"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"У праграмах-кашальках можна захоўваць крэдытныя карткі, карткі лаяльнасці, ключы ад аўтамабіля і іншыя лічбавыя аб\'екты, што дае магчымасць ажыццяўляць розныя формы трансакцый."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Задаць у якасці стандартнай праграмы-кашалька праграму \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Дазволы не патрэбныя"</string> <string name="request_role_current_default" msgid="738722892438247184">"Цяперашняя стандартная"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Больш не пытацца"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Зрабіць стандартнай"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Дадатковыя стандартныя налады"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Адкрыццё спасылак"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Стандартныя для працы"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Стандартныя праграмы для прыватнай прасторы"</string> <string name="default_app_none" msgid="9084592086808194457">"Няма"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Стандартная сістэмная)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Няма праграм"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Паказваць значок актывацыі памочніка"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Паказваць значок на панэлі стану, калі мікрафон выкарыстоўваецца для актывацыі галасавога памочніка"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і мультымедыя на вашай прыладзе?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і мультымедыя на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і мультымедыя на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да вашых кантактаў?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да кантактаў на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да кантактаў на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да звестак пра месцазнаходжанне гэтай прылады?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных пра месцазнаходжанне прылады <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да геаданых на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Праграма будзе мець доступ да звестак пра месцазнаходжанне толькі падчас карыстання ёю"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да звестак пра месцазнаходжанне гэтай прылады?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных пра месцазнаходжанне прылады <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да геаданых на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Гэта праграма можа запытваць пастаянны доступ да звестак пра ваша месцазнаходжанне, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Змяніць налады доступу да даных пра месцазнаходжанне для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да даных пра месцазнаходжанне на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да даных пра месцазнаходжанне на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Гэта праграма запытвае пастаянны доступ да звестак пра ваша месцазнаходжанне, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходзіць прылады паблізу, падключацца да іх і вызначаць адлегласць да іх?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходзіць прылады паблізу, падключацца да іх і вызначаць іх адноснае месцазнаходжанне на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходзіць прылады паблізу, падключацца да іх і вызначаць іх адноснае месцазнаходжанне на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходзіць прылады паблізу, падключацца да іх і вызначаць адлегласць да такіх прылад? "<annotation id="link">"Дазволіць у наладах."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Памяняць у доступах праграмы \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" прыблізнае месцазнаходжанне на дакладнае?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Дазволіць праграме \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" доступ да даных пра дакладнае месцазнаходжанне прылады <b><xliff:g id="DEVICE">%2$s</xliff:g></b> замест прыблізнага?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Дазволіць праграме \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" доступ да даных пра дакладнае месцазнаходжанне прылады <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> замест прыблізнага?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да звестак пра прыблізнае месцазнаходжанне гэтай прылады?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных пра прыблізнае месцазнаходжанне прылады <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да прыблізнага месцазнаходжання на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Дакладна"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Прыблізна"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да вашага календара?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да календара на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да календара на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць і праглядаць SMS-паведамленні?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць і праглядаць SMS-паведамленні на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць і праглядаць SMS-паведамленні на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота, мультымедыя і файлаў на вашай прыладзе?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота, мультымедыя і файлаў на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота, мультымедыя і файлаў на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да <b>фота, відэа, музыкі і аўдыяфайлаў</b> на гэтай прыладзе?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да <b>фота, відэа, музыкі, аўдыя і файлаў</b> на гэтай прыладзе?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да музыкі і аўдыя на гэтай прыладзе?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да музыкі і аўдыя на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да музыкі і аўдыя на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і відэа на гэтай прыладзе?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і відэа на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да фота і відэа на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да дадатковых фота і відэа на гэтай прыладзе?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да іншых фота і відэа на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да большай колькасці фота і відэа на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Гэта праграма зможа запісваць аўдыя толькі падчас яе выкарыстання"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> запісваць аўдыя на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Гэта праграма можа запісваць аўдыя ўвесь час, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Змяніць налады доступу да мікрафона для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да мікрафона на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да мікрафона на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Гэта праграма запытвае дазвол запісваць аўдыя ўвесь час, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных фізічнай актыўнасці?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных аб фізічнай актыўнасці на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных аб фізічнай актыўнасці на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> рабіць фота і запісваць відэа?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знімаць фота і відэа на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знімаць фота і запісваць відэа на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Гэта праграма зможа рабіць фота і запісваць відэа толькі падчас яе выкарыстання"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> рабіць фота і запісваць відэа?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знімаць фота і відэа на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знімаць фота і запісваць відэа на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Гэта праграма можа рабіць фота і запісваць відэа ўвесь час, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Змяніць налады доступу да камеры для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да камеры на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Змяніць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> налады доступу да камеры на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Гэта праграма запытвае дазвол рабіць фота і запісваць відэа ўвесь час, нават калі яна не выкарыстоўваецца. "<annotation id="link">"Дайце дазвол у наладах."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да журналаў выклікаў вашага тэлефона?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да журналаў тэлефонных выклікаў на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да журналаў выклікаў на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> рабіць тэлефонныя выклікі і кіраваць імі?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> рабіць тэлефонныя выклікі і кіраваць імі на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> рабіць тэлефонныя выклікі і кіраваць імі на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных з датчыкаў пра вашы асноўныя фізіялагічныя паказчыкі?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных датчыкаў з паказчыкамі арганізма на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных датчыкаў з паказчыкамі арганізма на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Гэта праграма запытвае пастаянны доступ да даных датчыкаў з паказчыкамі вашага арганізма, нават калі яна не выкарыстоўваецца. Каб змяніць дазвол, "<annotation id="link">"перайдзіце ў налады"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных датчыкаў з паказчыкамі вашага арганізма?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных датчыкаў з паказчыкамі арганізма на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ да даных датчыкаў з паказчыкамі арганізма на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Каб дазволіць гэтай праграме мець пастаянны доступ да даных датчыкаў цела, нават калі яна не выкарыстоўваецца, "<annotation id="link">"перайдзіце ў налады."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Захаваць для праграмы \"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>” дазвол на доступ да даных датчыкаў цела ў час яе выкарыстання?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Захаваць для праграмы <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> дазвол на доступ да даных датчыкаў цела падчас яе выкарыстання на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Пакінуць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> дазвол на доступ да даных датчыкаў цела на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, пакуль праграма выкарыстоўваецца?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць вам апавяшчэнні?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць вам апавяшчэнні на прыладзе <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Дазволіць праграме <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> адпраўляць вам апавяшчэнні на прыладзе <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Кіраваныя дазволы"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" мае доступ да даных геалакацыі"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Ваша арганізацыя дазволіла праграме \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" мець доступ да вашага месцазнаходжання"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Няма"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"За апошнія\n24 гадзіны"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"За апошнія\n7 сутак"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>, працэнтаў: <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" абаронена Android. З прычыны таго, што вашы даныя апрацоўваюцца на гэтай прыладзе, на панэлі стану і панэлі кіравання доступам не паказваецца інфармацыя пра выкарыстанне дазволаў гэтай праграмай."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" абаронена Android. З прычыны таго, што вашы даныя апрацоўваюцца на гэтай прыладзе, на панэлі кіравання доступам не паказваецца інфармацыя пра выкарыстанне дазволаў гэтай праграмай."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камера прылады заблакіравана"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Для праграм і сэрвісаў"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Даныя з мікрафона па-ранейшаму могуць абагульвацца падчас выкліку нумара экстраннай службы."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Змяніць"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Доступ да камеры забаронены"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Для праграм інфармацыйна-забаўляльнай сістэмы"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Для абавязковых праграм"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Гэта праграма абавязковая"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Выкарыстання гэтай праграмы патрабуе вытворца аўтамабіля"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Бяспека і прыватнасць"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Сканіраваць прыладу"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Адхіліць"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Змяненні ў абагульванні даных"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Для некаторых праграм спосаб абагульвання даных пра месцазнаходжанне змяніўся"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Налады"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Апошні раз доступ быў атрыманы ў <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Апошні раз доступ быў атрыманы ўчора ў <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Апошні раз доступ быў атрыманы ў <xliff:g id="TIME_DATE_1">%2$s</xliff:g> <xliff:g id="TIME_DATE_0">%1$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ваш аднаразовы пароль: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Налада з абмежаваным доступам"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"У мэтах бяспекі гэта налада цяпер недаступная."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Праграме адмоўлена ў дазволе \"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>\""</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Праграма запытала дазвол на доступ да канфідэнцыяльнай інфармацыі. Калі вы яго дасце, ваша асабістая і фінансавая інфармацыя можа аказацца ў небяспецы.<xliff:g id="ID_1"><br><br></xliff:g>Магчыма, без гэтага абмежаванага дазволу праграма не будзе працаваць належным чынам. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Даведацца, як дазволіць доступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Праграме адмоўлена ў дазволе стандартна выконваць наступную ролю: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Праграма запытала дазволы на доступ да канфідэнцыяльнай інфармацыі. Калі вы іх дасце, ваша асабістая і фінансавая інфармацыя можа аказацца ў небяспецы.<xliff:g id="ID_1"><br><br></xliff:g>Магчыма, без гэтых абмежаваных дазволаў праграма не будзе працаваць належным чынам. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Даведацца, як дазволіць доступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Праграме адмоўлена ў дазволе"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Калі вы дасце гэты дазвол, ваша асабістая і фінансавая інфармацыя можа аказацца ў небяспецы.<xliff:g id="ID_1"><br><br></xliff:g>Магчыма, без гэтага абмежаванага дазволу праграма не будзе працаваць належным чынам. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Даведацца, як дазволіць доступ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Даведацца больш"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Запыт дазволаў заблакіраваны"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Гэта праграма запытвае дадатковыя дазволы, якія немагчыма даць падчас трансляцыі. Спачатку дайце дазвол на тэлефоне."</string> </resources> diff --git a/PermissionController/res/values-bg-v34/strings.xml b/PermissionController/res/values-bg-v34/strings.xml index 33b3a52f0..6b7d5fea9 100644 --- a/PermissionController/res/values-bg-v34/strings.xml +++ b/PermissionController/res/values-bg-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Управлявайте достъпа на приложенията до данните за здравословното състояние"</string> <string name="location_settings" msgid="8863940440881290182">"Достъп до местоположението"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"За приложения и услуги. Ако тази настройка е изключена, данните от микрофона пак може да бъдат споделени, когато се обадите на номер за спешни случаи"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"За приложения и услуги"</string> </resources> diff --git a/PermissionController/res/values-bg-watch/strings.xml b/PermissionController/res/values-bg-watch/strings.xml index d09f250c4..48692ee7b 100644 --- a/PermissionController/res/values-bg-watch/strings.xml +++ b/PermissionController/res/values-bg-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Без промяна"</string> <string name="generic_yes" msgid="2489207724988649846">"Да"</string> <string name="generic_cancel" msgid="2631708607129269698">"Отказ"</string> + <string name="permission_access_always" msgid="2107115233573823032">"През цялото време"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"При използване на прилож."</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"През цялото време"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"При използване на прилож."</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"През цялото време"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"При използване на прилож."</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"През цялото време"</string> </resources> diff --git a/PermissionController/res/values-bg/strings.xml b/PermissionController/res/values-bg/strings.xml index fb5d670c7..ddf06601d 100644 --- a/PermissionController/res/values-bg/strings.xml +++ b/PermissionController/res/values-bg/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Всички разрешения"</string> <string name="other_permissions" msgid="2901186127193849594">"Други възможности на приложението"</string> <string name="permission_request_title" msgid="8790310151025020126">"Заявка за разрешение"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Действията инсталиране и деинсталиране не се поддържат на устройства с Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Изберете до какво да има достъп <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Приложението <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> е актуализирано. Изберете до какво да има достъп."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Отказ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Винаги да се разрешава пълен достъп"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Извеждане на запитване всеки път"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Забраняване"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Точно местоположение"</string> <string name="approximate_image_description" msgid="938803699637069884">"Приблизително местоположение"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Използване на точното местоположение"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Когато точното местоположение е изключено, приложенията могат да осъществяват достъп до приблизителното ви местоположение"</string> <string name="app_permission_title" msgid="2090897901051370711">"Разрешение за: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Достъп до „<xliff:g id="PERM">%1$s</xliff:g>“ за това приложение"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Достъп до <xliff:g id="PERM">%1$s</xliff:g> на <xliff:g id="DEVICE_NAME">%2$s</xliff:g> за това приложение"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Преглед на всички разрешения, предоставени за: <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Преглед на всички приложения с това разрешение"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Показване на употребата на микрофона за Асистент"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Премахване на разрешенията, ако приложението не се използва"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Премахване на разреш. и освоб. на място"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Поставяне на активн. в прилож. на пауза, ако не се ползва"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Управление на прилож., ако не се ползва"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Премахване на разрешенията, изтриване на временните файлове и спиране на известията"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Премахване на разрешенията, изтриване на временните файлове, спиране на известията и архивиране на приложението"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"За да защитим данните ви, разрешенията за това приложение ще бъдат премахнати, ако не го използвате няколко месеца."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"За да защитим данните ви, следните разрешения ще бъдат премахнати, ако не използвате приложението няколко месеца: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"За да защитим данните ви, премахнахме разрешенията за приложенията, които не сте използвали от няколко месеца."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"С разрешение за управление на всички файлове"</string> <string name="ask_header" msgid="2633816846459944376">"Запитване всеки път"</string> <string name="denied_header" msgid="903209608358177654">"Не е разрешено"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> на <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Вижте още приложения, които имат достъп до всички файлове"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ден}other{# дни}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# час}other{# часа}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Приложение за бележки"</string> <string name="role_notes_description" msgid="8496852798616883551">"Приложения, които ви дават възможност да си водите бележки на устройството си"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"бележки"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Основно приложение за портфейл"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Приложение за портфейл"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Приложенията за портфейли могат да съхраняват кредитни карти, карти за лоялност, ключове за автомобил и други неща, за да ви помагат при различни видове транзакции."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Да се зададе ли <xliff:g id="APP_NAME">%1$s</xliff:g> като основно приложение за портфейл?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Не са необходими разрешения"</string> <string name="request_role_current_default" msgid="738722892438247184">"Текущо стандартно приложение"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Без повторно питане"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Задаване"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Още стандартни приложения"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Отваряне на връзки"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"По подразбиране за работа"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Стандартни за частното пространство"</string> <string name="default_app_none" msgid="9084592086808194457">"Няма"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Стандартно за системата)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Няма приложения"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Показване на икона за готовност на асистент"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Показване на икона в лентата на състоянието, когато микрофонът се използва за активиране на гласовия асистент"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да има достъп до снимките и мултимедията на устройството ви?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до снимките и мултимедията на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до снимките и мултимедията на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до контактите ви?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до контактите ви на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до контактите ви на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до местоположението на това устройство?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до местоположението на вашия <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до местоположението на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Само когато използвате приложението, то ще има достъп до местоположението"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до местоположението на това устройство?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до местоположението на вашия <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до местоположението на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Това приложение може да иска да осъществява постоянен достъп до местоположението ви – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Да се промени ли достъпът до местоположението за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до местоположението на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до местоположението на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Това приложение иска да осъществява постоянен достъп до местоположението ви – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да намира у-ва в близост, да се свързва с тях и да определя относит. им позиция?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Разреш. на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да намира, да се свързва със и да опред. отн. поз. на у-ва в близост до вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да намира, да се свързва със и да определя относителната позиция на устройствата в близост до <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да намира у-ва в близост, да се свързва с тях и да определя относит. им позиция? "<annotation id="link">"Разрешаване от настройките"</annotation>"."</string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Да се промени ли достъпът на <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> от приблизително местоположение на точно?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Да се промени ли достъпът на <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> до местоположението на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b> от приблизително към точно?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Да се промени ли достъпът на <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> до местоположението на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> от приблизително към точно?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до приблизителното местоположение на това устройство?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до приблизителното местоположение на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до приблизителното местоположение на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Точно"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Приблизително"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до календара ви?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до календара ви на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до календара ви на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да изпраща и преглежда SMS съобщения?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да изпраща и преглежда SMS съобщения на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да изпраща и преглежда SMS съобщения на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да има достъп до снимките, мултимедията и файловете на устройството ви?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до снимките, мултимедията и файловете на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до снимките, мултимедията и файловете на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Разрешаване на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> достъп до <b>снимките, видео- и аудиосъдържанието</b> на устройството ви?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Разр. на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> достъп до <b>снимките, видео- и аудиосъдърж. и другите файлове</b> на у-вото?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до музиката и аудиофайловете на това устройство?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до музиката и аудиото на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до музиката и аудиото на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до снимките и видеоклиповете на това устройство?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до снимките и видеоклиповете на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до снимките и видеоклиповете на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до още снимки и видеоклипове на това устройство?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до още снимки и видеоклипове на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до повече снимки и видеоклипове на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Приложението ще може да записва аудио само когато го използвате"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да записва аудио на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Това приложение може да иска да записва аудио по всяко време – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Да се промени ли достъпът до микрофона за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до микрофона на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до микрофона на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Това приложение иска да записва аудио по всяко време – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до физическата ви активност?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до физическата ви активност на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до физическата ви активност на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Приложението ще може да прави снимки и записва видеоклипове само когато го използвате"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да прави снимки и да записва видеоклипове на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Това приложение може да иска да прави снимки и да записва видеоклипове по всяко време – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Да се промени ли достъпът до камерата за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до камерата на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Да се промени ли достъпът на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до камерата на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Това приложение иска да прави снимки и да записва видеоклипове по всяко време – дори когато не го използвате. "<annotation id="link">"Разрешете от настройките."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до списъците с телефонните ви обаждания?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до списъците с телефонните ви обаждания на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до списъците с телефонните ви обаждания на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да извършва и управлява телефонни обаждания?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да извършва и управлява телефонни обаждания на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да извършва и управлява телефонни обаждания на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до данните от сензорите за жизнените ви показатели?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до данните за жизнените ви показатели на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до данните от сензорите за жизнените ви показатели на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Това приложение иска постоянен достъп до данните от сензорите за жизнените ви показатели – дори когато не го използвате. За да извършите тази промяна, "<annotation id="link">"отворете настройките"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до данните от сензорите за жизнените ви показатели?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Да се разреши ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до данните за жизнените ви показатели на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да осъществява достъп до данните от сензорите за жизнените ви показатели на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"За да разрешите на това приложение да осъществява достъп до данните от сензорите за тяло по всяко време – дори когато не го използвате, "<annotation id="link">"отворете настройките"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Да се предоставя ли достъп на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до данните от сензорите за тяло, докато приложението се използва?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Да има ли достъп <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до данните от сенз. за тяло на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>, докато прил. се ползва?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Да има ли достъп <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до данните от сензорите за тяло на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, докато приложението се използва?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ви изпраща известия?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ви изпраща известия на вашия <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Да се разреши ли на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ви изпраща известия на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Контролирани разрешения"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> има достъп до местоположението"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Организацията ви разрешава на <xliff:g id="APP_NAME">%1$s</xliff:g> да осъществява достъп до местоположението ви"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Без"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Последните\n24 часа"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Последните\n7 дни"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> процента"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Приложението <xliff:g id="APP_NAME">%1$s</xliff:g> е защитено от Android. Тъй като данните ви се обработват на това устройство, използването на разрешенията на приложението не се показва в лентата на състоянието, нито в таблото ви за управление на поверителността."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Приложението <xliff:g id="APP_NAME">%1$s</xliff:g> е защитено от Android. Тъй като данните ви се обработват на това устройство, използването на разрешенията на приложението не се показва в таблото ви за управление на поверителността."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камерата на устройството е блокирана"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"За приложения и услуги"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Данните от микрофона пак могат да се споделят, когато се обадите на номер за спешни случаи."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Промяна"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Достъпът до камерата е изключен"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"За приложения за основното устройство"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"За изискваните приложения"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Това приложение е необходимо"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Това приложение се изисква от производителя на автомобила ви"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Сигурност и поверителност"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Сканиране на устройството"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Отхвърляне"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Актуализации за споделянето на данни"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Някои приложения са променили как може да споделят данни за местоположението ви"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Настройки"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Осъществен достъп: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Осъществен достъп: вчера, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Осъществен достъп: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Еднократната ви парола е 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ограничена настройка"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"От съображения за сигурност понастоящем тази настройка не е налице."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"На приложението бе отказан достъп до <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Приложението поиска разрешение за достъп до поверителни данни, което може да изложи на риск личната или финансовата ви информация.<xliff:g id="ID_1"><br><br></xliff:g>Възможно е приложението да не работи правилно без това ограничено разрешение. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Научете как да разрешите достъпа</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"На приложението бе забранено да изпълнява функциите на основно <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Приложението поиска разрешения за достъп до поверителни данни, които може да изложат на риск личната или финансовата ви информация.<xliff:g id="ID_1"><br><br></xliff:g>Възможно е приложението да не работи правилно без тези ограничени разрешения. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Научете как да разрешите достъпа</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"На приложението бе отказан достъп"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Достъпът до това разрешение може да изложи на риск личната и финансовата ви информация.<xliff:g id="ID_1"><br><br></xliff:g>Възможно е приложението да не работи правилно без това ограничено разрешение. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Научете как да разрешите достъпа</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Научете повече"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Заявката за разрешения е блокирана"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Това приложение изисква допълнителни разрешения, но те не могат да бъдат предоставени в сесия за поточно предаване. Първо ги предоставете на телефона си."</string> </resources> diff --git a/PermissionController/res/values-bn-v34/strings.xml b/PermissionController/res/values-bn-v34/strings.xml index c93980dd1..69ea5b8a9 100644 --- a/PermissionController/res/values-bn-v34/strings.xml +++ b/PermissionController/res/values-bn-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"স্বাস্থ্য সংক্রান্ত ডেটায় অ্যাপের অ্যাক্সেস ম্যানেজ করুন"</string> <string name="location_settings" msgid="8863940440881290182">"লোকেশন অ্যাক্সেস করা"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"অ্যাপ ও পরিষেবার জন্য। আপনি কোনও জরুরি নম্বরে কল করলে, এই সেটিং বন্ধ করা থাকলেও, মাইক্রোফোনের ডেটা শেয়ার করা হতে পারে"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"অ্যাপ ও পরিষেবার জন্য"</string> </resources> diff --git a/PermissionController/res/values-bn-watch/strings.xml b/PermissionController/res/values-bn-watch/strings.xml index f8c2968f8..698bdc32c 100644 --- a/PermissionController/res/values-bn-watch/strings.xml +++ b/PermissionController/res/values-bn-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"পাল্টানো যাবে না"</string> <string name="generic_yes" msgid="2489207724988649846">"হ্যাঁ"</string> <string name="generic_cancel" msgid="2631708607129269698">"বাতিল করুন"</string> + <string name="permission_access_always" msgid="2107115233573823032">"সব সময়ের জন্য"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"অ্যাপ ব্যবহার করার সময়"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"সব সময়ের জন্য"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"অ্যাপ ব্যবহার করার সময়"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"সব সময়ের জন্য"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"অ্যাপ ব্যবহার করার সময়"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"সব সময়ের জন্য"</string> </resources> diff --git a/PermissionController/res/values-bn/strings.xml b/PermissionController/res/values-bn/strings.xml index c17a53046..b6ed3055b 100644 --- a/PermissionController/res/values-bn/strings.xml +++ b/PermissionController/res/values-bn/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"সব অনুমতি"</string> <string name="other_permissions" msgid="2901186127193849594">"অ্যাপের অন্যান্য কার্যক্ষমতা"</string> <string name="permission_request_title" msgid="8790310151025020126">"অনুমতির অনুরোধ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear-এ ইনস্টল/আনইনস্টল করা যাবে না।"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপটিকে কিসে কিসে অ্যাক্সেস দেবেন তা বেছে নিন"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> আপডেট করা হয়েছে৷ অ্যাপটিকে কিসে কিসে অ্যাক্সেস দেবেন তা বেছে নিন।"</string> <string name="review_button_cancel" msgid="2191147944056548886">"বাতিল করুন"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"সবসময় সব অনুমোদন করুন"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"প্রতিবার জিজ্ঞাসা করা হবে"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"অনুমতি দেবেন না"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"সুনির্দিষ্ট লোকেশন"</string> <string name="approximate_image_description" msgid="938803699637069884">"আনুমানিক লোকেশন"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"সুনির্দিষ্ট লোকেশন ব্যবহার করুন"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"সুনির্দিষ্ট লোকেশনের সুবিধা বন্ধ থাকলে, অ্যাপ আপনার আনুমানিক লোকেশন অ্যাক্সেস করতে পারবে"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> অনুমতি"</string> <string name="app_permission_header" msgid="2951363137032603806">"এই অ্যাপের জন্য <xliff:g id="PERM">%1$s</xliff:g> অ্যাক্সেস"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>-এ এই অ্যাপের জন্য <xliff:g id="PERM">%1$s</xliff:g>-এর অ্যাক্সেস"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g>-এর ক্ষেত্রে দেওয়া সব অনুমতি দেখুন"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"যেসব অ্যাপের এই অনুমতি আছে সেগুলি দেখুন"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant-এর মাইক্রোফোন ব্যবহার সম্পর্কিত ডেটা দেখুন"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"অ্যাপ ব্যবহার করা না হলে সেটি থেকে অনুমতি প্রত্যাহার করে নিন"</string> <string name="unused_apps_label" msgid="2595428768404901064">"অনুমতি সরান এবং স্পেস খালি করুন"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ব্যবহার না হলে অ্যাপ অ্যাক্টিভিটি পজ করুন"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ব্যবহার না করা হলে অ্যাপ ম্যানেজ করুন"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"অনুমতি সরান, অস্থায়ী ফাইল মুছুন এবং বিজ্ঞপ্তি বন্ধ করুন"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"অনুমতি সরান, অস্থায়ী ফাইল মুছুন, বিজ্ঞপ্তি বন্ধ করুন এবং অ্যাপ আর্কাইভ করুন"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"আপনার ডেটা সুরক্ষিত রাখতে এই অ্যাপ কয়েক মাস ব্যবহার করা না হলে, এটিকে দেওয়া অনুমতি প্রত্যাহার করে নেওয়া হবে।"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"আপনার ডেটা সুরক্ষিত রাখতে অ্যাপটি কয়েক মাস ব্যবহার করা না হলে, এই অনুমতি প্রত্যাহার করে নেওয়া হবে: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"আপনার ডেটা সুরক্ষিত রাখতে যেসব অ্যাপ গত কয়েক মাস ব্যবহার করা হয়নি সেগুলি থেকে অনুমতি প্রত্যাহার করে নেওয়া হয়েছে।"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"সমস্ত ফাইল ম্যানেজ করার অনুমতি দেওয়া হয়েছে"</string> <string name="ask_header" msgid="2633816846459944376">"প্রতিবার জিজ্ঞাসা করে"</string> <string name="denied_header" msgid="903209608358177654">"অনুমোদিত নয়"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>-এ <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"সব ফাইল অ্যাক্সেস করতে পারবে এমন আরও অ্যাপ দেখুন"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{১ দিন}one{# দিন}other{# দিন}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ঘণ্টা}one{# ঘণ্টা}other{# ঘণ্টা}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"নোট অ্যাপ"</string> <string name="role_notes_description" msgid="8496852798616883551">"অ্যাপ, যা আপনার ডিভাইসে নোট নেওয়ার অনুমতি দেয়"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"নোট"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ডিফল্ট ওয়ালেট অ্যাপ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"ওয়ালেট অ্যাপ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"বিভিন্ন ধরনের ট্রানজ্যাকশনের ক্ষেত্রে আপনাকে সাহায্য করতে, ওয়ালেট অ্যাপ আপনার ক্রেডিট ও লয়ালটি কার্ড, গাড়ির \'কী\' এবং অন্যান্য জিনিস সেভ করতে পারবে।"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> অ্যাপকে আপনার ডিফল্ট ওয়ালেট অ্যাপ হিসেবে সেট করবেন?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"কোনও অনুমতির প্রয়োজন নেই"</string> <string name="request_role_current_default" msgid="738722892438247184">"বর্তমান ডিফল্ট"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"আর দেখতে চাই না"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ডিফল্ট হিসেবে রাখুন"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"আরও ডিফল্ট"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"লিঙ্ক খোলা"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"অফিসের জন্য ডিফল্ট"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"প্রাইভেট স্পেসের জন্য ডিফল্ট"</string> <string name="default_app_none" msgid="9084592086808194457">"কোনওটিই নয়"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(সিস্টেম ডিফল্ট)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"কোনও অ্যাপ নেই"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"অ্যাসিস্ট্যান্ট ট্রিগার ডিটেকশন দেখুন"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ভয়েস অ্যাসিস্ট্যান্ট চালু করতে মাইক্রোফোন ব্যবহার হলে স্ট্যাটাস বারে আইকন দেখায়"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার ডিভাইসের ফটো এবং মিডিয়াতে অ্যাক্সেস দেবেন?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ফটো ও মিডিয়া অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের ফটো ও মিডিয়া অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার পরিচিতিতে অ্যাক্সেস দেবেন?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে পরিচিতি অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের পরিচিতি অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে এই ডিভাইসের লোকেশন অ্যাক্সেস করতে দেবেন?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"আপনার <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের লোকেশন অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> ডিভাইসের লোকেশন অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"আপনি এই অ্যাপ ব্যবহার করার সময়েই শুধু সেটি আপনার লোকেশন অ্যাক্সেস করতে পারবে"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে এই ডিভাইসের লোকেশন অ্যাক্সেস করতে দেবেন?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে আপনার <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ডিভাইসের লোকেশন অ্যাক্সেস করার অনুমতি দিতে চান?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> ডিভাইসের লোকেশন অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"এই অ্যাপ হয়ত সবসময় আপনার লোকেশন অ্যাক্সেস করতে চায়, এমনকি আপনার অ্যাপ চালু না থাকলেও। "<annotation id="link">"সেটিংস বিকল্প থেকে অনুমতি দিন।"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-এর জন্য লোকেশন অ্যাক্সেস পরিবর্তন করতে চান?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের জন্য লোকেশনের অ্যাক্সেস পরিবর্তন করতে চান?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের লোকেশন অ্যাক্সেস পরিবর্তন করবেন?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"এই অ্যাপটি সবসময় আপনার লোকেশন অ্যাক্সেস করতে চায়, এমনকি আপনার অ্যাপ চালু না থাকলেও। "<annotation id="link">"সেটিংস বিকল্প থেকে অনুমতি দিন।"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"কাছাকাছি ডিভাইস খুঁজে দেখতে, কানেক্ট করতে এবং সেটির আপেক্ষিক অবস্থান নির্ধারণ করতে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে আশেপাশের ডিভাইস খুঁজতে, কানেক্ট করতে এবং সেটি কোথায় রয়েছে তা জানার অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে আশেপাশের ডিভাইস খুঁজতে, কানেক্ট করতে এবং সেটি কোথায় রয়েছে তা জানার অনুমতি দেবেন?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"কাছাকাছি ডিভাইস খুঁজে দেখতে, কানেক্ট করতে এবং সেটির আপেক্ষিক অবস্থান নির্ধারণ করতে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দেবেন? "<annotation id="link">"সেটিংস থেকে অনুমতি দিন।"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-এ লোকেশন অ্যাক্সেস, আনুমানিক থেকে সুনির্দিষ্ট লোকেশনে পরিবর্তন করতে চান?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> অ্যাপের লোকেশন আনুমানিক থেকে সঠিকে পরিবর্তন করতে চান?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> অ্যাপটির লোকেশন অ্যাক্সেস \'আনুমানিক\' থেকে \'সুনির্দিষ্ট\'-তে পরিবর্তন করবেন?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে এই ডিভাইসের নিকটবর্তী লোকেশন অ্যাক্সেস করতে দেবেন?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসের আনুমানিক লোকেশন অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের আনুমানিক লোকেশন অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"নির্ভুল"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"নিকটবর্তী"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার ক্যালেন্ডারে অ্যাক্সেস দেবেন?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ক্যালেন্ডার অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আপনার ক্যালেন্ডার অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে এসএমএস দেখতে ও পাঠাতে দেবেন?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে এসএমএস মেসেজ পাঠাতে ও দেখাতে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে এসএমএস পাঠানো ও পড়ার অনুমতি দেবেন?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার ডিভাইসের ফটো, মিডিয়া এবং ফাইলে অ্যাক্সেস দেবেন?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ফটো, মিডিয়া এবং ফাইল অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের ফটো, মিডিয়া ও ফাইল অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"এই ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে <b>ফটো, ভিডিও, মিউজিক এবং অডিও</b> অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"এই ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে <b>ফটো, ভিডিও, মিউজিক, অডিও ও অন্যান্য ফাইল</b> অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"এই ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে মিউজিক ও অডিও ফাইল অ্যাক্সেসের অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে মিউজিক ও অডিও অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে lt;b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে মিউজিক ও অডিও অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"এই ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে ফটো ও ভিডিও অ্যাক্সেসের অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ফটো ও ভিডিও অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসের ফটো ও ভিডিও অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"এই ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আরও ফটো ও ভিডিও অ্যাক্সেসের অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে আরও ফটো ও ভিডিও অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আরও ফটো ও ভিডিও অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে অডিও রেকর্ড করার অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে অডিও রেকর্ড করার অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে অডিও রেকর্ড করার অনুমতি দেবেন?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"আপনি এই অ্যাপ ব্যবহার করার সময়েই শুধুমাত্র সেটি অডিও রেকর্ড করতে পারবে"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে অডিও রেকর্ড করার অনুমতি দিতে চান?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে অডিও রেকর্ড করার অনুমতি দিতে চান?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে অডিও রেকর্ড করার অনুমতি দেবেন?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"এই অ্যাপ হয়ত সবসময় এমনকি আপনি যখন অ্যাপ ব্যবহার করছেন না তখনও অডিও রেকর্ড করতে চাইতে পারে। "<annotation id="link">"সেটিংস থেকে অনুমতি দিন।"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-এর জন্য মাইক্রোফোন অ্যাক্সেস পরিবর্তন করতে চান?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের জন্য মাইক্রোফোনের অ্যাক্সেস পরিবর্তন করতে চান?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের মাইক্রোফোন অ্যাক্সেস পরিবর্তন করবেন?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"এই অ্যাপ হয়ত সবসময় এমনকি আপনি যখন অ্যাপ ব্যবহার করছেন না তখনও অডিও রেকর্ড করতে চাইবে। "<annotation id="link">"সেটিংস থেকে অনুমতি দিন।"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার শারীরিক অ্যাক্টিভিটি অ্যাক্সেস করার অনুমতি দিতে চান?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে শারীরিক অ্যাক্টিভিটি অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আপনার শারীরিক অ্যাক্টিভিটির ডেটা অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে ফটো তোলা ও ভিডিও রেকর্ড করার অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে ছবি তোলার এবং ভিডিও রেকর্ড করার অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে ফটো তোলার ও ভিডিও রেকর্ড করার অনুমতি দেবেন?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"আপনি এই অ্যাপ ব্যবহার করার সময়েই শুধুমাত্র সেটি ছবি তুলতে এবং ভিডিও রেকর্ড করতে পারবে"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে ফটো তুলতে এবং ভিডিও রেকর্ড করার অনুমতি দিতে চান?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে ছবি তোলার এবং ভিডিও রেকর্ড করার অনুমতি দিতে চান?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে ফটো তোলার ও ভিডিও রেকর্ড করার অনুমতি দেবেন?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"এই অ্যাপ হয়ত সবসময় এমনকি আপনি যখন অ্যাপ ব্যবহার করছেন না তখনও ছবি তুলতে এবং ভিডিও রেকর্ড করতে চাইতে পারে। "<annotation id="link">"সেটিংস থেকে অনুমতি দিন।"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-এর জন্য ক্যামেরা অ্যাক্সেস পরিবর্তন করতে চান?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের জন্য ক্যামেরার অ্যাক্সেস পরিবর্তন করতে চান?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপের ক্যামেরা অ্যাক্সেস পরিবর্তন করতে চান?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"এই অ্যাপ সবসময় এমনকি আপনি যখন অ্যাপ ব্যবহার করছেন না তখনও ছবি তুলতে এবং ভিডিও রেকর্ড করতে চাইবে। "<annotation id="link">"সেটিংস থেকে অনুমতি দিন।"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার ফোন কল লগ অ্যাক্সেস করার অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ফোনের কল লগ অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আপনার ফোনের কল লগ অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে কল করতে এবং কল পরিচালনা করতে দেবেন?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে ফোন কল করতে ও ম্যানেজ করতে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে ফোন কল করার ও তা ম্যানেজ করার অনুমতি দেবেন?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে সেন্সর থেকে আপনার ভাইটাল সাইনের ডেটা অ্যাক্সেস করতে দেবেন?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-এ ভাইটাল সাইন সম্পর্কিত সেন্সর ডেটা অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আপনার ভাইটাল সাইন সম্পর্কিত সেন্সর ডেটা অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"এই অ্যাপ সবসময় শারীরবৃত্তীয় লক্ষণ সংক্রান্ত সেন্সর ডেটা অ্যাক্সেস করার অনুমতি চায়, এমনকী আপনি যখন অ্যাপটি ব্যবহার করছেন না, তখনও। এই পরিবর্তন চালু করতে, "<annotation id="link">"সেটিংসে যান।"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে আপনার বেঁচে থাকার গুরুত্বপূর্ণ লক্ষণ সম্পর্কিত সেন্সর ডেটা অ্যাক্সেস করার অনুমতি দিতে চান?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-এ ভাইটাল সাইন সম্পর্কিত সেন্সর ডেটা অ্যাক্সেস করার জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে অনুমতি দিতে চান?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে আপনার ভাইটাল সাইন সম্পর্কিত সেন্সর ডেটা অ্যাক্সেসের অনুমতি দেবেন?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"অ্যাপটি ব্যবহার না করলেও, সেটিকে সবসময় বডি সেন্সর ডেটাতে অ্যাক্সেস দিতে "<annotation id="link">"সেটিংসে যান"</annotation>"।"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ব্যবহার করার সময় <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে বডি সেন্সর ডেটার অ্যাক্সেস দিয়ে রাখতে চান?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ব্যবহার করার সময় <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে বডি সেন্সর ডেটা অ্যাক্সেস করার অনুমতি দিতে চান?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপ ব্যবহার করার সময় সেটির বডি সেন্সর ডেটা অ্যাক্সেসের অনুমতি চালু রাখবেন?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-কে বিজ্ঞপ্তি পাঠানোর অনুমতি দেবেন?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"আপনার <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ডিভাইসে বিজ্ঞপ্তি পাঠানোর জন্য <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে অনুমতি দিতে চান?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> অ্যাপকে <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ডিভাইসে বিজ্ঞপ্তি পাঠানোর অনুমতি দেবেন?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"নিয়ন্ত্রিত অনুমতি"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g>-এর লোকেশন অ্যাক্সেস আছে"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"আপনার সংস্থা <xliff:g id="APP_NAME">%1$s</xliff:g>-কে আপনার লোকেশন অ্যাক্সেস করার অনুমতি দেয়"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"কোনওটিই নয়"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"গত\n২৪ ঘণ্টা"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"গত\n৭ দিনে"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> শতাংশ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android-এর মাধ্যমে সুরক্ষিত। এই ডিভাইসে আপনার ডেটা প্রসেস হওয়ার জন্য, এই অ্যাপের অনুমতি ব্যবহার সংক্রান্ত তথ্য স্ট্যাটাস বার বা প্রাইভেসি ড্যাশবোর্ডে দেখা যাবে না।"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android-এর মাধ্যমে সুরক্ষিত। এই ডিভাইসে আপনার ডেটা প্রসেস হওয়ার জন্য, এই অ্যাপের অনুমতি ব্যবহার সংক্রান্ত তথ্য প্রাইভেসি ড্যাশবোর্ডে দেখা যাবে না।"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ডিভাইসের ক্যামেরা ব্লক করা আছে"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"অ্যাপ ও পরিষেবার জন্য"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"আপনি জরুরি নম্বরে কল করার সময় মাইক্রোফোন ডেটা এখনও শেয়ার করা হতে পারে।"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"পরিবর্তন করুন"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ক্যামেরার অ্যাক্সেস বন্ধ করা আছে"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ইনফোটেনমেন্ট অ্যাপের জন্য"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"প্রয়োজনীয় অ্যাপের জন্য"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"এই অ্যাপটি প্রয়োজন"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"আপনার গাড়ির প্রস্তুতকারকের এই অ্যাপটি প্রয়োজন"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"নিরাপত্তা এবং গোপনীয়তা"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ডিভাইস স্ক্যান করুন"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"বাতিল করুন"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ডেটা শেয়ারিং সংক্রান্ত আপডেট"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"কিছু অ্যাপ আপনার লোকেশন ডেটা শেয়ার করার উপায়ের ক্ষেত্রে পরিবর্তন করেছে"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"সেটিংস"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>-এ অ্যাক্সেস করা হয়েছে"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"গতকাল <xliff:g id="TIME_DATE">%1$s</xliff:g>-এ অ্যাক্সেস করা হয়েছে"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>-এ অ্যাক্সেস করা হয়েছে"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"আপনার একবার ব্যবহারের পাসওয়ার্ড হল ১২৩৪৩৫"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"বিধিনিষেধযুক্ত সেটিংস"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"আপনার নিরাপত্তার জন্য, এই সেটিং বর্তমানে উপলভ্য নেই।"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"অ্যাপকে <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> অ্যাক্সেস করতে দেওয়া হয়নি"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"অ্যাপটি সংবেদনশীল অনুমতি অ্যাক্সেস করার অনুরোধ জানিয়েছে, যার জন্য আপনার ব্যক্তিগত ও আর্থিক অবস্থা সম্পর্কিত তথ্যের ক্ষেত্রে ঝুঁকির সম্ভাবনা থাকতে পারে।<xliff:g id="ID_1"><br><br></xliff:g>এই সীমাবদ্ধ অনুমতি ছাড়া অ্যাপটি সঠিকভাবে কাজ না করার সম্ভাবনাও আছে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কীভাবে অ্যাক্সেস করার অনুমতি দেবেন সেই সম্পর্কে জানুন</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"অ্যাপকে ডিফল্ট <xliff:g id="ROLE_NAME">%1$s</xliff:g> হিসেবে কাজ করার অ্যাক্সেস দেওয়া হয়নি"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"অ্যাপটি সংবেদনশীল অনুমতি অ্যাক্সেস করার অনুরোধ জানিয়েছে, যার জন্য আপনার ব্যক্তিগত ও আর্থিক অবস্থা সম্পর্কিত তথ্যের ক্ষেত্রে ঝুঁকির সম্ভাবনা থাকতে পারে।<xliff:g id="ID_1"><br><br></xliff:g>এইসব সীমাবদ্ধ অনুমতি ছাড়া অ্যাপটি সঠিকভাবে কাজ না করার সম্ভাবনাও আছে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কীভাবে অ্যাক্সেস করার অনুমতি দেবেন সেই সম্পর্কে জানুন</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"অ্যাপকে অ্যাক্সেস দেওয়া হয়নি"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"এই অনুমতি অ্যাক্সেস করলে আপনার ব্যক্তিগত ও আর্থিক অবস্থা সম্পর্কিত তথ্যের ক্ষেত্রে ঝুঁকি তৈরি হতে পারে।<xliff:g id="ID_1"><br><br></xliff:g>এই অনুমতি ছাড়া এই অ্যাপ সঠিকভাবে কাজ না করার সম্ভাবনা থাকতে পারে। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>কীভাবে অ্যাক্সেস করার অনুমতি দেবেন সেই সম্পর্কে জানুন</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"আরও জানুন"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ঠিক আছে"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"অনুমতির অনুরোধ ব্লক করা হয়েছে"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"এই অ্যাপ অতিরিক্ত অনুমতির জন্য অনুরোধ করছে, কিন্তু স্ট্রিমিং সেশন চলাকালীন অনুমতি দেওয়া যাবে না। প্রথমে আপনার ফোনে অনুমতি দিন।"</string> </resources> diff --git a/PermissionController/res/values-bs-v34/strings.xml b/PermissionController/res/values-bs-v34/strings.xml index e2b8445df..d3e33f8e9 100644 --- a/PermissionController/res/values-bs-v34/strings.xml +++ b/PermissionController/res/values-bs-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Upravljajte pristupom aplikacije zdravstvenim podacima"</string> <string name="location_settings" msgid="8863940440881290182">"Pristup lokaciji"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Za aplikacije i usluge. Ako je ova postavka isključena, podaci mikrofona se i dalje mogu dijeliti kada pozovete broj za hitne slučajeve"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Za aplikacije i usluge"</string> </resources> diff --git a/PermissionController/res/values-bs-watch/strings.xml b/PermissionController/res/values-bs-watch/strings.xml index 1a15ad0b3..68f066963 100644 --- a/PermissionController/res/values-bs-watch/strings.xml +++ b/PermissionController/res/values-bs-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ne mijenja se"</string> <string name="generic_yes" msgid="2489207724988649846">"Da"</string> <string name="generic_cancel" msgid="2631708607129269698">"Otkaži"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Cijelo vrijeme"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Dok se aplikacija koristi"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Cijelo vrijeme"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Dok se aplikacija koristi"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Cijelo vrijeme"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Dok se aplikacija koristi"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Cijelo vrijeme"</string> </resources> diff --git a/PermissionController/res/values-bs/strings.xml b/PermissionController/res/values-bs/strings.xml index 061ed86a1..9fe464676 100644 --- a/PermissionController/res/values-bs/strings.xml +++ b/PermissionController/res/values-bs/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Sva odobrenja"</string> <string name="other_permissions" msgid="2901186127193849594">"Ostale mogućnosti aplikacije"</string> <string name="permission_request_title" msgid="8790310151025020126">"Zahtjev za odobrenje"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Instaliranje/deinstaliranje nije podržano na Wearu."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Izaberite čemu aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g>&Lt;/b> može pristupiti"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikacija &Lt;b><xliff:g id="APP_NAME">%1$s</xliff:g>&Lt;/b> je ažurirana. Izaberite čemu ova aplikacija može pristupiti."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Otkaži"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Uvijek dozvoli sve"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pitaj svaki put"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nemoj dozvoliti"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Tačna lokacija"</string> <string name="approximate_image_description" msgid="938803699637069884">"Približna lokacija"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Koristi tačnu lokaciju"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kada je tačna lokacija isključena, aplikacije mogu pristupiti vašoj približnoj lokaciji"</string> <string name="app_permission_title" msgid="2090897901051370711">"Odobrenje za: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Pristup aplikacije za: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Pristup aplikaciji \"<xliff:g id="PERM">%1$s</xliff:g>\" za ovu aplikaciju na uređaju \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Prikaži sva odobrenja aplikacije <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Prikaži sve aplikacije s ovim odobrenjem"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Prikaži korištenje mikrofona asistenta"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ukloni odobrenja ako se aplikacija ne koristi"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ukloni odobrenja i oslobodi prostor"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pauziraj aktivnost apl. ako se ne koristi"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljanje aplikacijom ako se ne koristi"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Uklonite odobrenja, izbrišite privremene fajlove i zaustavite obavještenja"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Uklonite odobrenja, izbrišite privremene fajlove, zaustavite obavještenja i arhivirajte aplikaciju"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Zbog zaštite vaših podataka, odobrenja za ovu aplikaciju će se ukloniti ako se ona ne bude koristila nekoliko mjeseci."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Radi zaštite vaših podataka, ako se aplikacija ne bude koristila nekoliko mjeseci, uklonit će se sljedeća odobrenja: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Zbog zaštite vaših podataka uklonjena su odobrenja iz aplikacija koje niste koristili nekoliko mjeseci."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Dozvoljeno upravljanje svim fajlovima"</string> <string name="ask_header" msgid="2633816846459944376">"Pitaj svaki put"</string> <string name="denied_header" msgid="903209608358177654">"Nije dozvoljeno"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> na uređaju \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Pogledajte više aplikacija koje imaju pristup svim fajlovima"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dan}one{# dan}few{# dana}other{# dana}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# h}one{# h}few{# h}other{# h}}"</string> @@ -376,7 +380,7 @@ <string name="role_emergency_request_description" msgid="131645948770262850">"Nije potrebno odobrenje"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"hitni slučaj"</string> <string name="role_home_label" msgid="3871847846649769412">"Zadana apl. na početnom ekranu"</string> - <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija na početnom ekranu"</string> + <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija za početni ekran"</string> <string name="role_home_description" msgid="7997371519626556675">"Aplikacije, poznate i kao pokretači, koje zamjenjuju početne ekrane na Android uređaju te vam daju pristup sadržaju i funkcijama uređaja"</string> <string name="role_home_request_title" msgid="738136983453341081">"Postaviti aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadanu aplikaciju na početnom ekranu?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Nije potrebno odobrenje"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacija za bilješke"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacije koje vam dozvoljavaju da pravite bilješke na uređaju"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"bilješke"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Zadana aplikacija za novčanik"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacija za novčanik"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikacije za novčanik mogu pohranjivati kreditne kartice, kartice lojalnosti, ključeve automobila i druge stvari da vam pomognu pri raznim vrstama transakcija."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Postaviti aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadanu aplikaciju za novčanik?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nije potrebno odobrenje"</string> <string name="request_role_current_default" msgid="738722892438247184">"Trenutno zadano"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne pitaj ponovo"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Postavi kao zadano"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Više zadanih"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otvaranje linkova"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Uobičajeno za rad"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Zadano za privatni prostor"</string> <string name="default_app_none" msgid="9084592086808194457">"Nema"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sistemski zadano)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nema aplikacija"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Prikaži otkrivanje aktiviranja asistenta"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Prikaz ikone na statusnoj traci kada se mikrofon koristi za aktiviranje glasovne pomoći"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i medijima na vašem uređaju?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i medijskim fajlovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i medijskim fajlovima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa vašim kontaktima?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa kontaktima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa kontaktima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacija će imati pristup lokaciji isključivo dok je koristite"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji ovog uređaja?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Moguće je da će aplikacija željeti pristup vašoj lokaciji sve vrijeme, čak i kada je ne budete koristili. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Promijeniti pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Promijeniti pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Promijeniti pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ova aplikacija želi pristup vašoj lokaciji sve vrijeme, čak i kada je ne koristite. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pronađe uređaje u blizini, poveže se s njima te odredi njihov relativni položaj?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da traži, poveže se i odredi položaj uređaja u blizini na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pronalazi uređaje u blizini, povezuje se s njima i utvrđuje njihov relativan položaj?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pronađe uređaje u blizini, poveže se s njima te odredi njihov relativni položaj? "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Promijeniti pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> lokaciji iz približne u tačnu?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Promijeniti pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> lokaciji na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b> iz približne u tačnu?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Promijeniti pristup aplikacije <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> lokaciji na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> iz približne u tačnu?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa približnoj lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa približnoj lokaciji uređaja <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa približnoj lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Tačno"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Približno"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupi vašem kalendaru?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa kalendaru na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa kalendaru na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da šalje i pregleda SMS poruke?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da šalje i pregleda SMS poruke na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da šalje i pregleda SMS poruke na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama, medijima i fajlovima na vašem uređaju?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama, medijima i fajlovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama te medijskim i ostalim fajlovima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Dozvoliti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa <b>foto/video/muzičkim/audio fajlovima</b> na ovom uređaju?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Dozvoliti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa <b>foto/video/muzičkim/audio i drugim fajlovima</b> na uređaju?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Dozvoliti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa muzici i zvuku na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa muzici i audio zapisima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa muzici i audio zapisima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i videozapisima na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i videozapisima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i videozapisima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa većem broju fotografija i videozapisa na uređaju?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa većem broju fotografija i videozapisa na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa dodatnim fotografijama i videozapisima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima zvuk?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima zvuk na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima zvuk na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacija će moći snimati zvuk samo za vrijeme korištenja"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snimanje zvuka?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima zvuk na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima zvuk na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ova aplikacija može tražiti da snima zvuk sve vrijeme, čak i kada je ne koristite. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Promijeniti pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Promijeniti pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Promijeniti pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ova aplikacija traži da snima zvuk sve vrijeme, čak i kada je ne koristite. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa informacijama o vašoj fizičkoj aktivnosti?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fizičkoj aktivnosti na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fizičkoj aktivnosti na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima fotografije i videozapise?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima slike i videozapise na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima slike i videozapise na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacija će moći snimati slike i videozapise samo za vrijeme korištenja"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snimanje slika i videozapisa?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima slike i videozapise na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da snima slike i videozapise na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ova aplikacija može tražiti da snima slike i videozapise sve vrijeme, čak i kada je ne koristite. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Promijeniti pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Promijeniti pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Promijeniti pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ova aplikacija traži da snima slike i videozapise sve vrijeme, čak i kada je ne koristite. "<annotation id="link">"Dozvolite u postavkama."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa zapisnicima poziva?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa zapisnicima telefonskih poziva na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa zapisnicima poziva na telefonu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da upućuje pozive i upravlja njima?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da uspostavlja telefonske pozive i upravlja njima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da upućuje telefonske pozive i njima upravlja na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa senzornim podacima o vašim vitalnim znakovima?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vitalnim znakovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vitalnim znakovima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ova aplikacija želi pristupati podacima senzora o vašim vitalnim znakovima sve vrijeme, čak i kada je ne koristite. Da to promijenite, "<annotation id="link">"idite u postavke."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vašim vitalnim znakovima?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vitalnim znakovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vitalnim znakovima na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Da dozvolite aplikaciji da pristupa podacima tjelesnih senzora sve vrijeme, čak i kada je ne koristite, "<annotation id="link">"idite u postavke."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Nastaviti dozvoljavati aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima tjelesnih senzora dok se koristi?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Nastaviti dozvoljavati aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima tjelesnih senzora na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b> dok je koristite?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Nastaviti dozvoljavati aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima tjelesnih senzora na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> dok se koristi?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da vam šalje obavještenja?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da šalje obavještenja na uređaj <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Dozvoliti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da vam šalje obavještenja na uređaju <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrolirana odobrenja"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ima pristup lokaciji"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaša organizacija dozvoljava aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> da pristupa vašoj lokaciji"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ništa"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Protekla\n24 sata"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Posljednjih\n7 dana"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> posto"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je zaštićena Androidom. S obzirom na to da se vaši podaci obrađuju na ovom uređaju, korištenje odobrenja ove aplikacije nije prikazano na statusnoj traci ili kontrolnoj tabli za privatnost."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je zaštićena Androidom. S obzirom na to da se vaši podaci obrađuju na ovom uređaju, korištenje odobrenja ove aplikacije nije prikazano na kontrolnoj tabli za privatnost."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera uređaja je blokirana"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Za aplikacije i usluge"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Podaci mikrofona se i dalje mogu dijeliti kada pozovete broj za hitne slučajeve."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Promijeni"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Pristup kameri je isključen"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Za informativno-zabavne aplikacije"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Za potrebne aplikacije"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ova aplikacija je potrebna"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ovu aplikaciju zahtijeva proizvođač automobila"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sigurnost i privatnost"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skeniraj uređaj"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Odbaci"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Promjene u dijeljenju podataka"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Neke aplikacije mogu promijeniti način na koji mogu dijeliti podatke o lokaciji"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Postavke"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Pristupljeno je u <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Pristupljeno je jučer u <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Pristupljeno je <xliff:g id="TIME_DATE_0">%1$s</xliff:g> u <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jednokratna lozinka je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ograničena postavka"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Radi vaše sigurnosti postavka trenutno nije dostupna."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikaciji je odbijen pristup odobrenju <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacija je zatražila pristup osjetljivom odobrenju, što može ugroziti vaše lične i finansijske informacije.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće ispravno raditi bez ovog ograničenog odobrenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako dozvoliti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikaciji je odbijen pristup da bude zadana uloga <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacija je zatražila pristup osjetljivim odobrenjima, što može ugroziti vaše lične i finansijske informacije.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće ispravno raditi bez ovih ograničenih odobrenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako dozvoliti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikaciji je odbijen pristup"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Pristup ovom odobrenju može ugroziti vaše lične i finansijske informacije.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće ispravno raditi bez ovog ograničenog odobrenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako dozvoliti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saznajte više"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Uredu"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Zahtjev za odobrenje je potisnut"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Aplikacija traži dodatna odobrenja, ali se ona ne mogu dati u sesiji prijenosa. Najprije dajte odobrenje na telefonu."</string> </resources> diff --git a/PermissionController/res/values-ca-v34/strings.xml b/PermissionController/res/values-ca-v34/strings.xml index 8aad7b657..727208ace 100644 --- a/PermissionController/res/values-ca-v34/strings.xml +++ b/PermissionController/res/values-ca-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gestiona l\'accés de les aplicacions a les dades de salut"</string> <string name="location_settings" msgid="8863940440881290182">"Accés a la ubicació"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Per a aplicacions i serveis. És possible que les dades del micròfon es comparteixin si truques a un número d\'emergència encara que aquesta opció estigui desactivada."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Per a aplicacions i serveis"</string> </resources> diff --git a/PermissionController/res/values-ca-watch/strings.xml b/PermissionController/res/values-ca-watch/strings.xml index a7ba423ff..41bdada45 100644 --- a/PermissionController/res/values-ca-watch/strings.xml +++ b/PermissionController/res/values-ca-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"No es pot canviar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sí"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel·la"</string> + <string name="permission_access_always" msgid="2107115233573823032">"En tot moment"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Quan s\'utilitza l\'aplicació"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"En tot moment"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Quan s\'utilitza l\'aplicació"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"En tot moment"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Quan s\'utilitza l\'aplicació"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"En tot moment"</string> </resources> diff --git a/PermissionController/res/values-ca/strings.xml b/PermissionController/res/values-ca/strings.xml index 729b8f20f..4d7a723da 100644 --- a/PermissionController/res/values-ca/strings.xml +++ b/PermissionController/res/values-ca/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Tots els permisos"</string> <string name="other_permissions" msgid="2901186127193849594">"Altres competències de l\'aplicació"</string> <string name="permission_request_title" msgid="8790310151025020126">"Sol·licitud de permís"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Les accions d\'instal·lar o de desinstal·lar no s\'admeten a Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Tria a què vols que tingui accés <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"S\'ha actualitzat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Tria a què vols que tingui accés aquesta aplicació."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel·la"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permet sempre tot"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pregunta sempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"No permetis"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Ubicació precisa"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ubicació aproximada"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utilitza la ubicació precisa"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Quan la ubicació precisa està desactivada, les aplicacions poden accedir a la teva ubicació aproximada"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permís d\'accés a <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Accés a <xliff:g id="PERM">%1$s</xliff:g> per a aquesta aplicació"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Accés de <xliff:g id="PERM">%1$s</xliff:g> a aquesta aplicació (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Mostra tots els permisos per a <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Mostra totes les aplicacions que tenen aquest permís"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostra l\'ús del micròfon de l\'Assistent"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Suprimeix els permisos si no s\'utilitza l\'aplicació"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Suprimeix els permisos i allibera espai"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Activitat a l\'app en pausa si no s\'usa"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gestiona l\'aplicació si no s\'utilitza"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Suprimeix els permisos i els fitxers temporals, i atura les notificacions"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Suprimeix els permisos, elimina els fitxers temporals, atura les notificacions i arxiva l\'aplicació"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Per protegir les teves dades, els permisos d\'aquesta aplicació se suprimiran si no la utilitzes durant uns mesos."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Si l\'aplicació no s\'utilitza durant uns mesos, se suprimiran els permisos següents per protegir les teves dades: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Per protegir les teves dades, s\'han suprimit els permisos de les aplicacions que no has utilitzat durant els darrers mesos."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Poden gestionar tots els fitxers"</string> <string name="ask_header" msgid="2633816846459944376">"Pregunta sempre"</string> <string name="denied_header" msgid="903209608358177654">"Sense permís"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Mostra més aplicacions que poden accedir a tots els fitxers"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dia}many{# dies}other{# dies}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}many{# hores}other{# hores}}"</string> @@ -292,7 +296,7 @@ <string name="notification_listener_remove_access_success_label" msgid="2477611529875633107">"S\'ha suprimit l\'accés"</string> <string name="accessibility_access_reminder_notification_title" msgid="2971317234668807566">"Revisa l\'aplicació amb accés complet al dispositiu"</string> <string name="accessibility_access_reminder_notification_content" msgid="7389454158175306720">"<xliff:g id="APP_NAME">%s</xliff:g> pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista."</string> - <string name="accessibility_access_warning_card_content" msgid="4370327190293217358">"Aquesta aplicació pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista, però comprova l\'aplicació i assegura\'t que sigui de confiança."</string> + <string name="accessibility_access_warning_card_content" msgid="4370327190293217358">"Aquesta aplicació pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista, però comprova l\'aplicació i assegura\'t que hi confies."</string> <string name="accessibility_remove_access_button_label" msgid="44145801526711640">"Suprimeix l\'accés"</string> <string name="accessibility_show_all_apps_button_label" msgid="960067249326392280">"Veure les aplicacions amb accés complet"</string> <string name="accessibility_remove_access_success_label" msgid="4380995302917014670">"S\'ha suprimit l\'accés"</string> @@ -357,7 +361,7 @@ <string name="role_browser_description" msgid="3465253637499842671">"Aplicacions que et donen accés a Internet i que mostren els enllaços que toques"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"Vols establir <xliff:g id="APP_NAME">%1$s</xliff:g> com a aplicació de navegador predeterminada?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"No calen permisos"</string> - <string name="role_dialer_label" msgid="1100224146343237968">"Aplicació Telèfon predeterminada"</string> + <string name="role_dialer_label" msgid="1100224146343237968">"Aplicació de telèfon predeterminada"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Aplicació de telèfon"</string> <string name="role_dialer_description" msgid="8768708633696539612">"Aplicacions que et permeten fer i rebre trucades al dispositiu"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Vols establir <xliff:g id="APP_NAME">%1$s</xliff:g> com a aplicació de telèfon predeterminada?"</string> @@ -365,7 +369,7 @@ <string name="role_dialer_search_keywords" msgid="3324448983559188087">"marcador"</string> <string name="role_sms_label" msgid="8456999857547686640">"Aplicació d\'SMS predeterminada"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"Aplicació d\'SMS"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Aplicacions que et permeten utilitzar el número de telèfon per enviar i rebre missatges curts de text, fotos, vídeos i més"</string> + <string name="role_sms_description" msgid="3424020199148153513">"Aplicacions que et permeten utilitzar el número de telèfon per enviar i rebre missatges de text, fotos, vídeos i més"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Vols establir <xliff:g id="APP_NAME">%1$s</xliff:g> com a aplicació d\'SMS predeterminada?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Aquesta aplicació tindrà accés a la càmera, als contactes, als fitxers i contingut multimèdia, al micròfon, al telèfon i als SMS"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"missatge de text, enviar missatges, missatges, missatgeria"</string> @@ -399,10 +403,15 @@ <string name="role_watch_description" msgid="267003778693177779">"<xliff:g id="APP_NAME">%1$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i accedir al telèfon, SMS, contactes i calendari."</string> <string name="role_app_streaming_description" msgid="7341638576226183992">"<xliff:g id="APP_NAME">%1$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i reproduir en continu les teves aplicacions al dispositiu connectat."</string> <string name="role_companion_device_computer_description" msgid="416099879217066377">"Aquest servei comparteix les fotos, el contingut multimèdia i les notificacions del telèfon amb altres dispositius."</string> - <string name="role_notes_label" msgid="7451627001058089536">"App de notes predeterminada"</string> + <string name="role_notes_label" msgid="7451627001058089536">"Aplicació de notes predeterminada"</string> <string name="role_notes_short_label" msgid="8796604147546125285">"Aplicació de notes"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplicacions que et permeten prendre notes al dispositiu"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"App de cartera predeterminada"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplicació de cartera"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Les aplicacions de cartera poden emmagatzemar les targetes de crèdit i de fidelització, les claus del cotxe i altres elements per ajudar-te amb diverses formes de transaccions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Vols definir <xliff:g id="APP_NAME">%1$s</xliff:g> com l\'aplicació de cartera predeterminada?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No calen permisos"</string> <string name="request_role_current_default" msgid="738722892438247184">"Predeterminada actualment"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"No m\'ho tornis a preguntar"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Estableix com a predeterminada"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Més aplicacions predeterminades"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Obertura d\'enllaços"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predeterminada per a la feina"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Predeterminades per a l\'espai privat"</string> <string name="default_app_none" msgid="9084592086808194457">"Cap"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Opció predeterminada del sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Cap aplicació"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostra la detecció d\'activador de l\'assistent"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostra una icona a la barra d\'estat quan s\'utilitzi el micròfon per activar l\'assistent de veu"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i al contingut multimèdia del dispositiu?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i al contingut multimèdia del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i al contingut multimèdia del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als contactes?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als contactes del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_location" msgid="6990232580121067883">"Permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als contactes del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_location" msgid="6990232580121067883">"Vols permetre que la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"L\'aplicació només tindrà accés a la ubicació quan l\'estiguis utilitzant"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Aquesta aplicació vol tenir accés a la teva ubicació sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a Configuració"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vols canviar l\'accés a la ubicació per a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Vols canviar l\'accés a la ubicació de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Vols canviar l\'accés a la ubicació per a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aquesta aplicació vol tenir accés a la teva ubicació sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a Configuració"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> cerqui els dispositius propers, s\'hi connecti i en determini la posició relativa?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> cerqui la posició relativa de disp. propers, la determini i s\'hi connecti al <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> cerqui la posició relativa de dispositius propers, la determini i s\'hi connecti al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> cerqui els dispositius propers, s\'hi connecti i en determini la posició relativa? "<annotation id="link">"Permet a Configuració"</annotation>"."</string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Vols canviar l\'accés a la ubicació que té <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> d\'aproximada a exacta?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Vols canviar l\'accés a la ubicació de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> d\'Aproximada a Exacta?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Vols canviar l\'accés a la ubicació de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> d\'Aproximada a Precisa?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació aproximada del dispositiu?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació aproximada del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la ubicació aproximada del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exacta"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi al calendari?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi al calendari del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi al calendari del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> enviï i llegeixi missatges SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> enviï i llegeixi missatges SMS al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> enviï i consulti missatges SMS al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a fotos, contingut multimèdia i fitxers del dispositiu?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a fotos, contingut multimèdia i fitxers del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos, al contingut multimèdia i als fitxers del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als <b>vídeos, fotos, música i àudio</b> del dispositiu?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als <b>vídeos, fotos, música, àudio i altres fitxers</b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la música i l\'àudio d\'aquest dispositiu?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la música i l\'àudio del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la música i l\'àudio del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i els vídeos d\'aquest dispositiu?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i als vídeos del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les fotos i als vídeos del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a més fotos i vídeos d\'aquest dispositiu?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a més fotos i vídeos del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a més fotos i vídeos al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"L\'aplicació només podrà gravar àudio mentre l\'estiguis utilitzant"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gravi àudio al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"És possible que aquesta aplicació vulgui gravar àudio sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a la configuració"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vols canviar l\'accés al micròfon de l\'aplicació <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Vols canviar l\'accés al micròfon de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Vols canviar l\'accés al micròfon per a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Aquesta aplicació vol gravar àudio sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a la configuració"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la teva activitat física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la teva activitat física al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a la teva activitat física del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"L\'aplicació només podrà fer fotos i gravar vídeos mentre l\'estiguis utilitzant"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci fotos i gravi vídeos al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"És possible que aquesta app vulgui fer fotos i gravar vídeos sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a la configuració"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vols canviar l\'accés a la càmera de l\'aplicació <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Vols canviar l\'accés a la càmera de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Vols canviar l\'accés a la càmera per a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Aquesta aplicació vol fer fotos i gravar vídeos sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a la configuració"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als registres de trucades del telèfon?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als registres de trucades del dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi als registres de trucades del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci trucades telefòniques i les gestioni?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci trucades i les gestioni al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faci i gestioni trucades amb el dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor de constants vitals?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor sobre les constants vitals al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor sobre les constants vitals al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aquesta aplicació vol accedir a les dades del sensor sobre les constants vitals sempre, fins i tot quan no l\'utilitzis. Per fer aquest canvi, "<annotation id="link">"ves a la configuració"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades dels sensors sobre les constants vitals?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor sobre les constants vitals al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor sobre les constants vitals al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Per permetre que l\'aplicació accedeixi sempre a les dades del sensor corporal, fins i tot quan no la utilitzis, "<annotation id="link">"ves a la configuració"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Vols continuar permetent que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor corporal mentre s\'utilitza?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor corporal del <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mentre s\'utilitza?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vols continuar permetent que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> accedeixi a les dades del sensor corporal del dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> mentre s\'utilitza l\'aplicació?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> t\'enviï notificacions?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> t\'enviï notificacions al dispositiu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Vols permetre que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> t\'enviï notificacions al dispositiu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permisos controlats"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> té accés a la ubicació"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"La teva organització permet a <xliff:g id="APP_NAME">%1$s</xliff:g> accedir a la teva ubicació"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Cap"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 darreres\nhores"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7\ndarrers dies"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> per cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"L\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g> està protegida per Android. Com que les teves dades es tracten en aquest dispositiu, l\'ús del permís d\'aquesta aplicació no es mostra a la barra d\'estat ni al tauler de privadesa."</string> <string name="exempt_info_label" msgid="6286190981253476699">"L\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g> està protegida per Android. Com que les teves dades es tracten en aquest dispositiu, l\'ús del permís d\'aquesta aplicació no es mostra al tauler de privadesa."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"La càmera del dispositiu està bloquejada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Per a aplicacions i serveis"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"És possible que les dades del micròfon es comparteixin si truques a un número d\'emergència."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Canvia"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"L\'accés a la càmera està desactivat"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Per a les aplicacions d\'informació i entreteniment"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Per a les aplicacions requerides"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Es requereix aquesta aplicació"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"El fabricant del cotxe requereix aquesta aplicació"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Seguretat i privadesa"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analitza el dispositiu"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ignora"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Canvis en la compartició de dades"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Algunes aplicacions han canviat la manera en què poden compartir les teves dades d\'ubicació"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Configuració"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"S\'hi ha accedit a les <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"S\'hi va accedir ahir a les <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"S\'hi ha accedit el dia <xliff:g id="TIME_DATE_0">%1$s</xliff:g> a les <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"La contrasenya d\'un sol ús és 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Opció de configuració restringida"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Per a la teva seguretat, aquesta opció de configuració no està disponible en aquests moments."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"A l\'aplicació se li ha denegat l\'accés a <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"L\'aplicació ha demanat accés a un permís sensible, el qual pot posar en risc la teva informació personal o financera.<xliff:g id="ID_1"><br><br></xliff:g>És possible que l\'aplicació no funcioni correctament sense aquest permís restringit. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Més informació sobre com pots permetre l\'accés</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"A l\'aplicació se li ha denegat l\'accés per ser <xliff:g id="ROLE_NAME">%1$s</xliff:g> de manera predeterminada"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"L\'aplicació ha demanat accés a permisos sensibles, els quals poden posar en risc la teva informació personal o financera.<xliff:g id="ID_1"><br><br></xliff:g>És possible que l\'aplicació no funcioni correctament sense aquests permisos restringits. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Més informació sobre com pots permetre l\'accés</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"A l\'aplicació se li ha denegat l\'accés"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"L\'accés a aquest permís pot posar en risc la teva informació personal i financera.<xliff:g id="ID_1"><br><br></xliff:g>És possible que l\'aplicació no funcioni correctament sense aquest permís. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Més informació sobre com pots permetre l\'accés</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Més informació"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"D\'acord"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"S\'ha suprimit la sol·licitud de permís"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Aquesta aplicació requereix permisos addicionals, però els permisos no es poden concedir en una sessió d\'estríming. Primer concedeix el permís al teu telèfon."</string> </resources> diff --git a/PermissionController/res/values-cs-v33/strings.xml b/PermissionController/res/values-cs-v33/strings.xml index 2e30db000..84a0f9fd1 100644 --- a/PermissionController/res/values-cs-v33/strings.xml +++ b/PermissionController/res/values-cs-v33/strings.xml @@ -20,7 +20,7 @@ <string name="role_sms_request_description" msgid="1506966389698625395">"Tato aplikace vám bude moci zasílat oznámení a bude mít přístup k fotoaparátu, kontaktům, souborům, mikrofonu, telefonu a SMS"</string> <string name="permission_description_summary_storage" msgid="1917071243213043858">"Aplikace s tímto oprávněním mají přístup ke všem souborům v tomto zařízení"</string> <string name="work_policy_title" msgid="832967780713677409">"Informace o vašich pracovních zásadách"</string> - <string name="work_policy_summary" msgid="3886113358084963931">"Nastavení spravuje administrátor IT"</string> + <string name="work_policy_summary" msgid="3886113358084963931">"Nastavení spravuje IT administrátor"</string> <string name="safety_center_entry_group_expand_action" msgid="5358289574941779652">"Rozbalit a zobrazit seznam"</string> <string name="safety_center_entry_group_collapse_action" msgid="1525710152244405656">"Sbalit seznam a skrýt nastavení"</string> <string name="safety_center_entry_group_content_description" msgid="7048420958214443333">"Seznam. <xliff:g id="ENTRY_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_SUMMARY">%2$s</xliff:g>"</string> diff --git a/PermissionController/res/values-cs-v34/strings.xml b/PermissionController/res/values-cs-v34/strings.xml index b7e982b21..dd60a422d 100644 --- a/PermissionController/res/values-cs-v34/strings.xml +++ b/PermissionController/res/values-cs-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Správa přístupu aplikací ke zdravotním údajům"</string> <string name="location_settings" msgid="8863940440881290182">"Přístup k poloze"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Aplikace a služby. Pokud je toto nastavení vypnuté a zavoláte na číslo tísňového volání, data z mikrofonu bude možné nadále sdílet"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Aplikace a služby"</string> </resources> diff --git a/PermissionController/res/values-cs-watch/strings.xml b/PermissionController/res/values-cs-watch/strings.xml index eca4682c4..5e1a4b022 100644 --- a/PermissionController/res/values-cs-watch/strings.xml +++ b/PermissionController/res/values-cs-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nelze změnit"</string> <string name="generic_yes" msgid="2489207724988649846">"Ano"</string> <string name="generic_cancel" msgid="2631708607129269698">"Zrušit"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Neustále"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Při používání aplikace"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Neustále"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Při používání aplikace"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Neustále"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Při používání aplikace"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Neustále"</string> </resources> diff --git a/PermissionController/res/values-cs/strings.xml b/PermissionController/res/values-cs/strings.xml index 20c594403..9147558a9 100644 --- a/PermissionController/res/values-cs/strings.xml +++ b/PermissionController/res/values-cs/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Všechna oprávnění"</string> <string name="other_permissions" msgid="2901186127193849594">"Ostatní oprávnění aplikace"</string> <string name="permission_request_title" msgid="8790310151025020126">"Žádost o oprávnění"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Akce instalace/odinstalace nejsou v zařízení Wear podporovány."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Určete, k čemu aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povolíte přístup"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> byla aktualizována. Určete, k čemu jí povolíte přístup."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Zrušit"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Vždy povolit vše"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pokaždé se zeptat"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nepovolovat"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Přesná poloha"</string> <string name="approximate_image_description" msgid="938803699637069884">"Přibližná poloha"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Používat přesnou polohu"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Když je přesná poloha vypnutá, aplikace mají přístup k vaší přibližné poloze"</string> <string name="app_permission_title" msgid="2090897901051370711">"Oprávnění: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Přístup této aplikace k oprávnění: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Přístup k <xliff:g id="PERM">%1$s</xliff:g> pro tuto aplikaci v zařízení <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Zobrazit všechna oprávnění aplikace <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Zobrazit všechny aplikace s tímto oprávněním"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Zobrazit používání mikrofonu asistentem"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Odebrat oprávnění, pokud se aplikace nepoužívá"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Odebrat oprávnění a uvolnit místo"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pozastavit aktivitu při nepoužívání"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Správa nepoužívané aplikace"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Odebrat oprávnění, smazat dočasné soubory a zastavit oznámení"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Odebrat oprávnění, smazat dočasné soubory, zastavit oznámení a archivovat aplikaci"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Pokud tuto aplikaci několik měsíců nepoužijete, kvůli ochraně vašich dat jí budou oprávnění odebrána."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Pokud tuto aplikaci několik měsíců nepoužijete, budou jí kvůli ochraně vašich dat odebrána následující oprávnění: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Za účelem ochrany vašich dat byla odebrána oprávnění aplikacím, které jste několik měsíců nepoužili."</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"Byla odebrána oprávnění <xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> a <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"Bylo odebráno oprávnění <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> a další oprávnění (<xliff:g id="NUMBER">%2$s</xliff:g>)"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"Nepoužívané aplikace"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"Když aplikaci několik měsíců nepoužíváte:\n\n• Oprávnění jsou odstraněna kvůli ochraně dat\n• Oznámení se přestanou zobrazovat kvůli úspoře baterie\n• Dočasné soubory jsou odstraněny kvůli uvolnění místa\n\nPokud chcete oprávnění a oznámení znovu povolit, otevřete aplikaci."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"Když aplikaci několik měsíců nepoužíváte:\n\n• Oprávnění jsou odstraněna z důvodu ochrany dat.\n• Oznámení se přestanou zobrazovat kvůli úspoře baterie.\n• Dočasné soubory jsou odstraněny, aby se uvolnilo místo.\n\nPokud chcete oprávnění a oznámení znovu povolit, příslušnou aplikaci otevřete."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Když nějakou aplikaci měsíc nepoužíváte:\n\n• Kvůli ochraně dat se odstraní oprávnění.\n• Kvůli uvolnění místa se odstraní dočasné soubory.\n\nPokud chcete oprávnění znovu povolit, otevřete aplikaci."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Naposledy otevřeno před více než # měsícem}few{Naposledy otevřeno před více než # měsíci}many{Naposledy otevřeno před více než # měsíce}other{Naposledy otevřeno před více než # měsíci}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"Aplikace byla naposledy otevřena <xliff:g id="DATE">%s</xliff:g>"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Povolena správa všech souborů"</string> <string name="ask_header" msgid="2633816846459944376">"Pokaždé se zeptat"</string> <string name="denied_header" msgid="903209608358177654">"Nepovoleno"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> na <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Zobrazit další aplikace s přístupem ke všem souborům"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 den}few{# dny}many{# dne}other{# dní}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hodinu}few{# hodiny}many{# hodiny}other{# hodin}}"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"v případě nouze"</string> <string name="role_home_label" msgid="3871847846649769412">"Výchozí aplikace pro domácnost"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Vstupní aplikace"</string> - <string name="role_home_description" msgid="7997371519626556675">"Aplikace (tzv. spouštěče), které nahrazují plochy na zařízení Android a dávají vám přístup k obsahu a funkcím zařízení."</string> + <string name="role_home_description" msgid="7997371519626556675">"Aplikace (tzv. spouštěče), které nahrazují plochu na zařízení Android a dávají vám přístup k obsahu a funkcím zařízení."</string> <string name="role_home_request_title" msgid="738136983453341081">"Nastavit <xliff:g id="APP_NAME">%1$s</xliff:g> jako výchozí aplikaci pro domácnost?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Není potřeba žádné oprávnění"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"spouštěč"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikace pro poznámky"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikace, které umožňují dělat si na zařízení poznámky."</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"poznámky"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Výchozí aplikace typu peněženka"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikace typu peněženka"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikace typu peněženka můžou uložit vaše platební a věrnostní karty, klíče od auta a další věci, a usnadnit vám tak různé transakce."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Nastavit aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> jako výchozí peněženku?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nejsou potřeba žádná oprávnění"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aktuálně výchozí"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Příště se neptat"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Změnit na výchozí"</string> @@ -428,7 +437,8 @@ <string name="default_apps_more" msgid="4078194675848858093">"Další výchozí nastavení"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otevírání odkazů"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Výchozí pracovní"</string> - <string name="default_app_none" msgid="9084592086808194457">"Žádná"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Výchozí pro soukromý prostor"</string> + <string name="default_app_none" msgid="9084592086808194457">"Žádná aplikace"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Výchozí nastavení systému)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Žádné aplikace"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"Vybráno"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Zobrazit detekci spuštění asistenta"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Zobrazovat na stavovém řádku ikonu, když bude pomocí mikrofonu aktivován hlasový asistent"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a mediálnímu obsahu v zařízení?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a médiím v zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a médiím v zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup ke kontaktům?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup k vašim kontaktům?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k vašim kontaktům na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze tohoto zařízení?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikace bude mít přístup k poloze, pouze když ji budete používat"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze tohoto zařízení?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k poloze zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Aplikace může požadovat přístup k poloze vždy, i když ji nebudete používat. "<annotation id="link">"Povolit ho můžete v nastavení"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Změnit přístup k poloze pro aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Změnit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k poloze?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Změnit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k poloze?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aplikace požaduje přístup k poloze vždy, i když ji nebudete používat. "<annotation id="link">"Povolit ho můžete v nastavení"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> najít zařízení v okolí, připojit se k nim a zjistit jejich relativní polohu?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> najít zařízení v okolí, připojit se k nim a zjistit jejich relativní polohu?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> najít zařízení v okolí, připojit se k nim a zjistit jejich relativní polohu?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> najít zařízení v okolí, připojit se k nim a zjistit jejich relativní polohu? "<annotation id="link">"Povolit to můžete v nastavení."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Změnit přístup aplikace <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> k poloze z přibližné na přesnou?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Změnit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup aplikace <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> k poloze z přibližné na přesnou?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Změnit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup aplikace <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> k poloze z přibližné na přesnou?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k přibližné poloze tohoto zařízení?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k přibližné poloze zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k přibližné poloze zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Přesná"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Přibližná"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup ke kalendáři?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup ke kalendáři na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k vašemu kalendáři na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odesílat a zobrazovat SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> odesílat a zobrazovat SMS?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> odesílat a zobrazovat SMS?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám, mediálnímu obsahu a souborům v zařízení?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám, médiím a videím v zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám, médiím a videím v zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k <b>fotkám, videím, hudbě a zvuku</b> v zařízení?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k <b>fotkám, videím, hudbě, zvuku a dalším souborům</b> v zařízení?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k hudbě a zvuku v zařízení?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k hudbě a zvukovému obsahu v zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k hudbě a zvukovému obsahu v zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a videím v zařízení?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a videím v zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k fotkám a videím v zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k dalším fotkám a videím v zařízení?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k dalším fotkám a videím v zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k dalším fotkám a videím v zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat zvuk?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> zvuk?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> zvuk?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikace bude moci zaznamenávat zvuk, pouze když ji budete používat"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat zvuk?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> zvuk?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávat na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> zvuk?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Tato aplikace může chtít zaznamenávat zvuk kdykoli, dokonce i když ji nepoužíváte. "<annotation id="link">"Povolit v nastavení"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Změnit přístup k mikrofonu pro aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Změnit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k mikrofonu?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Změnit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k mikrofonu?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Tato aplikace chce zaznamenávat zvuk kdykoli, dokonce i když ji nepoužíváte. "<annotation id="link">"Povolit v nastavení"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k vaší fyzické aktivitě?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup k vaší fyzické aktivitě?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup k vaší fyzické aktivitě?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit a nahrávat videa?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> a nahrávat na něm video?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> a nahrávat na něm video?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikace bude moci pořizovat snímky a nahrávat videa, pouze když ji budete používat"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit a nahrávat videa?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> a nahrávat na něm video?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> a nahrávat na něm video?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Tato aplikace může chtít pořizovat snímky a nahrávat videa kdykoli, dokonce i když ji nepoužíváte. "<annotation id="link">"Povolit v nastavení"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Změnit přístup k fotoaparátu pro aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Změnit na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k mikrofonu?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Změnit na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> k mikrofonu?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Tato aplikace chce pořizovat snímky a nahrávat videa kdykoli, dokonce i když ji nepoužíváte. "<annotation id="link">"Povolit v nastavení"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k seznamu telefonních hovorů?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k vašim seznamům hovorů na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k vašim seznamům hovorů na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutečňovat a spravovat telefonní hovory?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutečňovat a spravovat na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> telefonní hovory?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutečňovat a spravovat na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> telefonní hovory?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k údajům ze senzorů vašich životních funkcí?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup k datům ze senzorů životních funkcí?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup k datům ze senzorů životních funkcí?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplikace požaduje přístup k datům ze senzorů vašich životních funkcí vždy, i když ji nebudete používat. Pokud tuto změnu chcete provést, "<annotation id="link">"přejděte do nastavení."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> přístup k datům ze senzorů vašich životních funkcí?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> přístup k datům ze senzorů životních funkcí?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> přístup k datům ze senzorů životních funkcí?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Pokud chcete této aplikaci povolit trvalý přístup k datům z tělesných senzorů, i když aplikaci nepoužíváte, "<annotation id="link">"přejděte do nastavení"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Chcete, aby aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dál měla přístup k datům z tělesných senzorů během používání aplikace?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Chcete, aby aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> měla během používání i nadále přístup k datům z tělesných senzorů?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Chcete, aby aplikace <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> měla během používání i nadále přístup k datům z tělesných senzorů?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odesílat oznámení?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odesílat na zařízení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> oznámení?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Povolit aplikaci <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odesílat vám na zařízení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> oznámení?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Spravovaná oprávnění"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> má přístup k poloze"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaše organizace umožňuje aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> přístup k vaší poloze"</string> @@ -541,6 +551,9 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Žádné"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Posledních\n24 hodin"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Posledních\n7 dní"</string> + <!-- String.format failed for translation --> + <!-- no translation found for privdash_usage_percent (6893824766124414127) --> + <skip /> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> je chráněna Androidem. Protože se vaše data zpracovávají na tomto zařízení, oprávnění používaná touto aplikací se nezobrazují na stavovém řádku ani na panelu ochrany soukromí."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> je chráněna Androidem. Protože se vaše data zpracovávají na tomto zařízení, oprávnění používaná touto aplikací se nezobrazují na panelu ochrany soukromí."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Fotoaparát zařízení je blokován"</string> @@ -549,6 +562,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Pro aplikace a služby"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Když zavoláte na číslo tísňového volání, mohou být nadále sdílena data z mikrofonu."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Změnit"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Přístup k fotoaparátu je vypnutý"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Pro aplikace informační a zábavní aplikace"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pro povinné aplikace"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Tato aplikace je povinná"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Tuto aplikaci výrobce auta vyžaduje"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Zabezpečení a ochrana soukromí"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Zkontrolovat zařízení"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Zavřít"</string> @@ -610,7 +628,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Přístup k mikrofonu"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Aplikace a služby"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Týká se aplikací a služeb. Pokud je toto nastavení vypnuté a zavoláte na číslo tísňového volání, data z mikrofonu se mohou stále sdílet."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Podívejte se, které aplikace a služby mají přístup k poloze"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Seznam aplikací a služeb, které mají přístup k poloze"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Zobrazovat použití schránky"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Zobrazovat zprávu, když aplikace použijí text, obrázky nebo jiný obsah, který jste zkopírovali"</string> <string name="show_password_title" msgid="2877269286984684659">"Zobrazovat hesla"</string> @@ -648,4 +666,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Aktualizace sdílení dat"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Některé aplikace změnily způsob, kterým mohou sdílet údaje o vaší poloze"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Nastavení"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Poslední přístup: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Poslední přístup: včera v <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Poslední přístup: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Vaše jednorázové heslo je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Blokované nastavení"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Z důvodu vaší bezpečnosti toto nastavení momentálně není dostupné."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikaci byl odepřen přístup k oprávnění <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikace požádala o přístup k citlivému oprávnění, které může ohrozit vaše osobní a finanční údaje.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že aplikace bez tohoto oprávnění nebude fungovat správně. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak povolit přístup</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikaci byla odepřena role výchozí <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikace požádala o přístup k citlivým oprávněním, která mohou ohrozit vaše osobní a finanční údaje.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že aplikace nebude bez těchto omezených oprávnění fungovat správně. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak povolit přístup</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikaci byl odepřen přístup"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Přístup k tomuto oprávnění může ohrozit vaše osobní a finanční údaje.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že aplikace bez tohoto oprávnění nebude fungovat správně. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak povolit přístup</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Další informace"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Žádost o oprávnění byla potlačena"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Tato aplikace požaduje další oprávnění, která ale nelze udělit během relace streamování. Oprávnění udělte nejprve na telefonu."</string> </resources> diff --git a/PermissionController/res/values-da-v34/strings.xml b/PermissionController/res/values-da-v34/strings.xml index 5777a6832..38dc3c7b8 100644 --- a/PermissionController/res/values-da-v34/strings.xml +++ b/PermissionController/res/values-da-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Administrer appadgang til sundhedsdata"</string> <string name="location_settings" msgid="8863940440881290182">"Lokationsadgang"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps og tjenester. Hvis denne indstilling er deaktiveret, deles mikrofondata muligvis stadig, når du ringer til et alarmnummer"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps og tjenester"</string> </resources> diff --git a/PermissionController/res/values-da-watch/strings.xml b/PermissionController/res/values-da-watch/strings.xml index 022b2f562..d78c45ff4 100644 --- a/PermissionController/res/values-da-watch/strings.xml +++ b/PermissionController/res/values-da-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Kan ikke ændres"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Annuller"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Hele tiden"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Når appen er i brug"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Hele tiden"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Når appen er i brug"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Hele tiden"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Når appen er i brug"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Hele tiden"</string> </resources> diff --git a/PermissionController/res/values-da/strings.xml b/PermissionController/res/values-da/strings.xml index 7655150ee..9570f1629 100644 --- a/PermissionController/res/values-da/strings.xml +++ b/PermissionController/res/values-da/strings.xml @@ -31,7 +31,7 @@ <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"Tillad ikke, og spørg ikke igen"</string> <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"Behold \"Mens appen er i brug\""</string> <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"Behold \"Kun denne ene gang\""</string> - <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Mere info"</string> + <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Flere oplysninger"</string> <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Tillad alle"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Tillad altid alle"</string> <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Tillad begrænset adgang"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alle tilladelser"</string> <string name="other_permissions" msgid="2901186127193849594">"Andre app-egenskaber"</string> <string name="permission_request_title" msgid="8790310151025020126">"Anmodning om tilladelse"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Det er ikke muligt at installere/afinstallere på Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Vælg, hvad <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> må få adgang til"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> er blevet opdateret. Vælg, hvad denne app må få adgang til."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Annuller"</string> @@ -183,8 +181,8 @@ <string name="permission_history_category_today" msgid="7496389369158806620">"I dag"</string> <string name="permission_history_category_yesterday" msgid="7242517121222012521">"I går"</string> <string name="app_permission_usage_title" msgid="6676802437831981822">"Brug af apptilladelser"</string> - <string name="app_permission_usage_summary" msgid="390383661936709672">"Adgang: <xliff:g id="NUM">%1$s</xliff:g> gange. Samlet varighed: <xliff:g id="DURATION">%2$s</xliff:g>. Senest brugt for <xliff:g id="TIME">%3$s</xliff:g> siden."</string> - <string name="app_permission_usage_summary_no_duration" msgid="3698475875179457400">"Adgang: <xliff:g id="NUM">%1$s</xliff:g> gange. Senest brugt for <xliff:g id="TIME">%2$s</xliff:g> siden."</string> + <string name="app_permission_usage_summary" msgid="390383661936709672">"Adgang: <xliff:g id="NUM">%1$s</xliff:g> gange. Samlet varighed: <xliff:g id="DURATION">%2$s</xliff:g>. Senest anvendt for <xliff:g id="TIME">%3$s</xliff:g> siden."</string> + <string name="app_permission_usage_summary_no_duration" msgid="3698475875179457400">"Adgang: <xliff:g id="NUM">%1$s</xliff:g> gange. Senest anvendt for <xliff:g id="TIME">%2$s</xliff:g> siden."</string> <string name="app_permission_button_allow" msgid="5808039516494774647">"Tillad"</string> <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Tillad administration af alle filer"</string> <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Tillad kun adgang til mediefiler"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Tillad altid alle"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Spørg hver gang"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Tillad ikke"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Præcis lokation"</string> <string name="approximate_image_description" msgid="938803699637069884">"Omtrentlig lokation"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Brug præcis lokation"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Når den præcise lokation er slået fra, kan apps få adgang til din omtrentlige lokation"</string> <string name="app_permission_title" msgid="2090897901051370711">"Tilladelse til <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Adgang til <xliff:g id="PERM">%1$s</xliff:g> for denne app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"adgang til <xliff:g id="PERM">%1$s</xliff:g> for denne app på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Se alle tilladelser for <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Se alle apps med denne tilladelse"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Vis brug af Assistent-mikrofonen"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Fjern tilladelser, hvis appen ikke bruges"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Fjern tilladelser, og frigør plads"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Sæt appaktivitet på pause ved inaktivitet"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Administrer appen, hvis den ikke bruges"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Fjern tilladelser, slet midlertidige filer, og stop notifikationer"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Fjern tilladelser, slet midlertidige filer, deaktiver notifikationer, og arkivér appen"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Hvis appen ikke bliver brugt i et par måneder, fjernes tilladelser for appen for at beskytte dine data."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Hvis appen ikke bliver brugt i et par måneder, fjernes følgende tilladelser for at beskytte dine data: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Tilladelserne til apps, du ikke har brugt i et par måneder, er blevet fjernet for at beskytte dine data."</string> @@ -223,9 +226,9 @@ <string name="unused_apps_page_title" msgid="6986983535677572559">"Apps, du ikke bruger"</string> <string name="unused_apps_page_summary" msgid="1867593913217272155">"Hvis en app ikke bruges i et par måneder, sker følgende:\n\n• Tilladelser fjernes for at beskytte dine data\n• Notifikationer stoppes for at spare på batteriet\n• Midlertidige filer fjernes for at frigøre plads\n\nHvis du vil aktivere tilladelser og notifikationer igen, skal du åbne appen."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Hvis en app ikke bruges i en måned, sker følgende:\n\n• Tilladelser fjernes for at beskytte dine data\n• Midlertidige filer fjernes for at frigøre plads\n\nHvis du vil aktivere tilladelserne igen, skal du åbne appen."</string> - <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Sidst åbnet for mere end # måned siden}one{Sidst åbnet for mere end # måned siden}other{Sidst åbnet for mere end # måneder siden}}"</string> + <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Senest åbnet for mere end # måned siden}one{Senest åbnet for mere end # måned siden}other{Senest åbnet for mere end # måneder siden}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"Appen blev sidst åbnet <xliff:g id="DATE">%s</xliff:g>"</string> - <string name="last_opened_summary_short" msgid="1646067226191176825">"Sidst åbnet <xliff:g id="DATE">%s</xliff:g>"</string> + <string name="last_opened_summary_short" msgid="1646067226191176825">"Senest åbnet <xliff:g id="DATE">%s</xliff:g>"</string> <string name="app_permission_footer_special_file_access" msgid="1884202176147657788">"Hvis du tillader administration af alle filer, får denne app adgang og tilladelse til at ændre og slette alle filer på enhedens almindelige lagerplads og tilsluttede lagerenheder. Appen kan få adgang til filer uden at spørge dig først."</string> <string name="special_file_access_dialog" msgid="583804114020740610">"Vil du give denne app adgang og tilladelse til at ændre og slette filer på denne enhed og tilsluttede lagerenheder? Appen kan få adgang til filer uden at spørge dig først."</string> <string name="permission_description_summary_generic" msgid="5401399408814903391">"Apps med denne tilladelse kan <xliff:g id="DESCRIPTION">%1$s</xliff:g>"</string> @@ -238,7 +241,7 @@ <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Apps med denne tilladelse kan finde, oprette forbindelse til og fastslå den relative placering af enheder i nærheden"</string> <string name="permission_description_summary_microphone" msgid="630834800308329907">"Apps med denne tilladelse kan optage lyd"</string> <string name="permission_description_summary_phone" msgid="4515277217435233619">"Apps med denne tilladelse kan foretage og administrere telefonopkald"</string> - <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Apps med denne tilladelse kan få adgang til sensordata om dine livstegn"</string> + <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Apps med denne tilladelse kan få adgang til sensordata om dine vitale værdier"</string> <string name="permission_description_summary_sms" msgid="725999468547768517">"Apps med denne tilladelse kan sende og se sms-beskeder"</string> <string name="permission_description_summary_storage" msgid="6575759089065303346">"Apps med denne tilladelse har adgang til billeder, medier og filer på din enhed"</string> <string name="permission_description_summary_read_media_aural" msgid="3354728149930482199">"Apps med denne tilladelse kan tilgå musik og andre lydfiler på denne enhed"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Har tilladelse til at administrere alle filer"</string> <string name="ask_header" msgid="2633816846459944376">"Spørg hver gang"</string> <string name="denied_header" msgid="903209608358177654">"Ikke tilladt"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Se flere apps, som kan tilgå alle filer"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dag}one{# dag}other{# dage}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# time}one{# time}other{# timer}}"</string> @@ -317,24 +321,24 @@ <string name="permission_subtitle_media_only" msgid="8917869683764720717">"Mediefiler"</string> <string name="permission_subtitle_all_files" msgid="4982613338298067862">"Alle filer"</string> <string name="permission_subtitle_background" msgid="8916750995309083180">"Altid tilladt"</string> - <string name="app_perms_24h_access" msgid="99069906850627181">"Sidst brugt <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> - <string name="app_perms_24h_access_yest" msgid="5411926024794555022">"Sidst brugt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> - <string name="app_perms_7d_access" msgid="4945055548894683751">"Sidst brugt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="app_perms_24h_access" msgid="99069906850627181">"Senest anvendt <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="app_perms_24h_access_yest" msgid="5411926024794555022">"Senest anvendt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="app_perms_7d_access" msgid="4945055548894683751">"Senest anvendt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> <string name="app_perms_content_provider_24h" msgid="1055526027667508972">"Brugt inden for de seneste 24 timer"</string> <string name="app_perms_content_provider_7d" msgid="3215454898257814868">"Brugt inden for de seneste 7 dage"</string> - <string name="app_perms_24h_access_background" msgid="3413674718969576843">"Sidst brugt <xliff:g id="TIME_DATE">%1$s</xliff:g> • Altid tilladt"</string> - <string name="app_perms_24h_access_yest_background" msgid="9174750810998076725">"Sidst brugt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Altid tilladt"</string> - <string name="app_perms_7d_access_background" msgid="408099213372185627">"Sidst brugt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Altid tilladt"</string> + <string name="app_perms_24h_access_background" msgid="3413674718969576843">"Senest anvendt <xliff:g id="TIME_DATE">%1$s</xliff:g> • Altid tilladt"</string> + <string name="app_perms_24h_access_yest_background" msgid="9174750810998076725">"Senest anvendt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Altid tilladt"</string> + <string name="app_perms_7d_access_background" msgid="408099213372185627">"Senest anvendt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Altid tilladt"</string> <string name="app_perms_content_provider_24h_background" msgid="3825902995186961496">"Brugt inden for de seneste 24 timer • Altid tilladt"</string> <string name="app_perms_content_provider_7d_background" msgid="4818839672116463542">"Brugt inden for de seneste 7 dage • Altid tilladt"</string> - <string name="app_perms_24h_access_media_only" msgid="6651699644199132054">"Sidst brugt <xliff:g id="TIME_DATE">%1$s</xliff:g> • Medier"</string> - <string name="app_perms_24h_access_yest_media_only" msgid="7213187706424998792">"Sidst brugt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Medier"</string> - <string name="app_perms_7d_access_media_only" msgid="1031096653668235200">"Sidst brugt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Mediefiler"</string> + <string name="app_perms_24h_access_media_only" msgid="6651699644199132054">"Senest anvendt <xliff:g id="TIME_DATE">%1$s</xliff:g> • Medier"</string> + <string name="app_perms_24h_access_yest_media_only" msgid="7213187706424998792">"Senest anvendt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Medier"</string> + <string name="app_perms_7d_access_media_only" msgid="1031096653668235200">"Senest anvendt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Mediefiler"</string> <string name="app_perms_content_provider_24h_media_only" msgid="7797963000596179491">"Brugt inden for de seneste 24 timer • Mediefiler"</string> <string name="app_perms_content_provider_7d_media_only" msgid="8446239884570262243">"Brugt inden for de seneste 7 dage • Mediefiler"</string> - <string name="app_perms_24h_access_all_files" msgid="8902360456978159091">"Sidst brugt <xliff:g id="TIME_DATE">%1$s</xliff:g> • Alle filer"</string> - <string name="app_perms_24h_access_yest_all_files" msgid="5708424073126844909">"Sidst brugt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Alle filer"</string> - <string name="app_perms_7d_access_all_files" msgid="8246193786397635824">"Sidst brugt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Alle filer"</string> + <string name="app_perms_24h_access_all_files" msgid="8902360456978159091">"Senest åbnet <xliff:g id="TIME_DATE">%1$s</xliff:g> • Alle filer"</string> + <string name="app_perms_24h_access_yest_all_files" msgid="5708424073126844909">"Senest anvendt i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g> • Alle filer"</string> + <string name="app_perms_7d_access_all_files" msgid="8246193786397635824">"Senest anvendt <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • Alle filer"</string> <string name="app_perms_content_provider_24h_all_files" msgid="573104317727770850">"Brugt inden for de seneste 24 timer • Alle filer"</string> <string name="app_perms_content_provider_7d_all_files" msgid="7962416229708835558">"Brugt inden for de seneste 7 dage • Alle filer"</string> <string name="no_permissions_allowed" msgid="6081976856354669209">"Der ikke givet nogen tilladelser"</string> @@ -352,10 +356,10 @@ <string name="role_assistant_label" msgid="4727586018198208128">"Standardapp for digital assistent"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"App for digital assistent"</string> <string name="role_assistant_description" msgid="6622458130459922952">"Assistanceapps kan hjælpe dig på baggrund af oplysningerne på den aktuelle skærm. Nogle apps understøtter både startertjenester og tjenester til indtaling for at give dig integreret assistance."</string> - <string name="role_browser_label" msgid="2877796144554070207">"Standardbrowserapp"</string> + <string name="role_browser_label" msgid="2877796144554070207">"Standardapp til browsing"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Browserapp"</string> <string name="role_browser_description" msgid="3465253637499842671">"Apps, der giver dig adgang til internettet og viser links, som du trykker på"</string> - <string name="role_browser_request_title" msgid="2895200507835937192">"Vil du angive <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardbrowserapp?"</string> + <string name="role_browser_request_title" msgid="2895200507835937192">"Vil du angive <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardapp til browsing?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Der kræves ingen tilladelser"</string> <string name="role_dialer_label" msgid="1100224146343237968">"Standardapp til opkald"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Opkaldsapp"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App til notetagning"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps, som giver dig mulighed for at tage noter på din enhed"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"noter"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Standardapp til digital pung"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App til digital pung"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Apps til digitale punge kan gemme dine kredit- og loyalitetskort, bilnøgler m.m. for at hjælpe med forskellige former for transaktioner."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Vil du angive <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardapp til digital pung?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Der kræves ingen tilladelser"</string> <string name="request_role_current_default" msgid="738722892438247184">"Nuværende standardapp"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Spørg ikke igen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Angiv som standard"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Flere standardapps"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Åbning af links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Standard til arbejde"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Standard for privat område"</string> <string name="default_app_none" msgid="9084592086808194457">"Ingen"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Systemstandard)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Ingen apps"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Vis aktiveringsregistrering for assistenten"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Vis ikon på statusbjælken, når mikrofonen bruges til at aktivere taleassistenten"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og medier på din enhed?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og medier på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og medier på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til dine kontakter?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til dine kontakter på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til dine kontakter på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til enhedens lokation?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til lokationen for din <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til lokationen på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Appen har kun adgang til lokationen, når du bruger appen"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til enhedens lokation?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til lokationen for din <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til lokationen på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Denne app vil muligvis gerne have adgang til din lokation hele tiden, også når du ikke bruger appen. "<annotation id="link">"Giv tilladelse under Indstillinger."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vil du skifte lokationsadgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Vil du ændre lokationsadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Vil du ændre lokationsadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Appen vil gerne have adgang til din lokation hele tiden, også når du ikke bruger appen. "<annotation id="link">"Giv appen tilladelse i Indstillinger."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Skal <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kunne finde, oprette forbindelse til og fastslå den relative placering af enheder i nærheden?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at finde, oprette forbindelse til og bestemme den relative position af enheder i nærheden på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at finde, oprette forbindelse til og bestemme den relative position af enheder i nærheden på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Skal <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kunne finde, oprette forbindelse til og fastslå den relative placering af enheder i nærheden? "<annotation id="link">"Tillad i Indstillinger."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Vil du skifte lokationsadgang for <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> fra omtrentlig til nøjagtig?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Vil du ændre lokationsadgangen for <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b> fra omtrentlig til præcis?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Vil du ændre lokationsadgangen for <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> fra omtrentlig til præcis?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til enhedens omtrentlige lokation?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til den omtrentlige lokation for din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til den omtrentlige lokation på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Præcis"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Omtrentlig"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din kalender?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din kalender på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din kalender på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende og se sms-beskeder?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende og se sms-beskeder på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende og se sms-beskeder på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder, medier og filer på din enhed?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder, medier og filer på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder, medier og filer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til <b>billeder, videoer, musik og lyd</b> på denne enhed?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til <b>billeder, videoer, musik, lyd og andre filer</b> på denne enhed?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til musik og lyd på denne enhed?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til musik og lyd på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til musik og lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og videoer på denne enhed?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og videoer på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til billeder og videoer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tilgå flere billeder og videoer på denne enhed?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til flere billeder og videoer på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til flere billeder og videoer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Appen kan kun optage lyd, mens du bruger appen"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at optage lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Denne app vil gerne optage lyd hele tiden, også når du ikke bruger appen. "<annotation id="link">"Tillad dette i indstillingerne"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vil du skifte mikrofonadgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Vil du ændre mikrofonadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Vil du ændre mikrofonadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Denne app vil gerne optage lyd hele tiden, også når du ikke bruger appen. "<annotation id="link">"Tillad dette i indstillingerne"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vil du tillade, at <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> får adgang til din fysiske aktivitet?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din fysiske aktivitet på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din fysiske aktivitet på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Appen kan kun tage billeder og optage video, mens du bruger appen"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at tage billeder og optage video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Denne app vil gerne tage billeder og optage video hele tiden, også når du ikke bruger appen. "<annotation id="link">"Tillad dette i indstillingerne"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vil du skifte kameraadgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Vil du ændre kameraadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Vil du ændre kameraadgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Denne app vil gerne tage billeder og optage video hele tiden, også når du ikke bruger appen. "<annotation id="link">"Tillad dette i indstillingerne"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til dine opkaldslister?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din historik over telefonopkald på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til din opkaldshistorik på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at foretage og administrere telefonopkald?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at foretage og administrere telefonopkald på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at foretage og håndtere telefonopkald på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordata om dine vitale værdier?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordata om dine vitale værdier på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordata om dine vitale værdier på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Denne app anmoder om at tilgå sensordataene om dine vitale værdier hele tiden, også når du ikke bruger appen. Du kan foretage denne ændring ved at "<annotation id="link">"gå til indstillingerne."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordataene om dine vitale værdier?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordataene om dine vitale værdier på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til sensordataene om dine vitale værdier på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Du kan give denne app adgang til kropssensordata hele tiden – selv når du ikke bruger appen – ved at "<annotation id="link">"gå til indstillingerne."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Vil du fortsætte med at give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til kropssensordata, mens appen er i brug?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Vil du fortsat give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til kropssensordata på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>, mens appen er i brug?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vil du fortsætte med at give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> adgang til kropssensordata på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, mens appen er i brug?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende dig notifikationer?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende dig notifikationer på din <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Vil du give <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilladelse til at sende dig notifikationer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Administrerede tilladelser"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> har lokationsadgang"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Din organisation har givet <xliff:g id="APP_NAME">%1$s</xliff:g> tilladelse til at tilgå din lokation"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ingen"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Seneste\n24 timer"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"De seneste\n7 dage"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> procent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> beskyttes af Android. Da dine data behandles på denne enhed, vises denne apps anvendelse af tilladelser ikke i statusbjælken i dit privatlivspanel."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> beskyttes af Android. Da dine data behandles på denne enhed, vises denne apps anvendelse af tilladelser ikke i dit privatlivspanel."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Enhedens kamera er blokeret"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps og tjenester"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofondata deles muligvis stadig, når du ringer til et alarmnummer."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Skift"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameraadgang er deaktiveret"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Til infotainmentapps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Til påkrævede apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Denne app er påkrævet"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Bilproducenten kræver denne app"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sikkerhed og privatliv"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan enhed"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Afvis"</string> @@ -622,8 +638,8 @@ <string name="permission_rationale_data_sharing_source_message" msgid="8330794595417986883">"Udvikleren gav oplysninger til "<annotation id="link"><annotation id="install_source" example="App Store">"%1$s"</annotation></annotation>" om, hvordan denne app deler data. Udvikleren opdaterer muligvis disse oplysninger senere."</string> <string name="permission_rationale_location_purpose_title" msgid="5115877143670012618">"Denne app deler muligvis lokationsdata for:"</string> <string name="permission_rationale_permission_data_sharing_varies_title" msgid="9103718980919908316">"Datadeling varierer"</string> - <string name="permission_rationale_data_sharing_varies_message" msgid="4224469559084489222">"Databehandlingen kan variere afhængigt af din appversion, din brug, dit område og din alder. "<annotation id="link">"Flere oplysninger om datadeling"</annotation></string> - <string name="permission_rationale_data_sharing_varies_message_without_link" msgid="4912763761399025094">"Databehandlingen kan variere afhængigt af din appversion, din brug, dit område og din alder."</string> + <string name="permission_rationale_data_sharing_varies_message" msgid="4224469559084489222">"Databehandlingen kan variere afhængigt af din appversion, din brug, din region og din alder. "<annotation id="link">"Flere oplysninger om datadeling"</annotation></string> + <string name="permission_rationale_data_sharing_varies_message_without_link" msgid="4912763761399025094">"Databehandlingen kan variere afhængigt af din appversion, din brug, din region og din alder."</string> <string name="permission_rationale_location_settings_title" msgid="7204145004850190953">"Dine lokationsdata"</string> <string name="permission_rationale_permission_settings_message" msgid="631286040979660267">"Skift denne apps adgang i "<annotation id="link">"privatlivsindstillingerne"</annotation></string> <string name="permission_rationale_purpose_app_functionality" msgid="8397736681065841405">"Appfunktionalitet"</string> @@ -639,7 +655,7 @@ <string name="data_sharing_updates_title" msgid="7996933386875213859">"Opdateringer om deling af lokationsdata"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Gennemse apps, der har ændret måden, hvorpå de kan dele dine lokationsdata"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Disse apps har ændret den måde, hvorpå de kan dele dine lokationsdata. De har muligvis ikke delt dataene før eller kan nu anvende dem til annoncering eller marketing."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Udviklerne af disse apps har givet oplysninger om deres procedurer for datadeling til en appbutik. De kan opdatere procedurerne med tiden.\n\nProcedurer for datadeling kan variere afhængigt af din appversion, din brug, dit område og din alder."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Udviklerne af disse apps har givet oplysninger om deres procedurer for datadeling til en appbutik. De kan opdatere procedurerne med tiden.\n\nProcedurer for datadeling kan variere afhængigt af din appversion, din brug, din region og din alder."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Få flere oplysninger om deling af data"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Dine lokationsdata deles nu med tredjeparter"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Dine lokationsdata deles nu med tredjeparter med henblik på annoncering eller marketing"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Opdateringer om datadeling"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Nogle apps har ændret måden, hvorpå de kan dele dine lokationsdata"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Indstillinger"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Tilgået kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Tilgået i går kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Tilgået <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Din engangskode er 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Begrænset indstilling"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Af hensyn til din sikkerhed er denne indstilling i øjeblikket ikke tilgængelig."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Appen blev nægtet adgang til <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Appen anmodede om adgang til en følsom tilladelse, der kan kompromittere dine personlige eller økonomiske oplysninger.<xliff:g id="ID_1"><br><br></xliff:g>Appen fungerer muligvis ikke korrekt uden denne begrænsede tilladelse. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Se, hvordan du giver tilladelse</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Appen blev nægtet adgang til at være <xliff:g id="ROLE_NAME">%1$s</xliff:g> som standard"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Appen anmodede om adgang til en følsom tilladelse, der kan kompromittere dine personlige eller økonomiske oplysninger.<xliff:g id="ID_1"><br><br></xliff:g>Appen fungerer muligvis ikke korrekt uden denne begrænsede tilladelse. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Se, hvordan du giver tilladelse</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Appen blev nægtet adgang"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Hvis du giver adgang til denne tilladelse, kan dine personlige og økonomiske oplysninger kompromitteres.<xliff:g id="ID_1"><br><br></xliff:g>Appen fungerer muligvis ikke korrekt uden denne begrænsede tilladelse. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Se, hvordan du giver tilladelse</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Få flere oplysninger"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Anmodning om tilladelse blokeret"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Denne app anmoder om yderligere tilladelser, men der kan ikke gives tilladelser under en streamingsession. Giv tilladelse på din telefon først."</string> </resources> diff --git a/PermissionController/res/values-de-v34/strings.xml b/PermissionController/res/values-de-v34/strings.xml index ed699cce3..f85972421 100644 --- a/PermissionController/res/values-de-v34/strings.xml +++ b/PermissionController/res/values-de-v34/strings.xml @@ -22,6 +22,5 @@ <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"App-Zugriff auf Gesundheitsdaten verwalten"</string> <string name="location_settings" msgid="8863940440881290182">"Standortzugriff"</string> - <string name="mic_toggle_description" msgid="1504101620086616040">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten trotz Deaktivierung dieser Berechtigung weitergegeben werden."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Für Apps und Dienste"</string> + <string name="mic_toggle_description" msgid="1504101620086616040">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten weitergegeben werden, auch wenn diese Berechtigung deaktiviert ist."</string> </resources> diff --git a/PermissionController/res/values-de-watch/strings.xml b/PermissionController/res/values-de-watch/strings.xml index 617413a19..dbe09e316 100644 --- a/PermissionController/res/values-de-watch/strings.xml +++ b/PermissionController/res/values-de-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Änderung unmöglich"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Abbrechen"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Immer"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Beim Verwenden der App"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Immer"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Beim Verwenden der App"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Immer"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Beim Verwenden der App"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Immer"</string> </resources> diff --git a/PermissionController/res/values-de/strings.xml b/PermissionController/res/values-de/strings.xml index 4b862e97d..b7007ef05 100644 --- a/PermissionController/res/values-de/strings.xml +++ b/PermissionController/res/values-de/strings.xml @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"Du hast <xliff:g id="APP_NAME">%1$s</xliff:g> den Zugriff auf die Berechtigung „<xliff:g id="PERMISSION_NAME">%2$s</xliff:g>“ verweigert"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Heute}=1{Vor 1 Tag}other{Vor # Tagen}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"App deaktivieren"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"Bei Deaktivierung dieser App funktionieren Android und andere Apps möglicherweise nicht mehr ordnungsgemäß. Beachte hierbei, dass du diese App nicht löschen kannst, weil sie auf deinem Gerät vorinstalliert war. Durch die Deaktivierung schaltest du diese App ab und blendest sie auf deinem Gerät aus."</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"Bei Deaktivierung dieser App funktionieren Android und andere Apps möglicherweise nicht mehr ordnungsgemäß. Beachte hierbei, dass du diese App nicht löschen kannst, weil sie auf deinem Gerät vorinstalliert war. Durch die Deaktivierung schaltest du diese App aus und blendest sie auf deinem Gerät aus."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Berechtigungsmanager"</string> <string name="never_ask_again" msgid="4728762438198560329">"Nicht mehr fragen"</string> <string name="no_permissions" msgid="3881676756371148563">"Keine Berechtigungen"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alle Berechtigungen"</string> <string name="other_permissions" msgid="2901186127193849594">"Andere App-Funktionen"</string> <string name="permission_request_title" msgid="8790310151025020126">"Berechtigungsanfrage"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Installations-/Deinstallationsaktion auf Android Wear nicht unterstützt."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Worauf darf die App <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> zugreifen?"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Die App <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> wurde aktualisiert. Worauf darf diese App zugreifen?"</string> <string name="review_button_cancel" msgid="2191147944056548886">"Abbrechen"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Immer vollen Zugriff erlauben"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Jedes Mal fragen"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nicht zulassen"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Auf genauen Standort zugreifen"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ungefährer Standort"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Genauen Standort verwenden"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Wenn der genaue Standort deaktiviert ist, können Apps auf deinen ungefähren Standort zugreifen"</string> <string name="app_permission_title" msgid="2090897901051370711">"Berechtigung: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Dieser App Zugriff auf <xliff:g id="PERM">%1$s</xliff:g> erlauben?"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g>-Zugriff für diese App auf dem <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Alle Berechtigungen der App „<xliff:g id="APP">%1$s</xliff:g>“ anzeigen"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Alle Apps mit dieser Berechtigung anzeigen"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Nutzung der Berechtigung \"Mikrofon\" für Assistant anzeigen"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Berechtigungen entfernen, wenn die App nicht verwendet wird"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Berechtigungen löschen und Speicherplatz freigeben"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"App-Aktivität bei Nichtnutzung stoppen"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"App-Verhalten bei Nichtnutzung verwalten"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Berechtigungen entfernen, temporäre Dateien löschen und Benachrichtigungen stoppen"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Berechtigungen entfernen, temporäre Dateien löschen, Benachrichtigungen stoppen und die App archivieren"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Zum Schutz deiner Daten werden dieser App die Berechtigungen entzogen, wenn du sie einige Monate nicht verwendest."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Zum Schutz deiner Daten werden dieser App die folgenden Berechtigungen entzogen, wenn du sie einige Monate nicht verwendest: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Zum Schutz deiner Daten wurden Apps, die du einige Monate nicht verwendet hast, Berechtigungen entzogen."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Verwalten aller Dateien zugelassen"</string> <string name="ask_header" msgid="2633816846459944376">"Jedes Mal fragen"</string> <string name="denied_header" msgid="903209608358177654">"Nicht zugelassen"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> auf dem <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Weitere Apps anzeigen, die auf alle Dateien zugreifen können"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 Tag}other{# Tage}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# Stunde}other{# Stunden}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Diese Apps können deinen Bildschirm, deine Aktionen und deine Eingaben sehen, Aktionen ausführen und den Bildschirm steuern."</string> <string name="role_assistant_label" msgid="4727586018198208128">"Standard-App digit. Assistent"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"App für digitalen Assistenten"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Damit sie dir eine umfassende Hilfe sind, unterstützen einige Apps sowohl Launcher- als auch Spracheingabedienste."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Einige Apps unterstützen sowohl Launcher- als auch Spracheingabedienste."</string> <string name="role_browser_label" msgid="2877796144554070207">"Standard-Browser-App"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Browser-App"</string> <string name="role_browser_description" msgid="3465253637499842671">"Apps, mit denen du auf das Internet zugreifen kannst und die die entsprechende Seite öffnen, wenn du auf einen Link tippst"</string> @@ -365,7 +369,7 @@ <string name="role_dialer_search_keywords" msgid="3324448983559188087">"telefon"</string> <string name="role_sms_label" msgid="8456999857547686640">"Standard-SMS-App"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"SMS-App"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Apps, mit denen du über deine Telefonnummer SMS, Fotos, Videos und mehr senden und empfangen kannst"</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps, mit denen du über deine Telefonnummer unter anderem SMS, Fotos oder Videos senden und empfangen kannst"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"<xliff:g id="APP_NAME">%1$s</xliff:g>als Standard-SMS-App festlegen?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Diese App erhält Zugriff auf Folgendes: Kamera, Kontakte, Mikrofon, Dateien und Medien, Telefon und SMS"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"textnachricht, sms, sms schicken, sms senden, nachrichten, mms"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notizen-App"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps zum Erstellen von Notizen auf deinem Gerät"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"Notizen"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Standard-Wallet-App"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet-App"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"In Wallet-Apps kannst du deine Kredit- und Kundenkarten, Autoschlüssel und andere Dinge speichern, was dir bei verschiedenen Arten von Transaktionen hilft."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> als Standard-Wallet-App festlegen?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Keine Berechtigungen erforderlich"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aktueller Standard"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Nicht mehr fragen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Als Standard festlegen"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Weitere Standard-Apps"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Links öffnen"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Standard-Apps für Arbeit"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Standard-Apps für den privaten Bereich"</string> <string name="default_app_none" msgid="9084592086808194457">"Keine"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System-Standardeinstellung)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Keine Apps"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Auslösererkennung für Assistenten anzeigen"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Symbol in der Statusleiste anzeigen, wenn das Mikrofon verwendet wird, um den Sprachassistenten zu aktivieren"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Fotos und Medien auf deinem Gerät zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf Fotos und Medien zugreifen?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf Fotos und Medien zugreifen?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ erlauben, auf deine Kontakte zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf die Kontakte zugreifen?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf deine Kontakte zugreifen?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, den Gerätestandort abzurufen?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>s</b> auf die Standortdaten zugreifen?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf den Standort deines Geräts <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> zugreifen?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Die App hat nur Zugriff auf den Gerätestandort, solange du sie verwendest"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, den Gerätestandort abzurufen?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g><b> auf die Standortdaten zugreifen?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf den Standort deines Geräts <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> zugreifen?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Diese App möchte eventuell Zugriff auf deinen Standort haben, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Standortzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ändern?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Standortzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ändern?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Standortzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ändern?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Diese App möchte jederzeit Zugriff auf deinen Standort haben, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Zulassen, dass <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> Geräte in der Nähe finden, sich mit ihnen verbinden und ihre relative Position bestimmen kann?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> die relative Position von Geräten in der Nähe bestimmen und sich verbinden?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> die relative Position von Geräten in der Nähe bestimmen und sich verbinden?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Zulassen, dass <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> Geräte in der Nähe finden, sich mit ihnen verbinden und ihre relative Position bestimmen kann? "<annotation id="link">"In den Einstellungen zulassen."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Soll der Standortzugriff von <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> von „Ungefähr“ zu „Genau“ geändert werden?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Standortzugriff von <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> von „ungefähr“ zu „genau“ ändern?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Standortzugriff von <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> von „ungefähr“ zu „genau“ ändern?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, den ungefähren Gerätestandort abzurufen?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g>s</b> auf die Angaben zum ungefähren Standort zugreifen?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf den ungefähren Standort deines Geräts <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> zugreifen?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Genau"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Ungefähr"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf deinen Kalender zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf den Kalender zugreifen?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf deinen Kalender zugreifen?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, SMS zu senden und aufzurufen?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dir auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> SMS-Nachrichten senden und auf sie zugreifen?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> SMS abrufen und ansehen?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Fotos, Medien und Dateien auf deinem Gerät zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf Fotos, Medien und Dateien zugreifen?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf Fotos, Medien und Dateien zugreifen?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf <b>Foto-, Video-, Musik- und Audiodateien</b> auf diesem Gerät zuzugreifen?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf <b>Foto-, Video-, Musik-, Audio- und andere Dateien</b> auf diesem Gerät zuzugreifen?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Musik- und Audiodateien auf diesem Gerät zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf Musik- und Audiodateien zugreifen?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf Musik- und Audiodateien zugreifen?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Fotos und Videos auf diesem Gerät zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf Fotos und Videos zugreifen?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf Fotos und Videos zugreifen?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf weitere Fotos und Videos auf diesem Gerät zugreifen?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf weitere Fotos und Videos zugreifen?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf weitere Fotos und Videos zugreifen?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, Audioaufnahmen zu machen?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Audioaufnahmen machen?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Audioaufnahmen machen?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Diese App kann nur Audioaufnahmen machen, solange du sie verwendest"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, Audioaufnahmen zu machen?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Audioaufnahmen machen?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Audioaufnahmen machen?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Diese App möchte ggf. jederzeit Audioaufnahmen machen können, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Mikrofonzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ändern?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Mikrofonzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ändern?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Mikrofonzugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ändern?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Diese App möchte jederzeit Audioaufnahmen machen können, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf deine körperliche Aktivität zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf die Daten zu deinen körperlichen Aktivitäten zugreifen?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf die Daten zu deinen körperlichen Aktivitäten zugreifen?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, Bilder und Videos aufzunehmen?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Foto- und Videoaufnahmen machen?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Foto- und Videoaufnahmen machen?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Diese App kann nur Bilder und Videos aufnehmen, solange du sie verwendest"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, Bilder und Videos aufzunehmen?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Foto- und Videoaufnahmen machen?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mit deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Foto- und Videoaufnahmen machen?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Diese App möchte ggf. jederzeit Bilder und Videos aufnehmen können, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Kamerazugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ändern?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Kamerazugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ändern?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Kamerazugriff für <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ändern?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Diese App möchte jederzeit Bilder und Videos aufnehmen können, auch wenn du sie nicht verwendest. "<annotation id="link">"Du kannst das in den Einstellungen zulassen."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf deine Anrufliste zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf die Anruflisten zugreifen?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf deine Anrufliste zugreifen?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, Anrufe zu starten und zu verwalten?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Anrufe starten und verwalten?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Anrufe tätigen und verwalten?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Sensordaten zu deinen Vitalfunktionen zuzugreifen?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf Sensordaten zu deinen Vitalzeichen zugreifen?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf Sensordaten zu deinen Vitalzeichen zugreifen?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Die App möchte jederzeit auf die Sensordaten zu deinen Vitalfunktionen zugreifen, auch wenn du sie nicht verwendest. Du kannst das "<annotation id="link">"in den Einstellungen ändern"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, auf Sensordaten zu deinen Vitalfunktionen zuzugreifen?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> auf die Sensordaten zu deinen Vitalzeichen zugreifen?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> auf die Sensordaten zu deinen Vitalzeichen zugreifen?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Damit diese App dauerhaft auf Daten des Körpersensors zugreifen kann, auch dann, wenn sie nicht verwendet wird, "<annotation id="link">"rufe die Einstellungen auf"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> Zugriff auf Körpersensordaten bei Verwendung weiter erlauben?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bei Nutzung der App weiter auf Körpersensordaten auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> zugreifen?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Darf die App <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> weiterhin auf deine Körpersensordaten zugreifen, während die App genutzt wird?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erlauben, dir Benachrichtigungen zu senden?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Darf <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dir auf deinem <b><xliff:g id="DEVICE">%2$s</xliff:g></b> Benachrichtigungen senden?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Darf dir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> auf deinem Gerät <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> Benachrichtigungen senden?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Erteilte Berechtigungen"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> hat Standortzugriff"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Deine Organisation erlaubt <xliff:g id="APP_NAME">%1$s</xliff:g> den Zugriff auf deinen Standort"</string> @@ -541,6 +551,9 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Keine"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Letzte\n24 Stunden"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Letzte\n7 Tage"</string> + <!-- String.format failed for translation --> + <!-- no translation found for privdash_usage_percent (6893824766124414127) --> + <skip /> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ist durch Android geschützt. Weil deine Daten direkt auf diesem Gerät verarbeitet werden, wird weder in der Statusleiste noch auf deinem Privatsphäredashboard die Nutzung der Berechtigungen durch diese App angezeigt."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ist durch Android geschützt. Weil deine Daten direkt auf diesem Gerät verarbeitet werden, wird auf deinem Privatsphäredashboard die Nutzung der Berechtigungen durch diese App nicht angezeigt."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Gerätekamera ist blockiert"</string> @@ -549,6 +562,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Für Apps und Dienste"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Die Mikrofondaten können immer noch geteilt werden, wenn du den Notruf wählst."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Ändern"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Zugriff auf die Kamera ist deaktiviert"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Für Infotainment-Apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Für erforderliche Apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Diese App ist erforderlich"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Diese App ist für den Fahrzeughersteller erforderlich"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Datenschutz & Sicherheit"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Gerät prüfen"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Schließen"</string> @@ -609,8 +627,8 @@ <string name="camera_toggle_title" msgid="1251201397431837666">"Kamerazugriff"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"Mikrofonzugriff"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Für Apps und Dienste"</string> - <string name="mic_toggle_description" msgid="9163104307990677157">"Für Apps und Dienste. Wenn diese Einstellung deaktiviert ist, können Mikrofondaten dennoch freigegeben werden, wenn du den Notruf wählst."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Apps und Dienste sehen, die Zugriff auf diesen Standort haben"</string> + <string name="mic_toggle_description" msgid="9163104307990677157">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten weitergegeben werden, auch wenn diese Berechtigung deaktiviert ist."</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Apps und Dienste sehen, die Zugriff auf den Standort haben"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Zugriff auf Zwischenablage anzeigen"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Eine Meldung wird angezeigt, wenn Apps auf Text, Bilder oder andere Inhalte zugreifen, die du kopiert hast"</string> <string name="show_password_title" msgid="2877269286984684659">"Passwörter anzeigen"</string> @@ -625,7 +643,7 @@ <string name="permission_rationale_data_sharing_varies_message" msgid="4224469559084489222">"Die Art der Datennutzung kann von der Version und Verwendung der App, von der Region und vom Alter des Nutzers abhängen. "<annotation id="link">"Weitere Informationen zur Datenweitergabe"</annotation></string> <string name="permission_rationale_data_sharing_varies_message_without_link" msgid="4912763761399025094">"Die Datenschutz- und Sicherheitspraktiken können je nach App-Version, Verwendung, Region und Alter des Nutzers variieren."</string> <string name="permission_rationale_location_settings_title" msgid="7204145004850190953">"Deine Standortdaten"</string> - <string name="permission_rationale_permission_settings_message" msgid="631286040979660267">"Du kannst den Zugriff dieser App in den "<annotation id="link">"Datenschutzeinstellungen"</annotation>" ändern"</string> + <string name="permission_rationale_permission_settings_message" msgid="631286040979660267">"Du kannst den Zugriff dieser App in den "<annotation id="link">"Datenschutzeinstellungen"</annotation>" ändern"</string> <string name="permission_rationale_purpose_app_functionality" msgid="8397736681065841405">"Funktionen der App"</string> <string name="permission_rationale_purpose_analytics" msgid="2070800501189620712">"Analytics"</string> <string name="permission_rationale_purpose_developer_communications" msgid="6453047018892062374">"Mitteilungen des Entwicklers"</string> @@ -639,7 +657,7 @@ <string name="data_sharing_updates_title" msgid="7996933386875213859">"Änderungen bei der Weitergabe von Standortdaten"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Apps ansehen, bei denen sich die Art der Weitergabe deiner Standortdaten geändert hat"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Bei diesen Apps hat sich die Art der Weitergabe deiner Standortdaten geändert. Möglicherweise wurden sie zuvor nicht weitergegeben oder sie werden jetzt zu Werbe- oder Marketingzwecken weitergegeben."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Die Entwickler dieser Apps haben Informationen über ihre Praktiken zur Datenweitergabe an App-Shops zur Verfügung gestellt. Diese Praktiken können im Laufe der Zeit geändert werden.\n\nPraktiken zur Datenweitergabe können je nach App-Version, Verwendung, Region und Alter des Nutzers variieren."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Die Entwickler dieser Apps haben für App-Shops Informationen über ihre Praktiken zur Datenweitergabe zur Verfügung gestellt. Diese Praktiken können im Laufe der Zeit geändert werden.\n\nPraktiken zur Datenweitergabe können je nach App-Version, Verwendung, Region und Alter des Nutzers variieren."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Informationen zur Datenweitergabe"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Deine Standortdaten werden ab jetzt an Dritte weitergegeben"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Deine Standortdaten werden ab jetzt zu Werbe- oder Marketingzwecken an Dritte weitergegeben"</string> @@ -648,4 +666,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Änderungen bei der Datenweitergabepraxis"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Bei einigen Apps hat sich die Art der Weitergabe deiner Standortdaten geändert"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Einstellungen"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Zugriff: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Zugriff: gestern, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Zugriff: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Dein Einmalpasswort lautet 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Eingeschränkte Einstellung"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Aus Sicherheitsgründen ist diese Einstellung derzeit nicht verfügbar."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App wurde Zugriff auf „<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>“ verweigert"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Die App hat Zugriff auf eine vertrauliche Berechtigung angefordert. Wenn du diesen zulässt, sind deine privaten Daten und Finanzdaten eventuell gefährdet.<xliff:g id="ID_1"><br><br></xliff:g>Die App funktioniert ohne diese eingeschränkte Berechtigung aber möglicherweise nicht richtig. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Informationen dazu, wie du den Zugriff erlaubst</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App wurde Zugriff verweigert, die standardmäßige <xliff:g id="ROLE_NAME">%1$s</xliff:g> zu sein"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Die App hat Zugriff auf vertrauliche Berechtigungen angefordert. Wenn du diesen zulässt, sind deine privaten Daten und Finanzdaten eventuell gefährdet.<xliff:g id="ID_1"><br><br></xliff:g>Die App funktioniert ohne diese eingeschränkten Berechtigungen aber möglicherweise nicht richtig. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Informationen dazu, wie du den Zugriff erlaubst</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App wurde Zugriff verweigert"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Wenn du den Zugriff auf diese Berechtigung zulässt, sind deine privaten Daten und Finanzdaten eventuell gefährdet.<xliff:g id="ID_1"><br><br></xliff:g>Die App funktioniert ohne diese eingeschränkte Berechtigung aber möglicherweise nicht richtig. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Informationen dazu, wie du den Zugriff erlaubst</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Weitere Informationen"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Ok"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Berechtigungsanfrage unterdrückt"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Diese App fordert zusätzliche Berechtigungen an – in einer Streamingsitzung können jedoch keine Berechtigungen gewährt werden. Erteile zuerst die Berechtigung auf deinem Smartphone."</string> </resources> diff --git a/PermissionController/res/values-el-car/strings.xml b/PermissionController/res/values-el-car/strings.xml index 605dfdf64..762f42d2b 100644 --- a/PermissionController/res/values-el-car/strings.xml +++ b/PermissionController/res/values-el-car/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="unused_apps_page_summary" msgid="7505839764289846511">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου"</string> + <string name="unused_apps_page_summary" msgid="7505839764289846511">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου"</string> </resources> diff --git a/PermissionController/res/values-el-v34/strings.xml b/PermissionController/res/values-el-v34/strings.xml index 0c8541787..b7486d405 100644 --- a/PermissionController/res/values-el-v34/strings.xml +++ b/PermissionController/res/values-el-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Διαχείριση της πρόσβασης των εφαρμογών στα δεδομένα υγείας"</string> <string name="location_settings" msgid="8863940440881290182">"Πρόσβαση στην τοποθεσία"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Για εφαρμογές και υπηρεσίες. Εάν είναι απενεργοποιημένη αυτή η ρύθμιση, τα δεδομένα μικροφώνου ενδέχεται να κοινοποιούνται όταν καλείτε έναν αριθμό έκτακτης ανάγκης."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Για εφαρμογές και υπηρεσίες"</string> </resources> diff --git a/PermissionController/res/values-el-watch/strings.xml b/PermissionController/res/values-el-watch/strings.xml index 05063253d..6f461e93d 100644 --- a/PermissionController/res/values-el-watch/strings.xml +++ b/PermissionController/res/values-el-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Αδυναμία αλλαγής"</string> <string name="generic_yes" msgid="2489207724988649846">"Ναι"</string> <string name="generic_cancel" msgid="2631708607129269698">"Ακύρωση"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Να επιτρέπεται πάντα"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Με τη χρήση της εφαρμογής"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Να επιτρέπεται πάντα"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Με τη χρήση της εφαρμογής"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Να επιτρέπεται πάντα"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Με τη χρήση της εφαρμογής"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Να επιτρέπεται πάντα"</string> </resources> diff --git a/PermissionController/res/values-el/strings.xml b/PermissionController/res/values-el/strings.xml index a8039d2d9..9ba83feed 100644 --- a/PermissionController/res/values-el/strings.xml +++ b/PermissionController/res/values-el/strings.xml @@ -54,7 +54,7 @@ <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Κατά τη χρήση της εφαρμογής"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Αλλαγή σε ακριβή τοποθεσία"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Διατήρηση κατά προσέγγιση τοποθεσίας"</string> - <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Μόνο αυτήν τη φορά"</string> + <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Μόνο αυτή τη φορά"</string> <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Να επιτρέπεται πάντα"</string> <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"Να επιτρέπεται η διαχείριση όλων των αρχείων"</string> <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"Να επιτρέπεται η πρόσβαση σε αρχεία μέσων"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Όλες οι άδειες"</string> <string name="other_permissions" msgid="2901186127193849594">"Άλλες δυνατότητες εφαρμογής"</string> <string name="permission_request_title" msgid="8790310151025020126">"Αίτημα άδειας"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Οι ενέργειες εγκατάστασης/απεγκατάστασης δεν υποστηρίζονται στο Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Επιλέξτε σε τι θα έχει πρόσβαση η εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Η εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ενημερώθηκε. Επιλέξτε σε τι θα έχει πρόσβαση αυτή η εφαρμογή."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Ακύρωση"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Να επιτρέπονται πάντα όλα"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Να ερωτώμαι κάθε φορά"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Να μην επιτρέπεται"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Ακριβής τοποθεσία"</string> <string name="approximate_image_description" msgid="938803699637069884">"Τοποθεσία κατά προσέγγιση"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Χρήση ακριβούς τοποθεσίας"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Όταν είναι απενεργοποιημένη η ακριβής τοποθεσία, οι εφαρμογές μπορούν να έχουν πρόσβαση στην κατά προσέγγιση τοποθεσία σας"</string> <string name="app_permission_title" msgid="2090897901051370711">"Άδεια - <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Πρόσβαση σε <xliff:g id="PERM">%1$s</xliff:g> για αυτή την εφαρμογή"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Πρόσβαση στην άδεια <xliff:g id="PERM">%1$s</xliff:g> για αυτή την εφαρμογή στη συσκευή <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Εμφάνιση όλων των αδειών της εφαρμογής <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Εμφάνιση όλων των εφαρμογών με αυτή την άδεια"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Εμφάνιση χρήσης μικροφώνου βοηθού"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"Ρυθμίσεις μη χρησιμοποιούμενων εφαρμογών"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Καταργήστε τις άδειες, εάν η εφαρμογή δεν χρησιμοποιείται."</string> - <string name="unused_apps_label" msgid="2595428768404901064">"Κατάργηση αδειών και απελευθέρωση χώρου"</string> + <string name="unused_apps_label" msgid="2595428768404901064">"Κατάργηση αδειών και αποδέσμευση χώρου"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Παύση δραστηριότητας αδρανούς εφαρμογής"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Διαχείρ. εφαρμ. αν δεν χρησιμοποιείται"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Κατάργηση αδειών, διαγραφή προσωρινών αρχείων και διακοπή ειδοποιήσεων"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Κατάργηση αδειών, διαγραφή προσωρινών αρχείων, διακοπή ειδοποιήσεων και αρχειοθέτηση της εφαρμογής"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Για την προστασία των δεδομένων σας, οι άδειες για αυτή την εφαρμογή θα καταργηθούν εάν η εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Για την προστασία των δεδομένων σας, εάν δεν έχει χρησιμοποιηθεί η εφαρμογή για μερικούς μήνες, οι παρακάτω άδειες θα καταργηθούν: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Για την προστασία των δεδομένων σας, έχουν καταργηθεί οι άδειες εφαρμογών που δεν έχετε χρησιμοποιήσει κατά τους τελευταίους μήνες."</string> @@ -221,8 +224,8 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"Καταργήθηκαν οι άδειες <xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> και <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"Καταργήθηκε η άδεια <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> και <xliff:g id="NUMBER">%2$s</xliff:g> ακόμη άδειες"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"Εφαρμογές που δεν χρησιμοποιούνται"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για λίγους μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Οι ειδοποιήσεις διακόπτονται για την εξοικονόμηση μπαταρίας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες και τις ειδοποιήσεις, ανοίξτε την εφαρμογή."</string> - <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για έναν μήνα:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες, ανοίξτε την εφαρμογή."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για λίγους μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Οι ειδοποιήσεις διακόπτονται για την εξοικονόμηση μπαταρίας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες και τις ειδοποιήσεις, ανοίξτε την εφαρμογή."</string> + <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για έναν μήνα:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες, ανοίξτε την εφαρμογή."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Τελευταίο άνοιγμα πάνω από # μήνα πριν}other{Τελευταίο άνοιγμα πάνω από # μήνες πριν}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"Τελευταίο άνοιγμα εφαρμογής <xliff:g id="DATE">%s</xliff:g>"</string> <string name="last_opened_summary_short" msgid="1646067226191176825">"Τελευταίο άνοιγμα <xliff:g id="DATE">%s</xliff:g>"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Επιτρέπεται η διαχείριση όλων των αρχείων"</string> <string name="ask_header" msgid="2633816846459944376">"Ερώτηση κάθε φορά"</string> <string name="denied_header" msgid="903209608358177654">"Δεν επιτρέπεται"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> στη συσκευή <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Δείτε περισσότερες εφαρμογές με πρόσβαση σε όλα τα αρχεία"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ημέρα}other{# ημέρες}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ώρα}other{# ώρες}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Εφαρμογή σημειώσεων"</string> <string name="role_notes_description" msgid="8496852798616883551">"Εφαρμογές που σας επιτρέπουν να κρατάτε σημειώσεις στη συσκευή σας"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"σημειώσεις"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Προεπιλ. εφαρμογή πορτοφολιού"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Εφαρμογή πορτοφολιού"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Οι εφαρμογές πορτοφολιού μπορούν να αποθηκεύσουν πιστωτικές κάρτες και κάρτες επιβράβευσης αφοσιωμένων πελατών, κλειδιά αυτοκινήτου και άλλα στοιχεία για να σας βοηθήσουν με διάφορες μορφές συναλλαγών."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Ορισμός της εφαρμογής <xliff:g id="APP_NAME">%1$s</xliff:g> ως προεπιλεγμένης εφαρμογής πορτοφολιού;"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Δεν απαιτούνται άδειες"</string> <string name="request_role_current_default" msgid="738722892438247184">"Τρέχουσα προεπιλογή"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Να μην ερωτηθώ ξανά"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Προεπιλογή"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Περισσότερες προεπιλογές"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Άνοιγμα συνδέσμων"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Προεπιλογή για εργασία"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Προεπιλογή για απόρρητο χώρο"</string> <string name="default_app_none" msgid="9084592086808194457">"Καμία"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Προεπιλογή συστήματος)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Δεν υπάρχουν εφαρμογές"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Εμφάνιση εντοπισμού ενεργοποίησης βοηθού"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Εμφάνιση εικονιδίου στη γραμμή κατάστασης όταν το μικρόφωνο χρησιμοποιείται για την ενεργοποίηση του φωνητικού βοηθού"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση σε φωτογραφίες και μέσα στη συσκευή σας;"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες και μέσα στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες και μέσα στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στις επαφές σας;"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στις επαφές σας στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στις επαφές σας στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία αυτής της συσκευής;"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>;"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Η εφαρμογή θα έχει πρόσβαση στην τοποθεσία μόνο κατά τη διάρκεια χρήσης της εφαρμογής"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στην τοποθεσία αυτής της συσκευής;"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>;"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>;"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Αυτή η εφαρμογή θέλει να έχει συνεχώς πρόσβαση στην τοποθεσία σας, ακόμη και όταν δεν χρησιμοποιείτε την εφαρμογή. "<annotation id="link">"Εγκρίνετε το αίτημα στις ρυθμίσεις."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Αλλαγή πρόσβασης στην τοποθεσία για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>;"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Αλλαγή της πρόσβασης σε τοποθεσία για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Να γίνει αλλαγή της πρόσβασης σε τοποθεσία για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Αυτή η εφαρμογή θέλει να έχει συνεχώς πρόσβαση στην τοποθεσία σας, ακόμη και όταν δεν χρησιμοποιείτε την εφαρμογή. "<annotation id="link">"Εγκρίνετε το αίτημα στις ρυθμίσεις."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Να επιτρέπεται η εύρεση, η σύνδεση κι ο προσδιορισμός σχετικής τοποθεσίας των κοντινών συσκευών από <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>;"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> εύρεση, σύνδεση και προσδιορ. σχετ. θέσης κοντινών συσκευών στο <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εύρεση και η σύνδεση σε κοντινές συσκευές και ο προσδιορισμός της σχετικής θέσης τους στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Να επιτρέπεται η εύρεση, η σύνδεση κι ο προσδιορισμός σχετικής τοποθεσίας των κοντινών συσκευών από <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>; "<annotation id="link">"Έγκριση στις Ρυθμίσεις."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Αλλαγή της πρόσβασης της εφαρμογής <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> στην τοποθεσία από κατά προσέγγιση σε ακριβή;"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Αλλαγή της πρόσβασης της εφαρμογής <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE">%2$s</xliff:g></b> από κατά προσέγγιση σε ακριβή;"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Να γίνει αλλαγή της πρόσβασης της εφαρμογής <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> στην τοποθεσία της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> από κατά προσέγγιση σε ακριβή;"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στην κατά προσέγγιση τοποθεσία αυτής της συσκευής;"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία κατά προσέγγιση της συσκευής <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στην τοποθεσία κατά προσέγγιση της συσκευής <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Ακριβής"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Κατά προσέγγιση"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στο ημερολόγιό σας;"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στο ημερολόγιό σας στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στο ημερολόγιό σας στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>;"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η αποστολή και η προβολή μηνυμάτων SMS;"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η αποστολή και η προβολή μηνυμάτων SMS στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η αποστολή και η προβολή μηνυμάτων SMS στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση σε φωτογραφίες, μέσα και αρχεία στη συσκευή σας;"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες, μέσα και αρχεία στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες, μέσα και αρχεία στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε <b>φωτογραφίες, βίντεο, μουσική και ήχο</b> της συσκευής;"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε <b>φωτογραφίες, βίντεο, μουσική, ήχο και άλλα αρχεία</b> της συσκευής;"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στη μουσική και στα αρχεία ήχου αυτής της συσκευής;"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε μουσική και ήχο στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε μουσική και σε ήχο στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στις φωτογραφίες και τα βίντεο αυτής της συσκευής;"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες και βίντεο στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε φωτογραφίες και σε βίντεο στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε περισσότερες φωτογραφίες και βίντεο αυτής της συσκευής;"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε περισσότερες φωτογραφίες και βίντεο στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε περισσότερες φωτογραφίες και βίντεο στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου;"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Αυτή η εφαρμογή θα μπορεί να εγγράφει ήχο μόνο όταν τη χρησιμοποιείτε"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου;"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η εγγραφή ήχου στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Αυτή η εφαρμογή ενδέχεται να εγγράφει βίντεο συνεχώς, ακόμη και όταν δεν τη χρησιμοποιείτε. "<annotation id="link">"Έγκριση στις ρυθμίσεις."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Αλλαγή πρόσβασης στο μικρόφωνο για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>;"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Αλλαγή της πρόσβασης μικροφώνου για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Να γίνει αλλαγή της πρόσβασης μικροφώνου για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Αυτή η εφαρμογή θέλει να εγγράφει ήχο συνεχώς, ακόμη και όταν δεν τη χρησιμοποιείται. "<annotation id="link">"Έγκριση στις ρυθμίσεις."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στη σωματική σας δραστηριότητα;"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στη σωματική δραστηριότητά σας στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στη σωματική δραστηριότητά σας στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο;"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Αυτή η εφαρμογή θα μπορεί να τραβάει φωτογραφίες και να εγγράφει βίντεο μόνο όταν τη χρησιμοποιείτε"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο;"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η λήψη φωτογραφιών και η εγγραφή βίντεο στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Αυτή η εφαρμογή ενδέχεται να τραβάει φωτογραφίες και να εγγράφει βίντεο συνεχώς, ακόμη και όταν δεν τη χρησιμοποιείτε. "<annotation id="link">"Έγκριση στις Ρυθμίσεις."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Αλλαγή πρόσβασης στην κάμερα για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>;"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Αλλαγή της πρόσβασης κάμερας για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Να γίνει αλλαγή της πρόσβασης κάμερας για την εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Αυτή η εφαρμογή θέλει να τραβάει φωτογραφίες και να εγγράφει βίντεο συνεχώς, ακόμη και όταν δεν τη χρησιμοποιείται. "<annotation id="link">"Έγκριση στις Ρυθμίσεις."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στα αρχεία καταγραφής τηλεφωνικών κλήσεών σας;"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα αρχεία καταγραφής τηλεφ. κλήσεων στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα αρχεία καταγραφής κλήσεων τηλεφώνου σας στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πραγματοποίηση και η διαχείριση τηλεφωνικών κλήσεων;"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πραγματοποίηση και η διαχείριση τηλεφ. κλήσεων στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πραγματοποίηση και η διαχείριση τηλεφωνικών κλήσεων στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να έχει πρόσβαση στα δεδομένα αισθητήρα σχετικά με τις ζωτικές ενδείξεις σας;"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα δεδομένα αισθητήρων ζωτικών λειτουργιών σας στο <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα δεδομένα αισθητήρων των ζωτικών λειτουργιών σας στο <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Αυτή η εφαρμογή θέλει πρόσβαση στα δεδομένα αισθητήρα για τις ζωτικές σας ενδείξεις, ακόμη και όταν δεν τη χρησιμοποιείτε. Για να κάνετε αυτή την αλλαγή, "<annotation id="link">"μεταβείτε στις ρυθμίσεις."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε δεδομένα αισθητήρα σχετικά με τις ζωτικές ενδείξεις σας;"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα δεδομένα αισθητήρων ζωτικών λειτουργιών σας στο <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση στα δεδομένα αισθητήρων των ζωτικών λειτουργιών σας στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Για να επιτρέψετε σε αυτή την εφαρμογή να έχει πρόσβαση σε δεδομένα αισθητήρων σώματος οποιαδήποτε στιγμή, ακόμα και όταν δεν χρησιμοποιείτε την εφαρμογή, "<annotation id="link">"μεταβείτε στις ρυθμίσεις."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Να συνεχίσει να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε δεδομένα αισθητήρων σώματος ενώ χρησιμοποιείται;"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Να συνεχ. να επιτρ. σε <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβ. σε δεδομ. αισθ. σώμ. σε <b><xliff:g id="DEVICE">%2$s</xliff:g></b> κατά τη χρήση της εφαρ.;"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Να συνεχίσει να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η πρόσβαση σε δεδομένα αισθητήρων σώματος στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> κατά τη χρήση της εφαρμογής;"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Να επιτρέπεται στο <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> να σας στέλνει ειδοποιήσεις;"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η αποστολή ειδοποιήσεων στη συσκευή <b><xliff:g id="DEVICE">%2$s</xliff:g></b>;"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Να επιτρέπεται στην εφαρμογή <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> η αποστολή ειδοποιήσεων στη συσκευή <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>;"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Ελεγχόμενες άδειες"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> έχει πρόσβαση στην τοποθεσία"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Ο οργανισμός σας επιτρέπει στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να έχει πρόσβαση στην τοποθεσία σας"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Καμία"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Τελευταίες\n24 ώρες"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Τελευταίες\n7 ημέρες"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> τοις εκατό"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> προστατεύεται από το Android. Επειδή η επεξεργασία των δεδομένων σας πραγματοποιείται σε αυτήν τη συσκευή, η χρήση αδειών αυτής της εφαρμογής δεν εμφανίζεται στη γραμμή κατάστασης ή στον πίνακα ελέγχου απορρήτου σας."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> προστατεύεται από το Android. Επειδή η επεξεργασία των δεδομένων σας πραγματοποιείται σε αυτήν τη συσκευή, η χρήση αδειών αυτής της εφαρμογής δεν εμφανίζεται στον πίνακα ελέγχου απορρήτου σας."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Η κάμερα συσκευής αποκλείστηκε"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Για εφαρμογές και υπηρεσίες"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Ενδέχεται να κοινοποιηθούν δεδομένα μικροφώνου κατά την κλήση ενός αριθμού έκτακτης ανάγκης."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Αλλαγή"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Η πρόσβαση στην κάμερα είναι απενεργοποιημένη"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Για εφαρμογές ενημέρωσης και ψυχαγωγίας"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Για απαιτούμενες εφαρμογές"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Απαιτείται αυτή η εφαρμογή"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Αυτή η εφαρμογή απαιτείται από τον κατασκευαστή του αυτοκινήτου σας"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Ασφάλεια και απόρρητο"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Σάρωση συσκευής"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Παράβλεψη"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Ενημερώσεις κοινοποίησης δεδομένων"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Ορισμένες εφαρμογές άλλαξαν τον τρόπο με τον οποίο ενδέχεται να κοινοποιούν τα δεδομένα τοποθεσίας σας"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ρυθμίσεις"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Πρόσβαση στις <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Πρόσβαση χθες, στις <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Πρόσβαση στις <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ο κωδικός πρόσβασης μίας χρήσης είναι 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Περιορισμένη ρύθμιση"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Για την ασφάλειά σας, αυτή η ρύθμιση δεν είναι διαθέσιμη αυτή τη στιγμή."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Απορρίφθηκε η πρόσβαση της εφαρμογής στην άδεια <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Η εφαρμογή ζήτησε πρόσβαση σε μια άδεια πρόσβασης σε ευαίσθητες πληροφορίες, γεγονός που μπορεί να θέσει σε κίνδυνο τα προσωπικά και οικονομικά στοιχεία σας.<xliff:g id="ID_1"><br><br></xliff:g>Είναι πιθανό η εφαρμογή να μην λειτουργεί σωστά χωρίς αυτή την περιορισμένη άδεια. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Μάθετε πώς μπορείτε να επιτρέψετε την πρόσβαση</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Δεν επιτράπηκε στην εφαρμογή να οριστεί ως η προεπιλεγμένη <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Η εφαρμογή ζήτησε πρόσβαση σε άδειες πρόσβασης σε ευαίσθητες πληροφορίες, γεγονός που μπορεί να θέσει σε κίνδυνο τα προσωπικά και οικονομικά στοιχεία σας.<xliff:g id="ID_1"><br><br></xliff:g>Είναι πιθανό η εφαρμογή να μην λειτουργεί σωστά χωρίς αυτές τις περιορισμένες άδειες. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Μάθετε πώς μπορείτε να επιτρέψετε την πρόσβαση</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Απορρίφθηκε η πρόσβαση της εφαρμογής"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Η πρόσβαση σε αυτή την άδεια μπορεί να θέσει σε κίνδυνο τα προσωπικά και οικονομικά στοιχεία σας.<xliff:g id="ID_1"><br><br></xliff:g>Είναι πιθανό η εφαρμογή να μην λειτουργεί σωστά χωρίς αυτή την περιορισμένη άδεια. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Μάθετε πώς μπορείτε να επιτρέψετε την πρόσβαση</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Μάθετε περισσότερα"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ΟΚ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Το αίτημα άδειας ανεστάλη"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Αυτή η εφαρμογή ζητά πρόσθετες άδειες, αλλά οι άδειες δεν μπορούν να εκχωρηθούν σε μια περίοδο σύνδεσης ροής. Εκχωρήστε πρώτα την άδεια στο τηλέφωνό σας."</string> </resources> diff --git a/PermissionController/res/values-en-rAU-v34/strings.xml b/PermissionController/res/values-en-rAU-v34/strings.xml index 4800f8a91..f16d34825 100644 --- a/PermissionController/res/values-en-rAU-v34/strings.xml +++ b/PermissionController/res/values-en-rAU-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Manage app access to health data"</string> <string name="location_settings" msgid="8863940440881290182">"Location access"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps and services"</string> </resources> diff --git a/PermissionController/res/values-en-rAU-watch/strings.xml b/PermissionController/res/values-en-rAU-watch/strings.xml index 70643f521..e3f48cb2c 100644 --- a/PermissionController/res/values-en-rAU-watch/strings.xml +++ b/PermissionController/res/values-en-rAU-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Can\'t be changed"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel"</string> + <string name="permission_access_always" msgid="2107115233573823032">"All the time"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"While using app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"All the time"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"While using app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"All the time"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"While using app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"All the time"</string> </resources> diff --git a/PermissionController/res/values-en-rAU/strings.xml b/PermissionController/res/values-en-rAU/strings.xml index 6fb7994a8..28d1227cf 100644 --- a/PermissionController/res/values-en-rAU/strings.xml +++ b/PermissionController/res/values-en-rAU/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"All permissions"</string> <string name="other_permissions" msgid="2901186127193849594">"Other app capabilities"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permission request"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Install/Uninstall actions not supported on Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Choose what to allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> has been updated. Choose what access to allow this app."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Always allow all"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ask every time"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Don\'t allow"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Precise location"</string> <string name="approximate_image_description" msgid="938803699637069884">"Approximate location"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Use precise location"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"When precise location is off, apps can access your approximate location"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> permission"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> access for this app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> access for this app on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"See all <xliff:g id="APP">%1$s</xliff:g> permissions"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"See all apps with this permission"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Show Assistant microphone usage"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remove permissions if app isn’t used"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remove permissions and free up space"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pause app activity if unused"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Manage app if unused"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissions, delete temporary files and stop notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove permissions, delete temporary files, stop notifications and archive the app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"To protect your data, permissions for this app will be removed if the app is unused for a few months."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"To protect your data, if the app is unused for a few months, the following permissions will be removed: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"To protect your data, permissions have been removed from apps that you haven’t used in a few months."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Allowed to manage all files"</string> <string name="ask_header" msgid="2633816846459944376">"Ask every time"</string> <string name="denied_header" msgid="903209608358177654">"Not allowed"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"See more apps that can access all files"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 day}other{# days}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hour}other{# hours}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps that allow you to take notes on your device"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Set <xliff:g id="APP_NAME">%1$s</xliff:g> as your default wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No permissions needed"</string> <string name="request_role_current_default" msgid="738722892438247184">"Current default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Don\'t ask again"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Set as default"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"More defaults"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opening links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default for work"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default for private space"</string> <string name="default_app_none" msgid="9084592086808194457">"None"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System default)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No apps"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Show assistant trigger detection"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Show icon in status bar when microphone is used to activate voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"The app will only have access to the location while you\'re using the app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s location?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"This app may want to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"This app wants to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in Settings."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of Nearby devices on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices? "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access from approximate to precise?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> from approximate to precise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\'s location access on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> from approximate to precise?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s approximate location?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s approximate location?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>\'s approximate location?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precise"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximate"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music and audio</b> on this device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, audio and other files</b> on this device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"The app will only be able to record audio while you’re using the app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"This app may want to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"This app wants to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"The app will only be able to take pictures and record video while you’re using the app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"This app may want to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"This app wants to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"This app wants to access sensor data about your vital signs all the time, even when you’re not using the app. To make this change, "<annotation id="link">"go to Settings."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"To let this app access body sensor data all the time, even when you’re not using the app, "<annotation id="link">"go to settings."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data while the app is in use?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> while app is in use?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> while app is in use?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Controlled permissions"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> has location access"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Your organisation allows <xliff:g id="APP_NAME">%1$s</xliff:g> to access your location"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"None"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Past\n24 hours"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Past\n7 days"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> per cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on your privacy dashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Device camera is blocked"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps and services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microphone data may still be shared when you call an emergency number."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Change"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Camera access is off"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For required apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"This app is required"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"This app is required by your car\'s manufacturer"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Security and privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dismiss"</string> @@ -560,7 +576,7 @@ <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> <string name="security_settings" msgid="3808106921175271317">"Security settings"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string> - <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security & privacy"</string> + <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data sharing updates"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Some apps changed the way that they may share your location data"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Settings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Accessed <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accessed yesterday <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accessed <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Your one-time password is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Restricted setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"For your security, this setting is currently unavailable."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App was denied access to <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App was denied access to be default <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without these restricted permissions. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App was denied access"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Access to this permission can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Learn more"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permission request suppressed"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"This app is requesting additional permissions, but permissions can\'t be granted in a streaming session. Grant the permission on your phone first."</string> </resources> diff --git a/PermissionController/res/values-en-rCA-v34/strings.xml b/PermissionController/res/values-en-rCA-v34/strings.xml index 4800f8a91..f16d34825 100644 --- a/PermissionController/res/values-en-rCA-v34/strings.xml +++ b/PermissionController/res/values-en-rCA-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Manage app access to health data"</string> <string name="location_settings" msgid="8863940440881290182">"Location access"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps and services"</string> </resources> diff --git a/PermissionController/res/values-en-rCA-watch/strings.xml b/PermissionController/res/values-en-rCA-watch/strings.xml index adecb65b9..aa97f28cc 100644 --- a/PermissionController/res/values-en-rCA-watch/strings.xml +++ b/PermissionController/res/values-en-rCA-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Can\'t be changed"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel"</string> + <string name="permission_access_always" msgid="2107115233573823032">"All the time"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"While using app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"All the time"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"While using app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"All the time"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"While using app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"All the time"</string> </resources> diff --git a/PermissionController/res/values-en-rCA/strings.xml b/PermissionController/res/values-en-rCA/strings.xml index a01a0cef2..4a29b89c7 100644 --- a/PermissionController/res/values-en-rCA/strings.xml +++ b/PermissionController/res/values-en-rCA/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"All permissions"</string> <string name="other_permissions" msgid="2901186127193849594">"Other app capabilities"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permission request"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Install/Uninstall actions not supported on Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Choose what to allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> has been updated. Choose what to allow this app to access."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel"</string> @@ -193,12 +191,14 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Always allow all"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ask every time"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Don\'t allow"</string> + <string name="app_permission_button_allow_limited_access" msgid="8824410215149764113">"Allow limited access"</string> <string name="precise_image_description" msgid="6349638632303619872">"Precise location"</string> <string name="approximate_image_description" msgid="938803699637069884">"Approximate location"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Use precise location"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"When precise location is off, apps can access your approximate location"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> permission"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> access for this app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> access for this app on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"See all <xliff:g id="APP">%1$s</xliff:g> permissions"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"See all apps with this permission"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Show assistant microphone usage"</string> @@ -206,7 +206,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remove permissions if app isn’t used"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remove permissions and free up space"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pause app activity if unused"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Manage app if unused"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissions, delete temporary files, and stop notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove permissions, delete temporary files, stop notifications, and archive the app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"To protect your data, permissions for this app will be removed if the app is unused for a few months."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"To protect your data, if the app is unused for a few months, the following permissions will be removed: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"To protect your data, permissions have been removed from apps that you haven’t used in a few months."</string> @@ -254,6 +256,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Allowed to manage all files"</string> <string name="ask_header" msgid="2633816846459944376">"Ask every time"</string> <string name="denied_header" msgid="903209608358177654">"Not allowed"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"See more apps that can access all files"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 day}other{# days}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hour}other{# hours}}"</string> @@ -403,6 +406,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps that allow you to take notes on your device"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Set <xliff:g id="APP_NAME">%1$s</xliff:g> as your default wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No permissions needed"</string> <string name="request_role_current_default" msgid="738722892438247184">"Current default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Don’t ask again"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Set as default"</string> @@ -428,6 +436,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"More defaults"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opening links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default for work"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default for private space"</string> <string name="default_app_none" msgid="9084592086808194457">"None"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System default)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No apps"</string> @@ -457,75 +466,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Show assistant trigger detection"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Show icon in status bar when microphone is used to activate voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"The app will only have access to the location while you\'re using the app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s location?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"This app may want to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"This app wants to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices? "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access from approximate to precise?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> from approximate to precise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> from approximate to precise?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s approximate location?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s approximate location?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s approximate location?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precise"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximate"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on your device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, and audio</b> on this device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, audio, and other files</b> on this device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"The app will only be able to record audio while you’re using the app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"This app may want to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"This app wants to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"The app will only be able to take pictures and record video while you’re using the app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"This app may want to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"This app wants to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"This app wants to access sensor data about your vital signs all the time, even when you’re not using the app. To make this change, "<annotation id="link">"go to settings."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"To let this app access body sensor data all the time, even when you’re not using the app, "<annotation id="link">"go to settings."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data while app is in use?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> while app is in use?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> while app is in use?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Controlled permissions"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> has location access"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Your organization allows <xliff:g id="APP_NAME">%1$s</xliff:g> to access your location"</string> @@ -541,6 +550,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"None"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Past\n24 hours"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Past\n7 days"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> percent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on your privacy dashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Device camera is blocked"</string> @@ -549,6 +559,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps and services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microphone data may still be shared when you call an emergency number."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Change"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Camera access is off"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For required apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"This app is required"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"This app is required by your car’s manufacturer"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Security and privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dismiss"</string> @@ -648,4 +663,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data sharing updates"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Some apps changed the way they may share your location data"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Settings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Accessed <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accessed yesterday <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accessed <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Your one time password is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Restricted setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"For your security, this setting is currently unavailable."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App was denied access to <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App was denied access to be default <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without these restricted permissions. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App was denied access"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Access to this permission can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Learn more"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permission request suppressed"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"This app is requesting additional permissions, but permissions can’t be granted in a streaming session. Grant the permission on your phone first."</string> </resources> diff --git a/PermissionController/res/values-en-rGB-v34/strings.xml b/PermissionController/res/values-en-rGB-v34/strings.xml index 4800f8a91..f16d34825 100644 --- a/PermissionController/res/values-en-rGB-v34/strings.xml +++ b/PermissionController/res/values-en-rGB-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Manage app access to health data"</string> <string name="location_settings" msgid="8863940440881290182">"Location access"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps and services"</string> </resources> diff --git a/PermissionController/res/values-en-rGB-watch/strings.xml b/PermissionController/res/values-en-rGB-watch/strings.xml index 70643f521..e3f48cb2c 100644 --- a/PermissionController/res/values-en-rGB-watch/strings.xml +++ b/PermissionController/res/values-en-rGB-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Can\'t be changed"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel"</string> + <string name="permission_access_always" msgid="2107115233573823032">"All the time"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"While using app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"All the time"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"While using app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"All the time"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"While using app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"All the time"</string> </resources> diff --git a/PermissionController/res/values-en-rGB/strings.xml b/PermissionController/res/values-en-rGB/strings.xml index bfaca7355..b5dfba425 100644 --- a/PermissionController/res/values-en-rGB/strings.xml +++ b/PermissionController/res/values-en-rGB/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"All permissions"</string> <string name="other_permissions" msgid="2901186127193849594">"Other app capabilities"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permission request"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Install/Uninstall actions not supported on Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Choose what to allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> has been updated. Choose what access to allow this app."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Always allow all"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ask every time"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Don\'t allow"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Precise location"</string> <string name="approximate_image_description" msgid="938803699637069884">"Approximate location"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Use precise location"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"When precise location is off, apps can access your approximate location"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> permission"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> access for this app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> access for this app on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"See all <xliff:g id="APP">%1$s</xliff:g> permissions"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"See all apps with this permission"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Show Assistant microphone usage"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remove permissions if app isn’t used"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remove permissions and free up space"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pause app activity if unused"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Manage app if unused"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissions, delete temporary files and stop notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove permissions, delete temporary files, stop notifications and archive the app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"To protect your data, permissions for this app will be removed if the app is unused for a few months."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"To protect your data, if the app is unused for a few months, the following permissions will be removed: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"To protect your data, permissions have been removed from apps that you haven’t used in a few months."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Allowed to manage all files"</string> <string name="ask_header" msgid="2633816846459944376">"Ask every time"</string> <string name="denied_header" msgid="903209608358177654">"Not allowed"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"See more apps that can access all files"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 day}other{# days}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hour}other{# hours}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps that allow you to take notes on your device"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Set <xliff:g id="APP_NAME">%1$s</xliff:g> as your default wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No permissions needed"</string> <string name="request_role_current_default" msgid="738722892438247184">"Current default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Don\'t ask again"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Set as default"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"More defaults"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opening links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default for work"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default for private space"</string> <string name="default_app_none" msgid="9084592086808194457">"None"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System default)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No apps"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Show assistant trigger detection"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Show icon in status bar when microphone is used to activate voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"The app will only have access to the location while you’re using the app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s location?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"This app may want to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"This app wants to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in Settings."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of Nearby devices on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices? "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access from approximate to precise?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> from approximate to precise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\'s location access on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> from approximate to precise?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s approximate location?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s approximate location?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>\'s approximate location?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precise"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximate"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music and audio</b> on this device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, audio and other files</b> on this device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"The app will only be able to record audio while you’re using the app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"This app may want to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"This app wants to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"The app will only be able to take pictures and record video while you’re using the app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"This app may want to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"This app wants to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"This app wants to access sensor data about your vital signs all the time, even when you’re not using the app. To make this change, "<annotation id="link">"go to Settings."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"To let this app access body sensor data all the time, even when you’re not using the app, "<annotation id="link">"go to settings."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data while the app is in use?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> while app is in use?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> while app is in use?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Controlled permissions"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> has location access"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Your organisation allows <xliff:g id="APP_NAME">%1$s</xliff:g> to access your location"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"None"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Past\n24 hours"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Past\n7 days"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> per cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on your privacy dashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Device camera is blocked"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps and services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microphone data may still be shared when you call an emergency number."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Change"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Camera access is off"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For required apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"This app is required"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"This app is required by your car\'s manufacturer"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Security and privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dismiss"</string> @@ -560,7 +576,7 @@ <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> <string name="security_settings" msgid="3808106921175271317">"Security settings"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string> - <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security & privacy"</string> + <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data sharing updates"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Some apps changed the way that they may share your location data"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Settings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Accessed <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accessed yesterday <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accessed <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Your one-time password is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Restricted setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"For your security, this setting is currently unavailable."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App was denied access to <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App was denied access to be default <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without these restricted permissions. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App was denied access"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Access to this permission can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Learn more"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permission request suppressed"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"This app is requesting additional permissions, but permissions can\'t be granted in a streaming session. Grant the permission on your phone first."</string> </resources> diff --git a/PermissionController/res/values-en-rIN-v34/strings.xml b/PermissionController/res/values-en-rIN-v34/strings.xml index 4800f8a91..f16d34825 100644 --- a/PermissionController/res/values-en-rIN-v34/strings.xml +++ b/PermissionController/res/values-en-rIN-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Manage app access to health data"</string> <string name="location_settings" msgid="8863940440881290182">"Location access"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps and services"</string> </resources> diff --git a/PermissionController/res/values-en-rIN-watch/strings.xml b/PermissionController/res/values-en-rIN-watch/strings.xml index 70643f521..e3f48cb2c 100644 --- a/PermissionController/res/values-en-rIN-watch/strings.xml +++ b/PermissionController/res/values-en-rIN-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Can\'t be changed"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel"</string> + <string name="permission_access_always" msgid="2107115233573823032">"All the time"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"While using app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"All the time"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"While using app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"All the time"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"While using app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"All the time"</string> </resources> diff --git a/PermissionController/res/values-en-rIN/strings.xml b/PermissionController/res/values-en-rIN/strings.xml index bfaca7355..b5dfba425 100644 --- a/PermissionController/res/values-en-rIN/strings.xml +++ b/PermissionController/res/values-en-rIN/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"All permissions"</string> <string name="other_permissions" msgid="2901186127193849594">"Other app capabilities"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permission request"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Install/Uninstall actions not supported on Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Choose what to allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> has been updated. Choose what access to allow this app."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Always allow all"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ask every time"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Don\'t allow"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Precise location"</string> <string name="approximate_image_description" msgid="938803699637069884">"Approximate location"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Use precise location"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"When precise location is off, apps can access your approximate location"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> permission"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> access for this app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> access for this app on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"See all <xliff:g id="APP">%1$s</xliff:g> permissions"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"See all apps with this permission"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Show Assistant microphone usage"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remove permissions if app isn’t used"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remove permissions and free up space"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pause app activity if unused"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Manage app if unused"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissions, delete temporary files and stop notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove permissions, delete temporary files, stop notifications and archive the app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"To protect your data, permissions for this app will be removed if the app is unused for a few months."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"To protect your data, if the app is unused for a few months, the following permissions will be removed: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"To protect your data, permissions have been removed from apps that you haven’t used in a few months."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Allowed to manage all files"</string> <string name="ask_header" msgid="2633816846459944376">"Ask every time"</string> <string name="denied_header" msgid="903209608358177654">"Not allowed"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"See more apps that can access all files"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 day}other{# days}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hour}other{# hours}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps that allow you to take notes on your device"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Set <xliff:g id="APP_NAME">%1$s</xliff:g> as your default wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No permissions needed"</string> <string name="request_role_current_default" msgid="738722892438247184">"Current default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Don\'t ask again"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Set as default"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"More defaults"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opening links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default for work"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default for private space"</string> <string name="default_app_none" msgid="9084592086808194457">"None"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System default)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No apps"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Show assistant trigger detection"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Show icon in status bar when microphone is used to activate voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"The app will only have access to the location while you’re using the app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s location?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> location?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"This app may want to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"This app wants to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in Settings."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of Nearby devices on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to and determine the relative position of nearby devices? "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access from approximate to precise?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> from approximate to precise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\'s location access on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> from approximate to precise?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s approximate location?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s approximate location?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>\'s approximate location?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precise"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximate"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media and files on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music and audio</b> on this device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, audio and other files</b> on this device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"The app will only be able to record audio while you’re using the app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"This app may want to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"This app wants to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"The app will only be able to take pictures and record video while you’re using the app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"This app may want to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"This app wants to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"This app wants to access sensor data about your vital signs all the time, even when you’re not using the app. To make this change, "<annotation id="link">"go to Settings."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"To let this app access body sensor data all the time, even when you’re not using the app, "<annotation id="link">"go to settings."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data while the app is in use?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> while app is in use?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> while app is in use?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Controlled permissions"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> has location access"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Your organisation allows <xliff:g id="APP_NAME">%1$s</xliff:g> to access your location"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"None"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Past\n24 hours"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Past\n7 days"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> per cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on your privacy dashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Device camera is blocked"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps and services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microphone data may still be shared when you call an emergency number."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Change"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Camera access is off"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For required apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"This app is required"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"This app is required by your car\'s manufacturer"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Security and privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dismiss"</string> @@ -560,7 +576,7 @@ <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> <string name="security_settings" msgid="3808106921175271317">"Security settings"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string> - <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security & privacy"</string> + <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data sharing updates"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Some apps changed the way that they may share your location data"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Settings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Accessed <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accessed yesterday <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accessed <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Your one-time password is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Restricted setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"For your security, this setting is currently unavailable."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App was denied access to <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App was denied access to be default <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without these restricted permissions. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App was denied access"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Access to this permission can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible that the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Learn more"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permission request suppressed"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"This app is requesting additional permissions, but permissions can\'t be granted in a streaming session. Grant the permission on your phone first."</string> </resources> diff --git a/PermissionController/res/values-en-rXC-v34/strings.xml b/PermissionController/res/values-en-rXC-v34/strings.xml index 525a410b1..91d6fc736 100644 --- a/PermissionController/res/values-en-rXC-v34/strings.xml +++ b/PermissionController/res/values-en-rXC-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Manage app access to health data"</string> <string name="location_settings" msgid="8863940440881290182">"Location access"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apps and services"</string> </resources> diff --git a/PermissionController/res/values-en-rXC-watch/strings.xml b/PermissionController/res/values-en-rXC-watch/strings.xml index 75a8de56f..c8631b66a 100644 --- a/PermissionController/res/values-en-rXC-watch/strings.xml +++ b/PermissionController/res/values-en-rXC-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Can\'t be changed"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancel"</string> + <string name="permission_access_always" msgid="2107115233573823032">"All the time"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"While using app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"All the time"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"While using app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"All the time"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"While using app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"All the time"</string> </resources> diff --git a/PermissionController/res/values-en-rXC/strings.xml b/PermissionController/res/values-en-rXC/strings.xml index 34a84175e..aba9b75b8 100644 --- a/PermissionController/res/values-en-rXC/strings.xml +++ b/PermissionController/res/values-en-rXC/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"All permissions"</string> <string name="other_permissions" msgid="2901186127193849594">"Other app capabilities"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permission request"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Install/Uninstall actions not supported on Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Choose what to allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> has been updated. Choose what to allow this app to access."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancel"</string> @@ -193,12 +191,14 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Always allow all"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ask every time"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Don’t allow"</string> + <string name="app_permission_button_allow_limited_access" msgid="8824410215149764113">"Allow limited access"</string> <string name="precise_image_description" msgid="6349638632303619872">"Precise location"</string> <string name="approximate_image_description" msgid="938803699637069884">"Approximate location"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Use precise location"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"When precise location is off, apps can access your approximate location"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> permission"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> access for this app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> access for this app on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"See all <xliff:g id="APP">%1$s</xliff:g> permissions"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"See all apps with this permission"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Show assistant microphone usage"</string> @@ -206,7 +206,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remove permissions if app isn’t used"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remove permissions and free up space"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pause app activity if unused"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Manage app if unused"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissions, delete temporary files, and stop notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove permissions, delete temporary files, stop notifications, and archive the app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"To protect your data, permissions for this app will be removed if the app is unused for a few months."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"To protect your data, if the app is unused for a few months, the following permissions will be removed: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"To protect your data, permissions have been removed from apps that you haven’t used in a few months."</string> @@ -254,6 +256,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Allowed to manage all files"</string> <string name="ask_header" msgid="2633816846459944376">"Ask every time"</string> <string name="denied_header" msgid="903209608358177654">"Not allowed"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> on <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"See more apps that can access all files"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 day}other{# days}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hour}other{# hours}}"</string> @@ -403,6 +406,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps that allow you to take notes on your device"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Set <xliff:g id="APP_NAME">%1$s</xliff:g> as your default wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No permissions needed"</string> <string name="request_role_current_default" msgid="738722892438247184">"Current default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Don’t ask again"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Set as default"</string> @@ -428,6 +436,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"More defaults"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opening links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default for work"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default for private space"</string> <string name="default_app_none" msgid="9084592086808194457">"None"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(System default)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No apps"</string> @@ -457,75 +466,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Show assistant trigger detection"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Show icon in status bar when microphone is used to activate voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"The app will only have access to the location while you’re using the app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s location?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s location?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> location?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"This app may want to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Change location access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"This app wants to access your location all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices? "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access from approximate to precise?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> from approximate to precise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Change <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>’s location access on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> from approximate to precise?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access this device’s approximate location?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s approximate location?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s approximate location?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precise"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximate"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on your device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos, media, and files on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, and audio</b> on this device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access <b>photos, videos, music, audio, and other files</b> on this device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on this device?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"The app will only be able to record audio while you’re using the app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to record audio on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"This app may want to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Change microphone access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"This app wants to record audio all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"The app will only be able to take pictures and record video while you’re using the app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"This app may want to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Change camera access for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"This app wants to take pictures and record video all the time, even when you’re not using the app. "<annotation id="link">"Allow in settings."</annotation>""</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"This app wants to access sensor data about your vital signs all the time, even when you’re not using the app. To make this change, "<annotation id="link">"go to settings."</annotation>""</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"To let this app access body sensor data all the time, even when you’re not using the app, "<annotation id="link">"go to settings."</annotation>""</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data while app is in use?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b> while app is in use?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Keep allowing <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> while app is in use?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Allow <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Controlled permissions"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> has location access"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Your organization allows <xliff:g id="APP_NAME">%1$s</xliff:g> to access your location"</string> @@ -541,6 +550,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"None"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Past\n24 hours"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Past\n7 days"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> percent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on your privacy dashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Device camera is blocked"</string> @@ -549,6 +559,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apps and services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microphone data may still be shared when you call an emergency number."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Change"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Camera access is off"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For required apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"This app is required"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"This app is required by your car’s manufacturer"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Security & privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scan device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dismiss"</string> @@ -648,4 +663,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Data sharing updates"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Some apps changed the way they may share your location data"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Settings"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Accessed <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accessed yesterday <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accessed <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Your one time password is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Restricted setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"For your security, this setting is currently unavailable."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App was denied access to <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App was denied access to be default <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without these restricted permissions. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App was denied access"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Access to this permission can put your personal and financial info at risk.<xliff:g id="ID_1"><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Learn how to allow access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Learn more"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permission request suppressed"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"This app is requesting additional permissions, but permissions can’t be granted in a streaming session. Grant the permission on your phone first."</string> </resources> diff --git a/PermissionController/res/values-es-rUS-v34/strings.xml b/PermissionController/res/values-es-rUS-v34/strings.xml index e180c0b7c..31585916a 100644 --- a/PermissionController/res/values-es-rUS-v34/strings.xml +++ b/PermissionController/res/values-es-rUS-v34/strings.xml @@ -22,6 +22,5 @@ <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"Administra el acceso de las apps a Health Connect"</string> <string name="location_settings" msgid="8863940440881290182">"Acceso a la ubicación"</string> - <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps y servicios. Aunque se desactive este parámetro de configuración, es posible que se sigan compartiendo los datos del micrófono cuando llames a un número de emergencia."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para apps y servicios"</string> + <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps y servicios. Aunque se desactive este parámetro de configuración, es posible que se sigan compartiendo los datos del micrófono cuando llames a un número de emergencia"</string> </resources> diff --git a/PermissionController/res/values-es-rUS-watch/strings.xml b/PermissionController/res/values-es-rUS-watch/strings.xml index 25fa4d5f5..ce3aa4a86 100644 --- a/PermissionController/res/values-es-rUS-watch/strings.xml +++ b/PermissionController/res/values-es-rUS-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"No puedes cambiar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sí"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Todo el tiempo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Con la app en uso"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Todo el tiempo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Con la app en uso"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Todo el tiempo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Con la app en uso"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Todo el tiempo"</string> </resources> diff --git a/PermissionController/res/values-es-rUS/strings.xml b/PermissionController/res/values-es-rUS/strings.xml index ba8386062..d98f676e4 100644 --- a/PermissionController/res/values-es-rUS/strings.xml +++ b/PermissionController/res/values-es-rUS/strings.xml @@ -34,7 +34,7 @@ <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Más información"</string> <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir todo"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Permitir todo siempre"</string> - <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permite el acceso limitado"</string> + <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permitir el acceso limitado"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"Seleccionar fotos y videos"</string> <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"Seleccionar más"</string> <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"No seleccionar más"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todos los permisos"</string> <string name="other_permissions" msgid="2901186127193849594">"Otras funciones de la app"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitud de permiso"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear no admite las acciones de instalación y desinstalación"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Selecciona los permisos de acceso para <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Se actualizó <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Selecciona los permisos de acceso para esta app."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permitir todo siempre"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Preguntar siempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"No permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Ubicación precisa"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ubicación aproximada"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar la ubicación precisa"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Ubicación precisa"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Cuando la ubicación precisa está desactivada, las apps acceden a la ubicación aproximada"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permiso de <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Acceso a <xliff:g id="PERM">%1$s</xliff:g> para esta app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acceso a <xliff:g id="PERM">%1$s</xliff:g> para esta app en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todos los permisos de <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ver todas las apps que tienen este permiso"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar el uso del micrófono del Asistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Quitar los permisos si la app no se usa"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Quitar permisos y liberar espacio"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar actividad en la app si no se usa"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Administrar la app si no se usa"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Quitar permisos, borrar archivos temporales y detener notificaciones"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Quitar permisos, borrar archivos temporales, detener notificaciones y archivar la app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger tus datos, se quitarán los permisos de esta app si no la usas durante varios meses."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger tus datos, si no usas la app durante varios meses, se quitarán los siguientes permisos: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger tus datos, se quitaron los permisos de las apps que están en desuso hace varios meses."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Pueden administrar todos los archivos"</string> <string name="ask_header" msgid="2633816846459944376">"Preguntar siempre"</string> <string name="denied_header" msgid="903209608358177654">"Sin permiso"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ver más apps que pueden acceder a todos los archivos"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 día}many{# días}other{# días}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}many{# horas}other{# horas}}"</string> @@ -352,7 +356,7 @@ <string name="role_assistant_label" msgid="4727586018198208128">"App de asistente digital pred."</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"App de asistente digital"</string> <string name="role_assistant_description" msgid="6622458130459922952">"Las aplicaciones de asistencia pueden brindarte ayuda en función de la pantalla que estás viendo. Para ofrecerte asistencia integrada, algunas aplicaciones son compatibles con los servicios de selector y entrada de voz."</string> - <string name="role_browser_label" msgid="2877796144554070207">"Navegador predet."</string> + <string name="role_browser_label" msgid="2877796144554070207">"Navegador predeterminado"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"App de navegador"</string> <string name="role_browser_description" msgid="3465253637499842671">"Apps que te permiten acceder a Internet y ver los vínculos que presionas"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"¿Quieres establecer <xliff:g id="APP_NAME">%1$s</xliff:g> como tu app de navegador predeterminada?"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps que te permiten tomar notas en tu dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Billetera predeterminada"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App de billetera"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Las apps de billetera pueden almacenar tus tarjetas de crédito y lealtad, las llaves de tu vehículo y otros elementos para ayudarte con los diferentes tipos de transacciones."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"¿Quieres configurar <xliff:g id="APP_NAME">%1$s</xliff:g> como tu app de billetera predeterminada?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No se requieren permisos"</string> <string name="request_role_current_default" msgid="738722892438247184">"App predeterminada actualmente"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"No volver a preguntar"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Hacer predeterminada"</string> @@ -428,8 +437,9 @@ <string name="default_apps_more" msgid="4078194675848858093">"Más apps predeterminadas"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Abrir vínculos"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predeterminadas de trabajo"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Configuración predeterminada del espacio privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Ninguna"</string> - <string name="default_app_system_default" msgid="6218386768175513760">"(Predeterminada de sistema)"</string> + <string name="default_app_system_default" msgid="6218386768175513760">"(Predeterminada del sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Sin apps"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"Seleccionada"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"Se seleccionó: <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> @@ -448,7 +458,7 @@ <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> solicita subir un informe de errores de este dispositivo generado el <xliff:g id="DATE">%2$s</xliff:g> a las <xliff:g id="TIME">%3$s</xliff:g>. Los informes de errores pueden incluir información personal sobre tu dispositivo o registrada por apps, como nombres de usuario, datos de ubicación, identificadores del dispositivo y datos de red. Solo debes compartir los informes de errores con personas y apps de confianza. ¿Permitir que <xliff:g id="APP_NAME_1">%4$s</xliff:g> suba un informe de errores?"</string> <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"Se produjo un error al procesar el informe de errores para <xliff:g id="APP_NAME">%1$s</xliff:g>. Por lo tanto, no es posible compartir los datos detallados de depuración. Lamentamos la interrupción."</string> <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"Permitir"</string> - <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Denegar"</string> + <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Rechazar"</string> <string name="adjust_user_sensitive_title" msgid="4196724451314280527">"Configuración avanzada"</string> <string name="menu_adjust_user_sensitive" msgid="6497923610654425780">"Configuración avanzada"</string> <string name="adjust_user_sensitive_globally_title" msgid="8649190949066029174">"Mostrar uso de las apps del sistema"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostrar detección de activación de asistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostrar ícono en la barra de estado cuando se use el micrófono para activar la función \"Asistente de voz\""</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a las fotos y el contenido multimedia del dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y contenido multimedia en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y contenido multimedia en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tus contactos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los contactos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tus contactos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de tu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"La app solo tendrá acceso a la ubicación cuando esté en uso"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de este dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de tu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b&gt?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Es posible que esta app quiera acceder a tu ubicación todo el tiempo, incluso cuando no la uses. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"¿Quieres cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"¿Cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"¿Quieres cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Esta app quiere acceder a tu ubicación todo el tiempo, incluso cuando no la uses. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encuentre dispositivos cercanos, se conecte a ellos y determine su ubicación relativa?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque disp. cercanos, se conecte y fije su posición relativa en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque dispositivos cercanos, se conecte con ellos y determine su posición relativa en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encuentre dispositivos cercanos, se conecte a ellos y determine su ubicación relativa? "<annotation id="link">"Hazlo en Configuración."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"¿Quieres cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de aproximada a precisa?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"¿Cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de Aproximada a Precisa?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"¿Quieres cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de aproximada a precisa?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"¿Deseas permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precisa"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu calendario?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda al calendario en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu calendario en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y vea SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y vea SMS en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y vea SMS en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a las fotos, el contenido multimedia y los archivos de tu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos, contenido multimedia y archivos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos, contenido multimedia y archivos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a <b>fotos, videos, música y audio</b> del dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a <b>fotos, videos, música, audio y otros archivos</b> del dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la música y los archivos de audio de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la música y al audio en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la música y al audio en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a las fotos y los videos de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y videos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y videos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y videos del dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y videos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y videos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"La app solo podrá grabar audio cuando esté en uso"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Es posible que esta app quiera grabar audio todo el tiempo, incluso cuando no la estés usando. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"¿Cambiar el acceso al micrófono de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"¿Cambiar el acceso al micrófono de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"¿Quieres cambiar el acceso al micrófono de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Esta app quiere grabar audio todo el tiempo, incluso cuando no la uses. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu actividad física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la actividad física en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu actividad física en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"La app solo podrá tomar fotos y grabar videos cuando esté en uso"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tome fotos y grabe videos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Es posible que esta app quiera tomar fotos y grabar videos todo el tiempo, incluso cuando no la estés usando. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"¿Cambiar el acceso a la cámara de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"¿Cambiar el acceso a la cámara de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"¿Quieres cambiar el acceso a la cámara de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Esta app quiere tomar fotos y grabar videos todo el tiempo, incluso cuando no la uses. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda al registro de las llamadas telefónicas?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los registros de llamadas en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu registro de llamadas telefónicas en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y administre las llamadas telefónicas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y administre llamadas telefónicas en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y administre llamadas telefónicas en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de sensores de tus signos vitales?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos de sensores de tus signos vitales en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos de sensores de tus signos vitales en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Esta app quiere acceder a los datos de sensores de tus signos vitales todo el tiempo, incluso cuando no la usas. Para realizar este cambio, "<annotation id="link">"ve a configuración."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de los sensores de tus signos vitales?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos de sensores de tus signos vitales en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos de sensores de tus signos vitales en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que esta app acceda a datos del sensor corporal todo el tiempo, incluso cuando no la uses, "<annotation id="link">"ve a la configuración."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"¿Quieres seguir permitiendo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos del sensor corporal mientras está en uso?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"¿Seguir permitiendo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos del sensor corporal de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mientras se usa?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"¿Quieres seguir permitiendo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a datos de sensores corporales en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> con la app en uso?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> te envíe notificaciones?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> te envíe notificaciones en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"¿Quieres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> te envíe notificaciones en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permisos controlados"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> tiene acceso a la ubicación"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Tu organización permite que <xliff:g id="APP_NAME">%1$s</xliff:g> acceda a tu ubicación"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ninguno"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Últimos\n7 días"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> por ciento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> está protegida por Android. Tus datos se procesan en este dispositivo, por eso no se muestra el uso de permisos de esta app en la barra de estado ni en el panel de privacidad."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> está protegida por Android. Tus datos se procesan en este dispositivo, por eso no se muestra el uso de permisos de esta app en el panel de privacidad."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"La cámara del dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para apps y servicios"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Es posible que se sigan compartiendo los datos del micrófono cuando llames a un número de emergencia."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Cambiar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"El acceso a la cámara está desactivado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para apps de infoentretenimiento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para apps requeridas"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Se requiere esta app"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"El fabricante del vehículo requiere esta app"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Seguridad y privacidad"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analizar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Descartar"</string> @@ -614,7 +630,7 @@ <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Mostrar acceso a portapapeles"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Muestra un mensaje cuando las apps accedan a texto, imágenes y otro contenido que hayas copiado"</string> <string name="show_password_title" msgid="2877269286984684659">"Mostrar contraseñas"</string> - <string name="show_password_summary" msgid="1110166488865981610">"Mostrar caracteres brevemente mientras escribes"</string> + <string name="show_password_summary" msgid="1110166488865981610">"Muestra los caracteres brevemente mientras escribes"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"Esta app indicó que podría compartir datos de ubicación con terceros"</string> <string name="permission_rationale_location_title" msgid="2404797182678793506">"Uso compartido de datos y ubicación"</string> <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"De dónde proviene la información de uso compartido de datos"</string> @@ -644,8 +660,24 @@ <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Tus datos de ubicación ahora se comparten con terceros"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Tus datos de ubicación ahora se comparten con terceros para publicidad o marketing"</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Se actualizó en el último día}=1{Se actualizó en el último día}many{Se actualizó en los últimos # de días}other{Se actualizó en los últimos # días}}"</string> - <string name="no_updates_at_this_time" msgid="9031085635689982935">"No hay novedades por el momento"</string> + <string name="no_updates_at_this_time" msgid="9031085635689982935">"No hay actualizaciones por el momento"</string> <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Actualizaciones del uso compartido de datos"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Algunas apps cambiaron la forma en que podrían compartir tus datos de ubicación"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Configuración"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Último acceso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Último acceso: ayer a la(s) <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Último acceso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> a la(s) <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Tu contraseña de un solo uso es 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Parámetro restringido"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Por seguridad, este parámetro de configuración no está disponible actualmente."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"A la app se le negó el acceso a <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"La app solicitó acceso a un permiso sensible, lo que puede poner en riesgo tu información financiera y personal.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la app no funcione como corresponde sin este permiso restringido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Descubre cómo permitir el acceso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"A la app se le negó el acceso para usarse como <xliff:g id="ROLE_NAME">%1$s</xliff:g> de forma predeterminada"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"La app solicitó acceso a permisos sensibles, lo que puede poner en riesgo tu información financiera y personal.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la app no funcione como corresponde sin estos permisos restringidos. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Descubre cómo permitir el acceso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"A la app se le negó el acceso"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"El acceso a este permiso puede poner en riesgo tu información financiera y personal.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la app no funcione como corresponde sin este permiso restringido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Descubre cómo permitir el acceso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Más información"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Aceptar"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Se rechazó la solicitud de permiso"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esta app solicita permisos adicionales, pero estos no se pueden otorgar durante una sesión de transmisión. Primero, otorga el permiso en el teléfono."</string> </resources> diff --git a/PermissionController/res/values-es-v34/strings.xml b/PermissionController/res/values-es-v34/strings.xml index 8253d9b47..3f3c3c15e 100644 --- a/PermissionController/res/values-es-v34/strings.xml +++ b/PermissionController/res/values-es-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gestiona el acceso de las aplicaciones a tus datos de salud"</string> <string name="location_settings" msgid="8863940440881290182">"Acceso a la ubicación"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para aplicaciones y servicios. Aunque este ajuste esté desactivado, se pueden compartir datos del micrófono si llamas a un número de emergencia."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para aplicaciones y servicios"</string> </resources> diff --git a/PermissionController/res/values-es-watch/strings.xml b/PermissionController/res/values-es-watch/strings.xml index db42f6961..92bbdd057 100644 --- a/PermissionController/res/values-es-watch/strings.xml +++ b/PermissionController/res/values-es-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"No cambiar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sí"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Todo el tiempo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Mientras se usa la app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Todo el tiempo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Mientras se usa la app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Todo el tiempo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Mientras se usa la app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Todo el tiempo"</string> </resources> diff --git a/PermissionController/res/values-es/strings.xml b/PermissionController/res/values-es/strings.xml index 54f7751c2..793d2b20d 100644 --- a/PermissionController/res/values-es/strings.xml +++ b/PermissionController/res/values-es/strings.xml @@ -32,7 +32,7 @@ <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"Mantener \"Mientras la aplicación se esté usando\""</string> <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"Mantener \"Solo esta vez\""</string> <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Más información"</string> - <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir todos"</string> + <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir acceso a todos"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Permitir todos siempre"</string> <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permitir acceso limitado"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"Seleccionar fotos y vídeos"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todos los permisos"</string> <string name="other_permissions" msgid="2901186127193849594">"Otras funciones de la aplicación"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitud de permiso"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Las acciones de instalar y desinstalar no pueden realizarse en Wear"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Elige los permisos de acceso que quieres conceder a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se ha actualizado. Elige los permisos de acceso que quieres conceder a esta aplicación."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permitir todo siempre"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Preguntar siempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"No permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Ubicación precisa"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ubicación aproximada"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar ubicación precisa"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar ubic. precisa"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Cuando la ubicación precisa está desactivada, las aplicaciones pueden consultar tu ubicación aproximada"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permiso de <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Acceso a <xliff:g id="PERM">%1$s</xliff:g> para esta aplicación"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acceso de <xliff:g id="PERM">%1$s</xliff:g> a esta aplicación en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todos los permisos de <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ver todas las aplicaciones con este permiso"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar el uso del micrófono del Asistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Quitar permisos si la aplicación no se usa"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Quitar permisos y liberar espacio"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar actividad de la aplicación si no se usa"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gestionar la aplicación si no se usa"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Quita permisos, elimina archivos temporales y detiene las notificaciones"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Quita permisos, elimina archivos temporales, detiene las notificaciones y archiva la aplicación"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger tus datos, se quitarán los permisos de esta aplicación si no la usas durante unos meses."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger tus datos, si la aplicación no se ha utilizado durante unos meses, se quitarán los siguientes permisos: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger tus datos, se han quitado los permisos de las aplicaciones que llevas unos meses sin usar."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Pueden gestionar todos los archivos"</string> <string name="ask_header" msgid="2633816846459944376">"Preguntar siempre"</string> <string name="denied_header" msgid="903209608358177654">"No permitidas"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ver más aplicaciones que pueden acceder a todos los archivos"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 día}many{# días}other{# días}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}many{# horas}other{# horas}}"</string> @@ -349,7 +353,7 @@ <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"<xliff:g id="NUM_SERVICES">%s</xliff:g> aplicaciones de accesibilidad tienen acceso completo a tu dispositivo"</string> <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> puede ver tu pantalla, lo que haces y lo que introduces; realizar acciones; y controlar la pantalla."</string> <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Estas aplicaciones pueden ver tu pantalla, lo que haces y lo que introduces; realizar acciones; y controlar la pantalla."</string> - <string name="role_assistant_label" msgid="4727586018198208128">"Asistente predeterminado"</string> + <string name="role_assistant_label" msgid="4727586018198208128">"Aplicación de asistente digital predeterminada"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"Asistente digital"</string> <string name="role_assistant_description" msgid="6622458130459922952">"Las aplicaciones de asistencia te ayudan según la información que aparezca en la pantalla. Algunas aplicaciones admiten tanto el menú de aplicaciones como los servicios de entrada de voz para ofrecerte asistencia integrada."</string> <string name="role_browser_label" msgid="2877796144554070207">"Aplicación de navegador predeterminada"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplicación de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplicaciones que te permiten tomar notas en tu dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"App de cartera predeterminada"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplicación de cartera"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Las aplicaciones de cartera pueden almacenar tus tarjetas de crédito y de fidelización, tus llaves del coche y otros elementos para ayudarte con los distintos tipos de transacciones."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"¿Establecer <xliff:g id="APP_NAME">%1$s</xliff:g> como aplicación de cartera predeterminada?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"No se necesita ningún permiso"</string> <string name="request_role_current_default" msgid="738722892438247184">"Predeterminada"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"No volver a preguntar"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Establecer como predeterminado"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Más apps predeterminadas"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Abrir enlaces"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predeterminadas para trabajo"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Predeterminadas para el espacio privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Ninguna"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Predeterminado del sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"No hay aplicaciones"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostrar la detección de activación del asistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostrar icono en la barra de estado cuando se utilice el micrófono para activar el asistente de voz"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a las fotos y archivos multimedia del dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y vídeos de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y contenido multimedia de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tus contactos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los contactos de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los contactos de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de tu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"La aplicación solo podrá acceder a la ubicación cuando la estés usando"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de este dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de tu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Es posible que esta aplicación quiera acceder a tu ubicación siempre, aunque no la estés usando. Puedes darle permiso en "<annotation id="link">"Ajustes"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"¿Quieres cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"¿Cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"¿Cambiar el acceso a la ubicación de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Esta aplicación quiere acceder a tu ubicación siempre, incluso aunque no la estés usando. Puedes darle permiso en "<annotation id="link">"Ajustes"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque, se conecte y determine la posición relativa de dispositivos cercanos?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque, se conecte y fije la posición relativa de disp. cercanos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque, se conecte y fije la posición relativa de dispositivos cercanos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque, se conecte y determine la posición relativa de dispositivos cercanos? "<annotation id="link">"Permítelo en los ajustes"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"¿Cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de aproximada a precisa?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"¿Cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de Aproximada a Precisa?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"¿Cambiar el acceso a la ubicación de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de Aproximada a Precisa?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la ubicación aproximada de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precisa"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu calendario?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda al calendario de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda al calendario de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y lea mensajes SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y lea mensajes SMS en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe y lea mensajes SMS en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a las fotos, al contenido multimedia y a los archivos de tu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos, contenido multimedia y archivos de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos, contenido multimedia y archivos de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a <b>fotos, vídeos, música y audio</b> de este dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a <b>fotos, vídeos, música, audio y otros archivos</b> del dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a música y audio de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la música y audio de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la música y audio de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y vídeos de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y vídeos de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos y vídeos de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y vídeos de este dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y vídeos de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a más fotos y vídeos de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe vídeos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"La aplicación solo podrá grabar audio mientras la estés usando."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe vídeos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grabe audio en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Es posible que esta aplicación deba grabar audio en todo momento, aunque no se esté usando. Puedes darle este permiso en "<annotation id="link">"Ajustes."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"¿Quieres cambiar el acceso de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> al micrófono?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"¿Cambiar el acceso al micrófono de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"¿Cambiar el acceso al micrófono de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Esta aplicación debe grabar audio en todo momento, aunque no la estés usando. "<annotation id="link">"Puedes darle este permiso en Ajustes."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu actividad física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a la actividad física de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a tu actividad física de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"La aplicación solo podrá hacer fotografías y grabar vídeos mientras la estés usando."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga fotos y grabe vídeos en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Es posible que esta aplicación deba hacer fotografías y grabar vídeos en todo momento, aunque no se esté usando. "<annotation id="link">"Puedes darle este permiso en Ajustes."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"¿Quieres cambiar el acceso de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> a la cámara?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"¿Cambiar el acceso a la cámara de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"¿Cambiar el acceso a la cámara de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Esta aplicación debe hacer fotografías y grabar vídeos en todo momento, aunque no la estés usando. "<annotation id="link">"Puedes darle este permiso en Ajustes."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los registros de llamadas del teléfono?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los registros de llamadas de teléfono de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda al registro de llamadas telefónicas de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y gestione llamadas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y gestione llamadas en tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> haga y gestione llamadas en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos del sensor sobre tus constantes vitales?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de sensores sobre constantes vitales de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de los sensores sobre tus constantes vitales de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Esta aplicación quiere acceder a los datos de sensores de tus constantes vitales todo el tiempo, incluso cuando no la uses. Para hacer este cambio, "<annotation id="link">"ve a los ajustes"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de sensores de tus constantes vitales?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de sensores sobre constantes vitales de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de los sensores sobre tus constantes vitales de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que esta aplicación acceda a datos de sensores corporales todo el tiempo, incluso cuando no la uses, "<annotation id="link">"ve a los ajustes"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"¿Seguir permitiendo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos de los sensores corporales mientras se usa?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos del sensor corporal de tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mientras se usa?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a los datos del sensor corporal de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> mientras se usa?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> te envíe notificaciones?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe notificaciones a tu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"¿Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> te envíe notificaciones en <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permisos controlados"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> tiene acceso a la ubicación"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Tu organización permite que <xliff:g id="APP_NAME">%1$s</xliff:g> acceda a tu ubicación"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nada"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Últimos\n7 días"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> por ciento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"La aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> está protegida por Android. Como tus datos están procesados en este dispositivo, el uso de los permisos de esta aplicación no se muestra ni en la barra de estado ni en tu panel de privacidad."</string> <string name="exempt_info_label" msgid="6286190981253476699">"La aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> está protegida por Android. Como tus datos están procesados en este dispositivo, el uso de los permisos de esta aplicación no se muestra en tu panel de privacidad."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"La cámara del dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para aplicaciones y servicios"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Aun así, pueden compartirse datos del micrófono cuando llamas a un número de emergencia."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Cambiar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"El acceso a la cámara está desactivado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para aplicaciones de infoentretenimiento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para aplicaciones requeridas"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Se requiere esta aplicación"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"El fabricante de tu coche requiere esta aplicación"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Seguridad y privacidad"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analizar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Cerrar"</string> @@ -627,7 +643,7 @@ <string name="permission_rationale_location_settings_title" msgid="7204145004850190953">"Tus datos de ubicación"</string> <string name="permission_rationale_permission_settings_message" msgid="631286040979660267">"Cambia el acceso de esta aplicación en la "<annotation id="link">"configuración de privacidad"</annotation></string> <string name="permission_rationale_purpose_app_functionality" msgid="8397736681065841405">"Funcionalidad de la aplicación"</string> - <string name="permission_rationale_purpose_analytics" msgid="2070800501189620712">"Analítica"</string> + <string name="permission_rationale_purpose_analytics" msgid="2070800501189620712">"Estadísticas"</string> <string name="permission_rationale_purpose_developer_communications" msgid="6453047018892062374">"Comunicaciones del desarrollador"</string> <string name="permission_rationale_purpose_advertising" msgid="7156966429245180236">"Publicidad o marketing"</string> <string name="permission_rationale_purpose_fraud_prevention_security" msgid="4262104770357031902">"Prevención de fraudes, seguridad y cumplimiento"</string> @@ -644,8 +660,24 @@ <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Tus datos de ubicación ahora se comparten con terceros"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Tus datos de ubicación ahora se comparten con terceros para fines de publicidad o marketing"</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Se ha actualizado en el último día}=1{Se ha actualizado en el último día}many{Se ha actualizado en los últimos # días}other{Se ha actualizado en los últimos # días}}"</string> - <string name="no_updates_at_this_time" msgid="9031085635689982935">"No hay novedades por el momento"</string> + <string name="no_updates_at_this_time" msgid="9031085635689982935">"No hay cambios por el momento"</string> <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Cambios en cómo se comparten los datos"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Algunas aplicaciones han cambiado cómo pueden compartir tus datos de ubicación"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ajustes"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Último acceso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Último acceso: ayer, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Último acceso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Tu contraseña de un solo uso es 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ajuste restringido"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Por seguridad, este ajuste no está disponible actualmente."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Se ha denegado el acceso a <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> a la aplicación"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"La aplicación ha solicitado acceso a un permiso sensible que puede poner en riesgo tu información personal y financiera.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la aplicación no funcione correctamente sin este permiso restringido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Consulta cómo permitir el acceso</a>."</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Se ha denegado el acceso para ser <xliff:g id="ROLE_NAME">%1$s</xliff:g> de forma predeterminada a la aplicación"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"La aplicación ha solicitado acceso a permisos sensibles que pueden poner en riesgo tu información personal y financiera.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la aplicación no funcione correctamente sin estos permisos restringidos. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Consulta cómo permitir el acceso</a>."</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Se ha denegado el acceso a la aplicación"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"El acceso a este permiso puede poner en riesgo tu información personal y financiera.<xliff:g id="ID_1"><br><br></xliff:g>Es posible que la aplicación no funcione correctamente sin este permiso restringido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Consulta cómo permitir el acceso</a>."</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Más información"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Aceptar"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Solicitud de permiso rechazada"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esta aplicación está solicitando permisos adicionales, pero no se pueden dar durante una sesión de streaming. Da primero el permiso en tu teléfono."</string> </resources> diff --git a/PermissionController/res/values-et-v34/strings.xml b/PermissionController/res/values-et-v34/strings.xml index 4476aecdd..2db42fd0e 100644 --- a/PermissionController/res/values-et-v34/strings.xml +++ b/PermissionController/res/values-et-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Saate hallata rakenduse juurdepääsu terviseandmetele"</string> <string name="location_settings" msgid="8863940440881290182">"Juurdepääs asukohale"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Rakenduste ja teenuste jaoks. Isegi kui see seade on välja lülitatud, võidakse mikrofoni andmeid siiski jagada hädaabinumbrile helistades."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Rakenduste ja teenuste jaoks"</string> </resources> diff --git a/PermissionController/res/values-et-watch/strings.xml b/PermissionController/res/values-et-watch/strings.xml index b96aab80f..9813469ea 100644 --- a/PermissionController/res/values-et-watch/strings.xml +++ b/PermissionController/res/values-et-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ei saa muuta"</string> <string name="generic_yes" msgid="2489207724988649846">"Jah"</string> <string name="generic_cancel" msgid="2631708607129269698">"Tühista"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Kogu aeg"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Rakenduse kasutamise ajal"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Kogu aeg"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Rakenduse kasutamise ajal"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Kogu aeg"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Rakenduse kasutamise ajal"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Kogu aeg"</string> </resources> diff --git a/PermissionController/res/values-et/strings.xml b/PermissionController/res/values-et/strings.xml index f17cbd1f8..793b5badc 100644 --- a/PermissionController/res/values-et/strings.xml +++ b/PermissionController/res/values-et/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Kõik load"</string> <string name="other_permissions" msgid="2901186127193849594">"Rakenduse muud funktsioonid"</string> <string name="permission_request_title" msgid="8790310151025020126">"Loa taotlus"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ei toeta installimist/desinstallimist."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Valige, millele lubate rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurde pääseda"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Rakendust <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> värskendati. Valige, millele lubate sellel rakendusel juurde pääseda."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Tühista"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Luba alati kõik"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Küsi iga kord"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ära luba"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Täpne asukoht"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ligikaudne asukoht"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Täpse asukoha kasutamine"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kui täpne asukoht on välja lülitatud, pääsevad rakendused juurde teie ligikaudsele asukohale"</string> <string name="app_permission_title" msgid="2090897901051370711">"Funktsiooni <xliff:g id="PERM">%1$s</xliff:g> luba"</string> <string name="app_permission_header" msgid="2951363137032603806">"Rakenduse juurdepääs funktsioonile <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> juurdepääs sellele rakendusele seadmes <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Kuva rakenduse <xliff:g id="APP">%1$s</xliff:g> kõik load"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Kuva kõik selle loaga rakendused"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Kuva assistendi mikrofoni kasutamine"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"Kasutamata rakenduse seaded"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Eemalda load, kui rakendust ei kasutata"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Eemalda load ja vabasta ruumi"</string> - <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tegevusetuna rakenduse tegevuste peatamine"</string> + <string name="unused_apps_label_v2" msgid="7058776770056517980">"Kasutamata rakenduse tegevuste peatamine"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Halda kasutamata rakendusi"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Eemaldatakse load, kustutatakse ajutised failid ja peatatakse märguanded"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Eemalda load, kustuta ajutised failid, peata märguanded ja arhiivi rakendus"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Teie andmete kaitsmiseks eemaldatakse selle rakenduse load, kui seda mõne kuu jooksul ei kasutata."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Teie andmete kaitsmiseks eemaldatakse selle rakenduse järgmised load, kui rakendust mõne kuu jooksul ei kasutata: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Teie andmete kaitsmiseks eemaldati load rakendustelt, mida te ei ole mõne kuu jooksul kasutanud."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Luba kõikide failide haldamiseks"</string> <string name="ask_header" msgid="2633816846459944376">"Küsi iga kord"</string> <string name="denied_header" msgid="903209608358177654">"Pole lubatud"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> seadmes <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Kuva rohkem rakendusi, mis kõigile failidele juurde pääsevad"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 päev}other{# päeva}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# tund}other{# tundi}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Märkmerakendus"</string> <string name="role_notes_description" msgid="8496852798616883551">"Rakendused, mis võimaldavad teie seadmes märkmeid teha"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"märkmed"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Vaikerahakotirakendus"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Rahakotirakendus"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Rahakotirakendused võivad salvestada teie krediit- ja kliendikaarte, autovõtmeid ning muid asju, et eri tehinguvormide puhul aidata."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Kas määrata <xliff:g id="APP_NAME">%1$s</xliff:g> vaikimisi teie rahakotirakenduseks?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Lube ei ole vaja"</string> <string name="request_role_current_default" msgid="738722892438247184">"Praegune vaikeseade"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ära enam küsi"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Määra vaikeseadeks"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Rohkem vaikeseadeid"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Linkide avamine"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Vaikerakendused töö jaoks"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Privaatse ruumi vaikerakendused"</string> <string name="default_app_none" msgid="9084592086808194457">"Puudub"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Süsteemi vaikeseade)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Rakendusi pole"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Assistendi käivitamise tuvastamise kuvamine"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Ikooni kuvamine olekuribal, kui häälassistendi aktiveerimiseks kasutatakse mikrofoni"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs seadmes olevatele fotodele ja meediale?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs fotodele ja meediumisisule?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs fotodele ja meediale?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs teie kontaktidele?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs teie kontaktidele?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs teie kontaktidele?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs selle seadme asukohale?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs teie seadme <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> asukohale?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs seadme <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> asukohale?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Rakendusel on juurdepääs asukohale vaid sel ajal, kui rakendust kasutate"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs selle seadme asukohale?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs selle seadme <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> asukohale?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs seadme <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> asukohale?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"See rakendus võib soovida pidevat juurdepääsu teie asukohale (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul juurdepääsu asukohale?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääsu asukohale?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääsu asukohale?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"See rakendus soovib pidevat juurdepääsu teie asukohale (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> leida lähedalasuvaid seadmeid, nendega ühendada ja nende suhteline asukoht määrata?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> otsida ja määratleda teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> läheduses olevate seadmete suhtelist asukohta ja sellega ühendada?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> otsida ja määratleda seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> läheduses olevate seadmete suhtelist asukohta ja sellega ühendada?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> leida lähedalasuvaid seadmeid, nendega ühendada ja nende suhteline asukoht määrata? "<annotation id="link">"Lubage menüüs Seaded."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Kas muuta rakenduse <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> asukohale juurdepääsemise tase ligikaudsest täpseks?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Kas muuta rakenduse <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> juurdepääs asukohateabele teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ligikaudsest täpseks?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Kas muuta rakenduse <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> juurdepääs asukohateabele seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ligikaudsest täpseks?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs selle seadme ligikaudsele asukohale?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs teie seadme <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ligikaudsele asukohale?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs seadme <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ligikaudsele asukohale?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Täpne"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Ligikaudne"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs teie kalendrile?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs teie kalendrile?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs teie kalendrile?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> saata ja vaadata SMS-sõnumeid?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> saata ja vaadata teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> SMS-sõnumeid?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> saata ja vaadata SMS-sõnumeid?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs seadmes olevatele fotodele, meediale ja failidele?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs fotodele, meediumisisule ja failidele?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs fotodele, meediale ja failidele?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Kas anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt seadmes juurdep. <b>fotodele, videotele, muusikale ja helidele</b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdep. <b>foto-, video-, muusika-, heli- ja muudele failidele</b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Kas anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> selles seadmes juurdepääs muusikale ja helifailidele?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> selles seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs muusikale ja helifailidele?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs muusikale ja helifailidele?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Kas anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> selles seadmes juurdepääs fotodele ja videotele?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs fotodele ja videotele?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs fotodele ja videotele?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Kas anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> selles seadmes juurdepääs rohkematele fotodele ja videotele?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs enamatele fotodele ja videotele?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs rohkematele fotodele ja videotele?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> salvestada heli?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> salvestada teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> heli?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> salvestada seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> heli?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Rakendus saab heli salvestada vaid siis, kui rakendust kasutate"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> heli salvestada?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> salvestada teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> heli?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> salvestada seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> heli?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"See rakendus võib soovida heli salvestada mis tahes ajal (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul juurdepääsu mikrofonile?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääsu mikrofonile?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääsu mikrofonile?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"See rakendus soovib heli salvestada mis tahes ajal (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Kas anda rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs teie füüsilisele tegevusele?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs teie füüsilise tegevuse andmetele?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs teie füüsilise tegevuse andmetele?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> jäädvustada pilte ja salvestada videoid?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> pilte ja salvestada videot?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> pilte ja salvestada videot?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Rakendus saab pildistada ja videoid salvestada vaid siis, kui rakendust kasutate"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pildistada ja videoid salvestada?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> pilte ja salvestada videot?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> pilte ja salvestada videot?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"See rakendus võib soovida pildistada ja videoid salvestada mis tahes ajal (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul juurdepääsu kaamerale?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääsu kaamerale?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Kas muuta rakenduse <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhul seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääsu kaamerale?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"See rakendus soovib pildistada ja videoid salvestada mis tahes ajal (ka siis, kui te rakendust ei kasuta). "<annotation id="link">"Lubage see seadetes."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääseda juurde teie telefoni kõnelogidele?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs teie telefoni kõnelogidele?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs teie telefoni kõnelogidele?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha ja hallata telefonikõnesid?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teha ja hallata teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> telefonikõnesid?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> helistada ja telefonikõnesid hallata?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs anduri andmetele teie eluliste näitajate kohta?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs anduri andmetele teie eluliste näitajate kohta?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs anduri andmetele teie tervisenäitajate kohta?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"See rakendus soovib pidevat juurdepääsu teie elulistele näitajatele (ka siis, kui te rakendust ei kasuta). Selle muudatuse tegemiseks "<annotation id="link">"avage seaded."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> juurdepääs anduri andmetele teie eluliste näitajate kohta?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääs anduri andmetele teie eluliste näitajate kohta?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Kas lubada rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> juurdepääs anduri andmetele teie tervisenäitajate kohta?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Selleks et anda rakendusele pidev juurdepääs kehaanduri andmetele (ka siis, kui rakendust ei kasutata), "<annotation id="link">"avage seaded."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Kas lubada jätkuvalt rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääseda juurde kehaanduri andmetele, kui rakendust kasutatakse?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Kas lubada jätkuvalt rakendusele <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> juurdepääsu kehaanduri andmetele, kui rakendust kasutatakse?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> rakenduse kasutamise ajal jätkuvalt kehaanduri andmetele juurde pääseda?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> teile märguandeid saata?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> saata teie seadmes <b><xliff:g id="DEVICE">%2$s</xliff:g></b> teile märguandeid?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Kas lubada rakendusel <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> seadmes <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> teile märguandeid saata?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Hallatud load"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Rakendus <xliff:g id="APP_NAME">%1$s</xliff:g> pääseb juurde asukohale"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Teie organisatsioon lubab rakendusel <xliff:g id="APP_NAME">%1$s</xliff:g> pääseda juurde teie asukohale."</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Puudub"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Viimased\n24 tundi"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Viimased\n7 päeva"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> protsenti"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> kaitseb Android. Kuna teie andmeid töödeldakse selles seadmes, ei kuvata selle rakenduse lubade kasutust olekuribal ega teie privaatsuse juhtpaneelil."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Rakendust <xliff:g id="APP_NAME">%1$s</xliff:g> kaitseb Android. Kuna teie andmeid töödeldakse selles seadmes, ei kuvata selle rakenduse lubade kasutust teie privaatsuse juhtpaneelil."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Seadme kaamera on blokeeritud"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Rakenduste ja teenuste jaoks"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofoni andmeid võidakse siiski jagada hädaabinumbrile helistades."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Muuda"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Juurdepääs kaamerale on välja lülitatud"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Meelelahutussüsteemi rakenduste puhul"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Nõutavate rakenduste puhul"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"See rakendus on nõutav"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Seda rakendust nõuab teie auto tootja"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Turvalisus ja privaatsus"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skanni seadet"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Loobu"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Andmete jagamise värskendused"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Mõni rakendus on muutnud teie asukohaandmete jagamise viisi"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Seaded"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Juurde pääsetud <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Juurde pääsetud eile <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Juurde pääsetud <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Teie ühekordne parool on 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Piiratud seade"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Teie turvalisuse huvides pole see seade praegu saadaval."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Rakendusele ei antud luba <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Rakendus taotles tundlikku luba, mis võib teie isikuandmed ja finantsteabe ohtu seada.<xliff:g id="ID_1"><br><br></xliff:g>Võimalik, et rakendus ei tööta ilma selle piiratud loata korralikult. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>> Teave juurdepääsu andmise kohta</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Rakendusele ei antud luba olla vaikimisi <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Rakendus taotles tundlikke lubasid, mis võivad teie isikuandmed ja finantsteabe ohtu seada.<xliff:g id="ID_1"><br><br></xliff:g>Võimalik, et rakendus ei tööta ilma nende piiratud lubadeta korralikult. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>> Teave loa andmise kohta</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Rakendusele ei antud luba"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Selle loa andmine võib teie isikuandmed ja finantsteabe ohtu seada.<xliff:g id="ID_1"><br><br></xliff:g>Võimalik, et rakendus ei tööta ilma selle piiratud loata korralikult. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>> Teave loa andmise kohta</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Lisateave"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Loataotlus peideti"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"See rakendus taotleb lisalube, kuid lube ei saa voogesituse seansis anda. Kõigepealt andke luba oma telefonile."</string> </resources> diff --git a/PermissionController/res/values-eu-v34/strings.xml b/PermissionController/res/values-eu-v34/strings.xml index 5b1882738..d1921fe84 100644 --- a/PermissionController/res/values-eu-v34/strings.xml +++ b/PermissionController/res/values-eu-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Kudeatu aplikazioak osasunari buruzko datuak erabiltzeko duen baimena"</string> <string name="location_settings" msgid="8863940440881290182">"Kokapena erabiltzeko baimena"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Aplikazio eta zerbitzuetarako. Ezarpena desaktibatuta badago ere, baliteke mikrofonoaren bidez lortutako datuak partekatzea larrialdietarako zenbaki batera deitzean."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Aplikazio eta zerbitzuetarako"</string> </resources> diff --git a/PermissionController/res/values-eu-watch/strings.xml b/PermissionController/res/values-eu-watch/strings.xml index 840f6faef..0617758e9 100644 --- a/PermissionController/res/values-eu-watch/strings.xml +++ b/PermissionController/res/values-eu-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ezin da aldatu"</string> <string name="generic_yes" msgid="2489207724988649846">"Bai"</string> <string name="generic_cancel" msgid="2631708607129269698">"Utzi"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Beti"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Aplikazioa erabili bitartean"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Beti"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Aplikazioa erabili bitartean"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Beti"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Aplikazioa erabili bitartean"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Beti"</string> </resources> diff --git a/PermissionController/res/values-eu/strings.xml b/PermissionController/res/values-eu/strings.xml index a84c1f9ca..e7c6bd924 100644 --- a/PermissionController/res/values-eu/strings.xml +++ b/PermissionController/res/values-eu/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Baimen guztiak"</string> <string name="other_permissions" msgid="2901186127193849594">"Aplikazioaren beste gaitasun batzuk"</string> <string name="permission_request_title" msgid="8790310151025020126">"Baimen-eskaera"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Instalatzeko eta desinstalatzeko ekintzak ezin dira gauzatu Wear gailuetan."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Aukeratu zer atzi dezakeen <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioak"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Eguneratu egin da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Aukeratu aplikazioak zer atzi dezakeen."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Utzi"</string> @@ -152,7 +150,7 @@ <string name="permission_usage_last_n_minutes" msgid="7817864229878281983">"{count,plural, =1{Azken # minutuan}other{Azken # minutuetan}}"</string> <string name="no_permission_usages" msgid="9119517454177289331">"Ez da eskatu baimenik"</string> <string name="permission_usage_list_title_any_time" msgid="8718257027381592407">"Orain arteko azken sarbidea"</string> - <string name="permission_usage_list_title_last_7_days" msgid="9048542342670890615">"Azken zazpi egunetako azken sarbidea"</string> + <string name="permission_usage_list_title_last_7_days" msgid="9048542342670890615">"Azken 7 egunetako azken sarbidea"</string> <string name="permission_usage_list_title_last_day" msgid="8730907824567238461">"Azken 24 orduetan erabilitakoak"</string> <string name="permission_usage_list_title_last_hour" msgid="6624161487623223716">"Azken ordubeteko azken sarbidea"</string> <string name="permission_usage_list_title_last_15_minutes" msgid="8615062016024296833">"Azken 15 minutuetako azken sarbidea"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Eman beti baliabide guztiak erabiltzeko baimena"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Galdetu beti"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ez eman baimenik"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Kokapen zehatza"</string> <string name="approximate_image_description" msgid="938803699637069884">"Gutxi gorabeherako kokapena"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Erabili kokapen zehatza"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kokapen zehatza desaktibatuta dagoenean, aplikazioek gutxi gorabeherako kokapena atzi dezakete"</string> <string name="app_permission_title" msgid="2090897901051370711">"\"<xliff:g id="PERM">%1$s</xliff:g>\" baimena"</string> <string name="app_permission_header" msgid="2951363137032603806">"Aplikazio honek \"<xliff:g id="PERM">%1$s</xliff:g>\" erabiltzeko duen baimena"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> erabiltzeko baimena aplikazio honetarako <xliff:g id="DEVICE_NAME">%2$s</xliff:g> gailuan"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ikusi <xliff:g id="APP">%1$s</xliff:g> aplikazioaren baimen guztiak"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ikusi baimen hau duten aplikazio guztiak"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Erakutsi laguntzaileak mikrofonoa erabiltzeko duen baimena"</string> - <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazio-ezarpenak"</string> + <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazioen ezarpenak"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Kendu baimenak aplikazioa erabiltzen ez bada"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Kendu baimenak eta egin tokia"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausatu aplikazioko jarduerak, erabiltzen ez bada"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Kudeatu aplikazioa erabiltzen ez bada"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Kendu baimenak, ezabatu aldi baterako fitxategiak eta geldiarazi jakinarazpenak"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Kendu baimenak, ezabatu aldi baterako fitxategiak, geldiarazi jakinarazpenak eta artxibatu aplikazioa"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Zure datuak babeste aldera, aplikazio honen baimenak kendu egingo dira aplikazioa ez baduzu erabiltzen zenbait hilabetez."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Zure datuak babeste aldera, kendu egingo dira honako baimen hauek zenbait hilabetez aplikazioa erabiltzen ez baduzu: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Zure datuak babeste aldera, kendu egin dira zenbait hilabetez erabili ez dituzun aplikazioen baimenak."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Fitxategi guztiak kudeatzeko baimena dutenak"</string> <string name="ask_header" msgid="2633816846459944376">"Galdetu beti"</string> <string name="denied_header" msgid="903209608358177654">"Baimendu gabekoak"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ikusi fitxategi guztiak atzi ditzaketen aplikazio gehiago"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 egun}other{# egun}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ordu}other{# ordu}}"</string> @@ -354,7 +358,7 @@ <string name="role_assistant_description" msgid="6622458130459922952">"Ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete laguntza-aplikazioek. Zenbait aplikaziok abiarazlea eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string> <string name="role_browser_label" msgid="2877796144554070207">"Arakatzaile lehenetsia"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Arakatzaile-aplikazioa"</string> - <string name="role_browser_description" msgid="3465253637499842671">"Interneterako sarbidea ematen dizuten eta sakatzen dituzun estekak bistaratzen dituzten aplikazioak"</string> + <string name="role_browser_description" msgid="3465253637499842671">"Interneteko sarbidea ematen dizuten eta sakatzen dituzun estekak bistaratzen dituzten aplikazioak"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu arakatzaile-aplikazio lehenetsi gisa?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Ez du behar baimenik"</string> <string name="role_dialer_label" msgid="1100224146343237968">"Telefono lehenetsia"</string> @@ -363,7 +367,7 @@ <string name="role_dialer_request_title" msgid="5959618560705912058">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu telefono-aplikazio lehenetsi gisa?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Zure kamera, kontaktuak, mikrofonoa, telefonoa eta SMSak erabiltzeko baimena emango zaio aplikazioari"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"markagailua"</string> - <string name="role_sms_label" msgid="8456999857547686640">"SMSetarako aplik. lehenetsia"</string> + <string name="role_sms_label" msgid="8456999857547686640">"SMSetarako aplikazio lehenetsia"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"SMSetarako aplikazioa"</string> <string name="role_sms_description" msgid="3424020199148153513">"Telefono-zenbakiaren bidez testu-mezu laburrak, argazkiak, bideoak eta beste zenbait gauza bidaltzea eta jasotzea ahalbidetzen dizuten aplikazioak"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu SMSetarako aplikazio lehenetsi gisa?"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> <string name="role_home_label" msgid="3871847846649769412">"Hasierako aplikazio lehenetsia"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Hasierako aplikazioa"</string> - <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko hasierako pantailak ordezten dituzten aplikazioak (\"abiarazle\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string> + <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko orri nagusiak ordezten dituzten aplikazioak (\"abiarazle\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string> <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu hasierako aplikazio lehenetsi gisa?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Ez du behar baimenik"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"abiarazlea"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Oharren aplikazioa"</string> <string name="role_notes_description" msgid="8496852798616883551">"Gailuan oharrak idazteko aukera ematen dizuten aplikazioak"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"oharrak"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Diru-zorro lehenetsia"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Diru-zorroaren aplikazioa"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Diru-zorroaren aplikazioetan zure saldoa eta fideltasun-txartelak, autoko giltzak nahiz bestelako gauzak gorde ditzakezu, errazagoa izan dadin askotariko transakzioak egitea."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> diru-zorro lehenetsi gisa ezarri nahi duzu?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Ez du behar baimenik"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aplikazio lehenetsia"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ez galdetu berriro"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Ezarri lehenetsi gisa"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Aplikazio lehenetsi gehiago"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Irekiko diren estekak"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Lanerako aplikazio lehenetsiak"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Eremu pribatuko aplikazio lehenetsiak"</string> <string name="default_app_none" msgid="9084592086808194457">"Bat ere ez"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(sistemaren aplikazio lehenetsia)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Ez dago aplikaziorik"</string> @@ -445,7 +455,7 @@ <string name="incident_report_notification_text" msgid="3376480583513587923">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak arazketa-informazioa kargatu nahi du."</string> <string name="incident_report_dialog_title" msgid="669104389325204095">"Arazketa-datuak partekatu nahi dituzu?"</string> <string name="incident_report_dialog_intro" msgid="5897733669850951832">"Arazo bat hauteman du sistemak."</string> - <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="DATE">%2$s</xliff:g> (<xliff:g id="TIME">%3$s</xliff:g>) datan sortutako akatsen txostena kargatzeko baimena eskatzen ari da <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Akatsen txostenek zure gailuari buruzkoa den edo aplikazioek erregistratu duten informazio pertsonala dute; adibidez, erabiltzaile-izenak, kokapenari buruzko datuak, gailuaren identifikatzaileak eta sareari buruzko informazioa. Informazio hori izateko fidagarriak iruditzen zaizkizun pertsona eta aplikazioekin soilik partekatu beharko zenituzke akatsen txostenak. <xliff:g id="APP_NAME_1">%4$s</xliff:g> aplikazioari akatsen txostena kargatzeko baimena eman nahi diozu?"</string> + <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="DATE">%2$s</xliff:g> (<xliff:g id="TIME">%3$s</xliff:g>) datan sortutako akatsen txostena kargatzeko baimena eskatzen ari da <xliff:g id="APP_NAME_0">%1$s</xliff:g>. Akatsen txostenek zure gailuari buruzkoa den edo aplikazioek erregistratu duten informazio pertsonala dute; adibidez, erabiltzaile-izenak, kokapenari buruzko datuak, gailu-identifikatzaileak eta sareari buruzko informazioa. Informazio hori izateko fidagarriak iruditzen zaizkizun pertsona eta aplikazioekin soilik partekatu beharko zenituzke akatsen txostenak. <xliff:g id="APP_NAME_1">%4$s</xliff:g> aplikazioari akatsen txostena kargatzeko baimena eman nahi diozu?"</string> <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"Errore bat gertatu da <xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioaren akatsen txostena prozesatzean; beraz, ezin izan dira partekatu arazketa-datu xehatuak. Barkatu eragozpenak."</string> <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"Eman baimena"</string> <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Ukatu"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Erakutsi laguntzailea abiarazteko hautematea"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mikrofonoa erabiltzen denean ahozko laguntza aktibatzeko, erakutsi dagokion ikonoa egoera-barran"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Gailuko argazkiak eta multimedia-edukia erabiltzeko baimena eman nahi diozu <b&gt<xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko argazkiak eta multimedia-edukia erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko argazkiak eta multimedia-edukia erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Kontaktuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko kontaktuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko kontaktuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Hura erabiltzen ari zarenean soilik atzituko du aplikazioak kokapena"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Baliteke aplikazioak beti atzitu behar izatea zure kokapena, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimen hori Ezarpenak atalean"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Kokapenerako sarbidea aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuaren kokapena erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren kokapena erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aplikazioak beti atzitu nahi du zure kokapena, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimen hori Ezarpenak atalean"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Inguruko gailuak aurkitu, haietara konektatu eta haien arteko distantzia erlatiboa zehazteko baimena eman <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan inguruko gailuak aurkitu, haietara konektatu eta haien distantzia erlatiboa zehazteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuan inguruko gailuak aurkitu, haietara konektatu eta haien distantzia erlatiboa zehazteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Inguruko gailuak aurkitzeko, haietara konektatzeko eta haien arteko distantzia erlatiboa zehazteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt aplikazioari? "<annotation id="link">"Eman baimena ezarpenetan."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> aplikazioak gutxi gorabeherako kokapena atzi dezake. Kokapen zehatza erabiltzeko baimena eman nahi diozu?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> aplikazioak <b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuaren gutxi gorabeherako kokapena erabil dezake. Kokapen zehatza erabiltzeko baimena eman nahi diozu?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> aplikazioak <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren gutxi gorabeherako kokapena erabil dezake. Kokapen zehatza erabiltzeko baimena eman nahi diozu?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Gailuaren gutxi gorabeherako kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuaren gutxi gorabeherako kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuaren gutxi gorabeherako kokapena erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Zehatza"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Gutxi gorabeherakoa"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Egutegia erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko egutegia erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko egutegia erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"SMS mezuak bidaltzeko eta ikusteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan SMSak bidaltzeko eta ikusteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez SMS mezuak bidaltzeko eta ikusteko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Gailuko argazkiak, multimedia-edukia eta fitxategiak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko argazkiak, multimedia-edukia eta fitxategiak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko argazkiak, multimedia-edukia eta fitxategiak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Gailuko <b>argazkiak, bideoak, musika eta audioa</b> erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Gailuko <b>argazkiak, bideoak, musika, audioa eta bestelako fitxategiak</b> erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Gailuko musika eta audioa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko musika eta audioa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko musika eta audioa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Gailuko argazkiak eta bideoak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko argazki eta bideoak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko argazki eta bideoak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Gailuko argazki eta bideo gehiago erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko argazki eta bideo gehiago erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko argazki eta bideo gehiago atzitzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikazioak hura erabiltzean soilik grabatuko du audioa"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez audioa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Baliteke aplikazioak edonoiz grabatzea audioa, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimena ezarpenetan."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Mikrofonorako sarbidea aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko mikrofonoa erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko mikrofonoa erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Aplikazioak edonoiz grabatu nahi du audioa, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimena ezarpenetan."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Zure jarduera fisikoa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko jarduera fisikoak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko jarduera fisikoak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Argazkiak ateratzeko eta bideoak grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan argazkiak atera eta bideoak grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez argazkiak ateratzeko eta bideoa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikazioak hura erabiltzean soilik aterako ditu argazkiak, eta grabatuko bideoak"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Argazkiak atera eta bideoak grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan argazkiak atera eta bideoak grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez argazkiak ateratzeko eta bideoa grabatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Baliteke aplikazioak edonoiz ateratzea argazkiak eta grabatzea bideoak, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimena ezarpenetan."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Kamerarako sarbidea aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko kamera erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko kamera erabiltzeko baimena aldatu nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Aplikazioak edonoiz atera nahi ditu argazkiak eta grabatu bideoak, baita aplikazioa erabiltzen ari ez zarenean ere. "<annotation id="link">"Eman baimena ezarpenetan."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Telefonoko deien erregistroa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko deien erregistroa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko telefono-deien erregistroa erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Telefono-deiak egiteko eta kudeatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuan telefono-deiak egiteko eta kudeatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez telefono-deiak egiteko eta kudeatzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Bizi-konstanteei buruzko sentsorearen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko bizi-konstanteei buruzko sentsoreen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko bizi-konstanteei buruzko sentsoreen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplikazioak bizi-konstanteei buruzko sentsoreen datuak atzitu nahi ditu, baita aplikazioa erabiltzen ari ez zarenean ere. Aldaketa hori egiteko, "<annotation id="link">"joan ezarpenetara."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Bizi-konstanteei buruzko sentsoreen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko bizi-konstanteei buruzko sentsoreen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko bizi-konstanteei buruzko sentsoreen datuak erabiltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Aplikazioari gorputz-sentsoreen datuak beti erabiltzeko baimena emateko (baita aplikazioa erabiltzen ari ez zarenean ere), "<annotation id="link">"joan ezarpenetara."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erabili bitartean gorputz-sentsoreen datuak erabiltzeko baimena eman nahi diozu aplikazio horri?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erabili bitartean <b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailuko gorputz-sentsoreen datuak erabiltzeko baimena eman nahi diozu aplikazioari?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> erabili bitartean aplikazio horri <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> gailuko gorputz-sentsoreen datuak erabiltzeko baimena ematen jarraitu nahi duzu?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Jakinarazpenak bidaltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> gailura jakinarazpenak bidaltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> bidez jakinarazpenak bidaltzeko baimena eman nahi diozu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aplikazioari?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrolatutako baimenak"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak kokapena erabil dezake"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Erakundeak kokapena erabiltzeko baimena eman dio <xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioari"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Bat ere ez"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Azken\n24 orduak"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Azken\nzazpi egunak"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> ehuneko <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android-ek babesten du <xliff:g id="APP_NAME">%1$s</xliff:g>. Datuak gailuan prozesatzen direnez, aplikazioaren baimenen erabilera ez da agertzen ez egoera-barran ezta pribatutasun-panelean ere."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android-ek babesten du <xliff:g id="APP_NAME">%1$s</xliff:g>. Datuak gailuan prozesatzen direnez, aplikazioaren baimenen erabilera ez da agertzen pribatutasun-panelean."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Gailuaren kamera blokeatuta dago"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Aplikazio eta zerbitzuetarako"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Agian mikrofonotik lortutako datuak larrialdietarako zenbaki batera deitzen duzunean partekatuko dira."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Aldatu"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kamera erabiltzeko baimena desaktibatuta dago"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Informazio- eta aisia-aplikazioetarako"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Beharrezko aplikazioetarako"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Aplikazio hau beharrezkoa da"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Autoaren fabrikatzaileak aplikazio hau erabiltzea eskatzen du"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Segurtasuna eta pribatutasuna"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Aztertu gailua"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Baztertu"</string> @@ -611,7 +627,7 @@ <string name="perm_toggle_description" msgid="7801326363741451379">"Aplikazio eta zerbitzuetarako"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Aplikazio eta zerbitzuetarako. Ezarpena desaktibatuta badago, baliteke mikrofonoaren bidez lortutako datuak larrialdietarako zenbaki batera deitzen duzunean partekatzea."</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"Ikusi kokapena atzi dezaketen aplikazioak eta zerbitzuak"</string> - <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Erakutsi arbela atzitzen denean"</string> + <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Erakutsi arbela erabiltzen denean"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Erakutsi mezu bat aplikazio batek kopiatu dituzun testuak, irudiak edo edukiak atzitzen dituenean"</string> <string name="show_password_title" msgid="2877269286984684659">"Erakutsi pasahitzak"</string> <string name="show_password_summary" msgid="1110166488865981610">"Idatzi ahala, erakutsi karaktereak laburki"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Datuak partekatzeko aukeraren berritasunak"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Kokapen-datuak partekatzeko modua aldatu dute aplikazio batzuek"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ezarpenak"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Atzitze-data: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Atzo atzitu zen (<xliff:g id="TIME_DATE">%1$s</xliff:g>)"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Atzitze-data: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> (<xliff:g id="TIME_DATE_1">%2$s</xliff:g>)"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Zure erabilera bakarreko pasahitza 132435 da"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Murriztapenak ditu ezarpenak"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Zure segurtasuna bermatzeko, ezarpena ez dago erabilgarri une honetan."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikazioari <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> erabiltzeko baimena ukatu zaio"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Kontuzko informazioa erabiltzeko baimen bat eskatu du aplikazioak, eta agian horrek arriskuan jarriko ditu zure informazio pertsonala eta finantzei buruzko informazioa.<xliff:g id="ID_1"><br><br></xliff:g>Baliteke aplikazioak behar bezala ez funtzionatzea baimen murriztu hori gabe. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lortu baimena emateko argibideak</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikazioari <xliff:g id="ROLE_NAME">%1$s</xliff:g> lehenetsia izateko baimena ukatu zaio"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Kontuzko informazioa erabiltzeko baimen batzuk eskatu ditu aplikazioak, eta agian horrek arriskuan jarriko ditu zure informazio pertsonala eta finantzei buruzko informazioa.<xliff:g id="ID_1"><br><br></xliff:g>Baliteke aplikazioak behar bezala ez funtzionatzea baimen murriztu horiek gabe. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lortu baimena emateko argibideak</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikazioari baimena ukatu zaio"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Baimen hau emanez gero, agian arriskuan jarriko dira zure informazio pertsonala eta finantzei buruzko informazioa.<xliff:g id="ID_1"><br><br></xliff:g>Baliteke aplikazioak behar bezala ez funtzionatzea baimen murriztu hori gabe. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lortu baimena emateko argibideak</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Lortu informazio gehiago"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Ados"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Blokeatu da baimen-eskaera"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Baimen gehigarriak eskatzen ari da aplikazioa, baina ezin da eman baimenik igorpen-saioetan. Lehenik eta behin, eman baimena telefonoan."</string> </resources> diff --git a/PermissionController/res/values-fa-v34/strings.xml b/PermissionController/res/values-fa-v34/strings.xml index de8036122..386c748dc 100644 --- a/PermissionController/res/values-fa-v34/strings.xml +++ b/PermissionController/res/values-fa-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"مدیریت دسترسی برنامه به دادههای سلامت"</string> <string name="location_settings" msgid="8863940440881290182">"دسترسی به مکان"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"برای برنامهها و سرویسها. اگر این تنظیم خاموش باشد، ممکن است وقتی با شماره تلفنی اضطراری تماس میگیرید دادههای میکروفون همچنان همرسانی شود"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"برای برنامهها و سرویسها"</string> </resources> diff --git a/PermissionController/res/values-fa-watch/strings.xml b/PermissionController/res/values-fa-watch/strings.xml index 17b225913..b602b38f3 100644 --- a/PermissionController/res/values-fa-watch/strings.xml +++ b/PermissionController/res/values-fa-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"امکان تغییر نیست"</string> <string name="generic_yes" msgid="2489207724988649846">"بله"</string> <string name="generic_cancel" msgid="2631708607129269698">"لغو"</string> + <string name="permission_access_always" msgid="2107115233573823032">"همیشه"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"درحین استفاده از برنامه"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"همیشه"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"درحین استفاده از برنامه"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"همیشه"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"درحین استفاده از برنامه"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"همیشه"</string> </resources> diff --git a/PermissionController/res/values-fa/strings.xml b/PermissionController/res/values-fa/strings.xml index 671694e0d..78c2ea483 100644 --- a/PermissionController/res/values-fa/strings.xml +++ b/PermissionController/res/values-fa/strings.xml @@ -50,12 +50,12 @@ <string name="permission_revoked_all" msgid="3397649017727222283">"همه مجوزها غیرفعال است"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"هیچ موردی غیرفعال نیست"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"اجازه دادن"</string> - <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"همیشه مجاز است"</string> + <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"همیشه مجاز"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"هنگام استفاده از برنامه"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"تغییر به مکان دقیق"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"حفظ مکان تقریبی"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"فقط این بار"</string> - <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"همیشه مجاز است"</string> + <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"همیشه مجاز"</string> <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"اجازه دادن برای مدیریت همه فایلها"</string> <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"اجازه دادن برای دسترسی به فایلهای رسانه"</string> <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"برنامهها"</string> @@ -109,15 +109,13 @@ <!-- no translation found for background_access_chooser_dialog_choices:0 (1351721623256561996) --> <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) --> <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) --> - <string name="permission_access_always" msgid="1474641821883823446">"همیشه مجاز است"</string> - <string name="permission_access_only_foreground" msgid="7801170728159326195">"فقط هنگام استفاده از برنامه مجاز است"</string> + <string name="permission_access_always" msgid="1474641821883823446">"همیشه مجاز"</string> + <string name="permission_access_only_foreground" msgid="7801170728159326195">"مجاز فقط هنگام استفاده از برنامه"</string> <string name="permission_access_never" msgid="4647014230217936900">"اجازه ندادن"</string> <string name="loading" msgid="4789365003890741082">"درحال بارگیری…"</string> <string name="all_permissions" msgid="6911125611996872522">"همه اجازهها"</string> <string name="other_permissions" msgid="2901186127193849594">"سایر قابلیتهای برنامه"</string> <string name="permission_request_title" msgid="8790310151025020126">"درخواست اجازه"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"کنشهای نصب/حذف نصب در Wear پشتیبانی نمیشود."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"انتخاب کنید <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه دارد به چه چیزی دسترسی پیدا کند"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> بهروزرسانی شده است. انتخاب کنید این برنامه اجازه دارد به چه چیزی دسترسی پیدا کند."</string> <string name="review_button_cancel" msgid="2191147944056548886">"لغو"</string> @@ -188,17 +186,20 @@ <string name="app_permission_button_allow" msgid="5808039516494774647">"اجازه دادن"</string> <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"اجازه دادن برای مدیریت همه فایلها"</string> <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"اجازه دادن فقط برای دسترسی به رسانهها"</string> - <string name="app_permission_button_allow_always" msgid="4573292371734011171">"همیشه مجاز است"</string> - <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"فقط هنگام استفاده از برنامه مجاز است"</string> + <string name="app_permission_button_allow_always" msgid="4573292371734011171">"همیشه مجاز"</string> + <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"مجاز فقط هنگام استفاده از برنامه"</string> <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"همه موارد همیشه مجازاند"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"هربار پرسیده شود"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"اجازه ندادن"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"مکان دقیق"</string> <string name="approximate_image_description" msgid="938803699637069884">"مکان تقریبی"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"استفاده از مکان دقیق"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"وقتی «مکان دقیق» خاموش باشد، برنامهها میتوانند به مکان تقریبیتان دسترسی داشته باشند"</string> <string name="app_permission_title" msgid="2090897901051370711">"اجازه <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"دسترسی <xliff:g id="PERM">%1$s</xliff:g> برای این برنامه"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"دسترسی <xliff:g id="PERM">%1$s</xliff:g> از این برنامه در <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"مشاهده همه اجازههای <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"دیدن همه برنامههایی که این مجوز را دارند"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"نمایش میزان استفاده «دستیار» از میکروفون"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"اگر از برنامه استفاده نمیشود، اجازهها برداشته شوند"</string> <string name="unused_apps_label" msgid="2595428768404901064">"برداشتن اجازهها و آزاد کردن فضا"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"مکث فعالیتها در برنامه درصورت عدماستفاده"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"مدیریت برنامه درصورت عدم استفاده"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"اجازهها برداشته میشود، فایلهای موقت حذف میشود، و اعلانها متوقف میشوند"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"برداشتن اجازهها، حذف فایلهای موقت، توقف اعلانها، و بایگانی کردن برنامه"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"برای محافظت از دادههایتان، اگر طی چند ماه گذشته از این برنامه استفاده نشده باشد، اجازههای آن برداشته خواهد شد."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"برای محافظت از دادههایتان، اگر طی چند ماه گذشته از این برنامه استفاده نشده باشد، اجازههای زیر برداشته خواهد شد: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"برای محافظت از دادههایتان، اجازهها از برنامههایی که طی چند ماه گذشته استفاده نشدهاند برداشته شده است."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"مجاز برای مدیریت همه فایلها"</string> <string name="ask_header" msgid="2633816846459944376">"هربار پرسیده شود"</string> <string name="denied_header" msgid="903209608358177654">"مجاز نبودن"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> در <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"دیدن برنامههای دیگری که به همه فایلها دسترسی دارند"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{یک روز}one{# روز}other{# روز}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ساعت}one{# ساعت}other{# ساعت}}"</string> @@ -403,15 +407,20 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"برنامه یادداشتها"</string> <string name="role_notes_description" msgid="8496852798616883551">"برنامههایی که به شما اجازه میدهند در دستگاهتان یادداشتبرداری کنید"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"یادداشت"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"برنامه کیف پول پیشفرض"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"برنامه کیف پول"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"برنامههای کیف پول میتواند با ذخیره کردن کارتهای اعتباری و وفاداری، کلید خودرو، و موارد دیگر در انجام انواع مختلف تراکنش به شما کمک کند."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> بهعنوان برنامه کیف پول پیشفرض تنظیم شود؟"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"اجازهای لازم نیست"</string> <string name="request_role_current_default" msgid="738722892438247184">"برنامه پیشفرض کنونی"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"دوباره سؤال نشود"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"تنظیم برای پیشفرض"</string> <string name="phone_call_uses_microphone" msgid="233569591461187177">"در <b>تماس تلفنی</b> از میکروفون استفاده میشود"</string> <string name="phone_call_uses_microphone_and_camera" msgid="6291898755681748189">"در <b>تماس تصویری</b> از دوربین و میکروفون استفاده میشود"</string> <string name="phone_call_uses_camera" msgid="2048417022147857418">"در <b>تماس تصویری</b> از دوربین استفاده میشود"</string> - <string name="system_uses_microphone" msgid="576672130318877143">"سرویس سیستم به میکروفون دسترسی دارد"</string> - <string name="system_uses_microphone_and_camera" msgid="5124478304275138804">"سرویس سیستم به دوربین و میکروفون دسترسی دارد"</string> - <string name="system_uses_camera" msgid="1911223105234441470">"سرویس سیستم به دوربین دسترسی دارد"</string> + <string name="system_uses_microphone" msgid="576672130318877143">"خدمات سیستم به میکروفون دسترسی دارد"</string> + <string name="system_uses_microphone_and_camera" msgid="5124478304275138804">"خدمات سیستم به دوربین و میکروفون دسترسی دارد"</string> + <string name="system_uses_camera" msgid="1911223105234441470">"خدمات سیستم به دوربین دسترسی دارد"</string> <string name="other_use" msgid="6564855051022776692">"استفادههای دیگر:"</string> <string name="ongoing_usage_dialog_ok" msgid="103556809118460072">"متوجه شدم"</string> <string name="ongoing_usage_dialog_title" msgid="683836493556628569">"استفاده اخیر از <xliff:g id="TYPES_LIST">%s</xliff:g>"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"سایر پیشفرضها"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"باز کردن پیوندها"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"پیشفرض برای کار"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"برنامههای پیشفرض برای فضای خصوصی"</string> <string name="default_app_none" msgid="9084592086808194457">"هیچکدام"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(پیشفرض سیستم)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"برنامهای موجود نیست"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"نمایش دستیار تشخیص راهانداز"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"نمایش نماد مربوطه در نوار وضعیت وقتی از میکروفون برای فعال کردن دستیار صوتی استفاده میشود"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> اجازه داده شود به عکسها و رسانههای موجود در دستگاهتان دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به عکسها و رسانههای <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به عکسها و رسانههای «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مخاطبین شما دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مخاطبینتان در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به مخاطبین شما در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مکان این دستگاه دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مکان <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به مکان «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"این برنامه فقط وقتی از آن استفاده میکنید، به مکان دسترسی خواهد داشت"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مکان این دستگاه دسترسی پیدا کند؟"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مکان <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> دسترسی داشته باشد؟"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به مکان «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"این برنامه ممکن است بخواهد مرتب به مکانتان دسترسی داشته باشد، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"دسترسی به مکان برای <b&gt؛<xliff:g id="APP_NAME">%1$s</xliff:g></b&gt تغییر کند؟"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"دسترسی <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> به مکان در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> تغییر کند؟"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"دسترسی «<xliff:g id="APP_NAME">%1$s</xliff:g>» به مکان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» تغییر کند؟"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"این برنامه میخواهد مرتب به مکانتان دسترسی داشته باشد، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود دستگاههای اطراف را پیدا کند، به آنها متصل شود، و موقعیت نسبی آنها را مشخص کند؟"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دستگاههای اطراف را پیدا کند، به آنها متصل شود، و موقعیت نسبی آنها را تعیین کند؟"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دستگاههای اطراف را پیدا کند، به آنها متصل شود، و موقعیت نسبی آنها را تعیین کند؟"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود دستگاههای اطراف را پیدا کند، به آنها متصل شود، و موقعیت نسبی آنها را مشخص کند؟ "<annotation id="link">"در تنظیمات اجازه دهید."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"دسترسی <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> به مکان از حالت تقریبی به دقیق تغییر کند؟"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"دسترسی <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> به مکان <b><xliff:g id="DEVICE">%2$s</xliff:g></b> از تقریبی به دقیق تغییر کند؟"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"دسترسی <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> به مکان «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» از تقریبی به دقیق تغییر کند؟"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"به <b&gt؛<xliff:g id="APP_NAME">%1$s</xliff:g></b&gt؛ اجازه داده شود به مکان تقریبی این دستگاه دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به مکان تقریبی <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به مکان تقریبی «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"دقیق"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"تقریبی"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه دسترسی به تقویمتان داده شود؟"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به تقویمتان در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به تقویمتان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"به «<b><xliff:g id="APP_NAME">%1$s</xliff:g><b>» اجازه داده شود پیامک ارسال و مشاهده کند؟"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پیامک ارسال کند و پیامکها را مشاهده کند؟"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» پیامک ارسال کند و آنها را مشاهده کند؟"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"به برنامه <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> اجازه داده شود به عکسها، رسانه، و فایلهای موجود در دستگاهتان دسترسی داشته باشد؟"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به عکسها، رسانهها، و فایلهای <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به عکسها، رسانهها، و فایلهای «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به <b>عکسها، ویدیوها، موسیقی، و فایلهای صوتی</b> این دستگاه دسترسی داشته باشد؟"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به <b>عکسها، ویدیوها، موسیقی، صوت، و فایلهای دیگر</b> این دستگاه دسترسی داشته باشد؟"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به فایلهای موسیقی و صوتی در این دستگاه دسترسی داشته باشد؟"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> به فایلهای موسیقی و صوتی دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» به فایلهای موسیقی و صوتی دسترسی داشته باشد؟"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به عکسها و ویدیوهای این دستگاه دسترسی داشته باشد؟"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به عکسها و ویدیوهای <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به عکسها و ویدیوهای «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به عکسها و ویدیوهای بیشتری در این دستگاه دسترسی داشته باشد؟"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به عکسها و ویدیوهای بیشتری در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به عکسها و ویدیوهای بیشتری در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"به </b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود صدا ضبط کند؟"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> صدا ضبط کند؟"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» صدا ضبط کند؟"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"این برنامه فقط وقتی از آن استفاده میکنید، میتواند صدا ضبط کند"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"به </b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود صدا ضبط کند؟"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> صدا ضبط کند؟"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» صدا ضبط کند؟"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"این برنامه ممکن است بخواهد مرتب صدا ضبط کند، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"دسترسی به میکروفون برای <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> تغییر کند؟"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"دسترسی <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> به میکروفون در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> تغییر کند؟"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"دسترسی «<xliff:g id="APP_NAME">%1$s</xliff:g>» به میکروفون در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» تغییر کند؟"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"این برنامه میخواهد مرتب صدا ضبط کند، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به فعالیت فیزیکیتان دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به فعالیت فیزیکیتان در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به فعالیت فیزیکیتان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود عکس بگیرد و ویدیو ضبط کند؟"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> t اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> عکس بگیرد و ویدیو ضبط کند؟"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» عکس بگیرد و ویدیو ضبط کند؟"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"این برنامه فقط وقتی از آن استفاده میکنید، میتواند عکس و فیلم بگیرد"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود عکس بگیرد و ویدیو ضبط کند؟"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> t اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> عکس بگیرد و ویدیو ضبط کند؟"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» عکس بگیرد و ویدیو ضبط کند؟"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"این برنامه ممکن است بخواهد مرتب عکس و فیلم بگیرد، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"دسترسی به دوربین برای <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> تغییر کند؟"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"دسترسی <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> به دوربین در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> تغییر کند؟"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"دسترسی «<xliff:g id="APP_NAME">%1$s</xliff:g>» به دوربین در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» تغییر کند؟"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"این برنامه میخواهد مرتب عکس و فیلم بگیرد، حتی زمانیکه از برنامه استفاده نمیکنید. "<annotation id="link">"در تنظیمات به آن اجازه دهید."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به گزارش تماسهای تلفنی شما دسترسی داشته باشد؟"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به گزارشهای تماس تلفنتان در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به گزارشهای تماس تلفنیتان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> اجازه داده شود تماسهای تلفنی برقرار کند و آنها را مدیریت کند؟"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> تماسهای تلفنی برقرار کند و آنها را مدیریت کند؟"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» تماس تلفنی برقرار کند و آنها را مدیریت کند؟"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> اجازه داده شود به دادههای حسگر مربوط به علائم حیاتی شما دسترسی پیدا کند؟"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به دادههای علائم حیاتیتان از حسگر <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به دادههای حسگر مربوط به علائم حیاتیتان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"این برنامه میخواهد به دادههای حسگر از علائم حیاتی شما همیشه دسترسی داشته باشد، حتی زمانی که از برنامه استفاده نمیکنید. برای انجام این تغییر، "<annotation id="link">"به تنظیمات بروید."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه میدهید به دادههای علائم حیاتیتان از حسگر دسترسی داشته باشد؟"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود به دادههای علائم حیاتیتان از حسگر <b><xliff:g id="DEVICE">%2$s</xliff:g></b> دسترسی داشته باشد؟"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید به دادههای حسگر مربوط به علائم حیاتیتان در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"برای اینکه این برنامه بتواند همیشه و حتی زمانی که از برنامه استفاده نمیکنید به دادههای حسگر بدن دسترسی داشته باشد، "<annotation id="link">"به تنظیمات بروید."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> همچنان اجازه داده شود درحین استفاده، به دادههای حسگر بدن دسترسی داشته باشد؟"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> همچنان اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> به دادههای حسگر بدن، درحین استفاده از برنامه، دسترسی داشته باشد؟"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"همچنان به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید وقتی برنامه درحال استفاده است به دادههای حسگر بدن در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» دسترسی داشته باشد؟"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود اعلان ارسال کند؟"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"به <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اجازه داده شود در <b><xliff:g id="DEVICE">%2$s</xliff:g></b> اعلان ارسال کند؟"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"به «<xliff:g id="APP_NAME">%1$s</xliff:g>» اجازه میدهید در «<xliff:g id="DEVICE_NAME">%2$s</xliff:g>» اعلان ارسال کند؟"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"مجوزهای کنترلشده"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> به مکان دسترسی دارد"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"سازمان شما به <xliff:g id="APP_NAME">%1$s</xliff:g> اجازه داده است به مکانتان دسترسی داشته باشد"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"هیچکدام"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"۲۴\nساعت گذشته"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"۷ روز\nگذشته"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> درصد"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> تحت حفاظت Android است. چون دادههایتان در این دستگاه پردازش میشود، استفاده این برنامه از اجازه در نوار وضعیت یا داشبورد حریم خصوصیتان نشان داده نمیشود."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> تحت حفاظت Android است. چون دادههایتان در این دستگاه پردازش میشود، استفاده این برنامه از اجازه در داشبورد حریم خصوصیتان نشان داده نمیشود."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"دوربین دستگاه مسدود شده است"</string> @@ -549,16 +560,21 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"برای برنامهها و سرویسها"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"هنگام تماس با شمارههای اضطراری، ممکن است همچنان دادههای میکروفون همرسانی شود."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"تغییر"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"دسترسی به دوربین خاموش است"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"برای برنامههای اطلاعات-سرگرمی"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"برای برنامههای الزامی"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"این برنامه الزامی است"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"سازنده خودرو این برنامه را الزامی کرده است"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"امنیت و حریم خصوصی"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"اسکن کردن دستگاه"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"رد کردن"</string> <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"این هشدار رد شود؟"</string> - <string name="safety_center_issue_card_dismiss_confirmation_message" msgid="3775418736671093563">"هرزمان خواستید تنظیمات امنیت و حریم خصوصی را مرور کنید تا محافظت بیشتری اضافه کنید"</string> + <string name="safety_center_issue_card_dismiss_confirmation_message" msgid="3775418736671093563">"هرزمان خواستید تنظیمات ایمنی و حریم خصوصی را مرور کنید تا محافظت بیشتری اضافه کنید"</string> <string name="safety_center_issue_card_confirm_dismiss_button" msgid="5884137843083634556">"رد شدن"</string> <string name="safety_center_issue_card_cancel_dismiss_button" msgid="2874578798877712346">"لغو"</string> <string name="safety_center_entries_category_title" msgid="34356964062813115">"تنظیمات"</string> <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"وضعیت حریم خصوصی و امنیت. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> - <string name="security_settings" msgid="3808106921175271317">"تنظیمات امنیتی"</string> + <string name="security_settings" msgid="3808106921175271317">"تنظیمات ایمنی"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"اجازهها"</string> <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"امنیت و حریم خصوصی"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"بررسی وضعیت"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"بهروزرسانیهای همرسانی داده"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"برخیاز برنامهها روش همرسانی دادههای مکان شما را تغییر دادهاند"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"تنظیمات"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"تاریخ دسترسی: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"دسترسی در روز گذشته ساعت <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"دسترسی در <xliff:g id="TIME_DATE_0">%1$s</xliff:g> ساعت <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"گذرواژه یکبارمصرف شما 132435 است"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"تنظیم محدودشده"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"برای حفظ امنیت شما، درحالحاضر این تنظیم دردسترس نیست."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"درخواست برنامه برای دسترسی به <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> رد شد"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"این برنامه درخواست دسترسی به اجازهای حساس را داشته است که میتواند اطلاعات شخصی و مالیتان را درمعرض خطر قرار دهد.<xliff:g id="ID_1"><br><br></xliff:g>ممکن است برنامه بدون این اجازه محدودشده بهدرستی کار نکند. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>با نحوه اعطای دسترسی آشنا شوید</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"درخواست دسترسی برنامه برای تبدیل شدن به <xliff:g id="ROLE_NAME">%1$s</xliff:g> پیشفرض رد شد"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"این برنامه درخواست دسترسی به اجازههای حساسی را داشته است که میتواند اطلاعات شخصی و مالیتان را درمعرض خطر قرار دهد.<xliff:g id="ID_1"><br><br></xliff:g>ممکن است برنامه بدون این اجازههای محدودشده بهدرستی کار نکند. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>با نحوه اعطای دسترسی آشنا شوید</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"درخواست دسترسی برنامه رد شد"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"اعطای این اجازه میتواند اطلاعات شخصی و مالیتان را درمعرض خطر قرار دهد.<xliff:g id="ID_1"><br><br></xliff:g>ممکن است برنامه بدون این اجازه محدودشده بهدرستی کار نکند. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>با نحوه اعطای دسترسی آشنا شوید</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"بیشتر بدانید"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"بسیارخوب"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"درخواست اجازه رد شد"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"این برنامه درخواست اجازههای اضافی دارد، اما امکان دادن این اجازهها در جلسه جاریسازی وجود ندارد. ابتدا اجازه را در تلفنتان اعطا کنید."</string> </resources> diff --git a/PermissionController/res/values-fi-v34/strings.xml b/PermissionController/res/values-fi-v34/strings.xml index b2f95dc19..b00393067 100644 --- a/PermissionController/res/values-fi-v34/strings.xml +++ b/PermissionController/res/values-fi-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Päätä sovellusten pääsystä terveysdataan"</string> <string name="location_settings" msgid="8863940440881290182">"Pääsy sijaintiin"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Sovellukset ja palvelut. Vaikka asetus olisi poissa päältä, mikrofonidataa saatetaan silti jakaa, kun soitat hätänumeroon"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Sovellukset ja palvelut"</string> </resources> diff --git a/PermissionController/res/values-fi-watch/strings.xml b/PermissionController/res/values-fi-watch/strings.xml index 843f06a71..296eedf2b 100644 --- a/PermissionController/res/values-fi-watch/strings.xml +++ b/PermissionController/res/values-fi-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ei muutettavissa"</string> <string name="generic_yes" msgid="2489207724988649846">"Kyllä"</string> <string name="generic_cancel" msgid="2631708607129269698">"Peru"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Aina"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Sovelluksen käytön aikana"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Aina"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Sovelluksen käytön aikana"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Aina"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Sovelluksen käytön aikana"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Aina"</string> </resources> diff --git a/PermissionController/res/values-fi/strings.xml b/PermissionController/res/values-fi/strings.xml index ee85d8df2..bee2cefa7 100644 --- a/PermissionController/res/values-fi/strings.xml +++ b/PermissionController/res/values-fi/strings.xml @@ -73,7 +73,7 @@ <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Tänään}=1{1 päivä sitten}other{# päivää sitten}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Poista sovellus käytöstä"</string> <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jos poistat sovelluksen käytöstä, Android ja muut sovellukset eivät välttämättä enää toimi oikein. Muista, ettet voi poistaa sovellusta, sillä se tuli laitteesi mukana. Poistamalla sovelluksen käytöstä suljet sen ja piilotat sen laitteella."</string> - <string name="app_permission_manager" msgid="3903811137630909550">"Lupien ylläpito"</string> + <string name="app_permission_manager" msgid="3903811137630909550">"Lupienhallinta"</string> <string name="never_ask_again" msgid="4728762438198560329">"Älä kysy enää"</string> <string name="no_permissions" msgid="3881676756371148563">"Ei lupia"</string> <string name="additional_permissions" msgid="5801285469338873430">"Lisäluvat"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Kaikki luvat"</string> <string name="other_permissions" msgid="2901186127193849594">"Muut sovellusluvat"</string> <string name="permission_request_title" msgid="8790310151025020126">"Lupapyyntö"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ei tue asennus- ja poistotoimintoja."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Valitse, mitä käyttöoikeuksia sovellukselle <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> myönnetään."</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on päivitetty. Valitse, mitä käyttöoikeuksia tälle sovellukselle myönnetään."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Peru"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Salli aina kaikki"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Kysy aina"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Älä salli"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Tarkka sijainti"</string> <string name="approximate_image_description" msgid="938803699637069884">"Likimääräinen sijainti"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Käytä tarkkaa sijaintia"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kun tarkka sijainti ei ole päällä, sovellukset voivat nähdä likimääräisen sijaintisi"</string> - <string name="app_permission_title" msgid="2090897901051370711">"Lupa (<xliff:g id="PERM">%1$s</xliff:g>)"</string> - <string name="app_permission_header" msgid="2951363137032603806">"Sovellus pyytää pääsyä näihin: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>lupa"</string> + <string name="app_permission_header" msgid="2951363137032603806">"Sovellus pyytää <xliff:g id="PERM">%1$s</xliff:g>-lupaa"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Tällä sovelluksella on pääsy (<xliff:g id="PERM">%1$s</xliff:g>) laitteella <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Näytä kaikki luvat, jotka <xliff:g id="APP">%1$s</xliff:g> on saanut"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Näytä kaikki sovellukset, joilla on tämä lupa"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Näytä Assistantin mikrofonin käyttö"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Poista luvat, jos sovellusta ei käytetä"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Poista lupia ja vapauta tilaa"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Keskeytä sovellustoim. jos ei käytössä"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Hallinnoi sovellusta, jos käyttämätön"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Poista käyttämättömät luvat ja väliaikaiset tiedostot ja pysäytä ilmoitukset"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Poista käyttämättömät luvat ja väliaikaiset tiedostot, pysäytä ilmoitukset ja arkistoi sovellus"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Datasi suojaamiseksi tämän sovelluksen luvat poistetaan, jos sovellusta ei käytetä muutamaan kuukauteen."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Jos sovellusta ei käytetä muutamaan kuukauteen, seuraavat luvat poistetaan datasi suojaamiseksi: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Datasi suojaamiseksi luvat on poistettu sovelluksilta, joita et ole käyttänyt muutamaan kuukauteen."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Kaikkien tiedostojen ylläpito sallittu"</string> <string name="ask_header" msgid="2633816846459944376">"Kysy aina"</string> <string name="denied_header" msgid="903209608358177654">"Ei sallittu"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Muut sovellukset, joilla on pääsy kaikkiin tiedostoihin"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 päivä}other{# päivää}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# tunti}other{# tuntia}}"</string> @@ -401,8 +405,13 @@ <string name="role_companion_device_computer_description" msgid="416099879217066377">"Tämä palvelu jakaa kuvat, median ja ilmoitukset puhelimeltasi muille laitteille."</string> <string name="role_notes_label" msgid="7451627001058089536">"Oletusmuistiinpanosovellus"</string> <string name="role_notes_short_label" msgid="8796604147546125285">"Muistiinpanosovellus"</string> - <string name="role_notes_description" msgid="8496852798616883551">"Sovellukset, joilla voit ottaa muistiinpanoja laitteellasi"</string> + <string name="role_notes_description" msgid="8496852798616883551">"Sovellukset, joilla voit tehdä muistiinpanoja laitteellasi"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"muistiinpanot"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Oletuslompakkosovellus"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Lompakkosovellus"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Lompakkosovelluksista on apua erilaisissa tilanteissa, koska niihin voi tallentaa esimerkiksi credit- ja kanta-asiakaskortit ja autonavaimet"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Valitaanko <xliff:g id="APP_NAME">%1$s</xliff:g> oletuslompakkosovelluksesi?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Lupia ei tarvita"</string> <string name="request_role_current_default" msgid="738722892438247184">"Nykyinen oletus"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Älä kysy uudelleen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Aseta oletukseksi"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Lisää oletuksia"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Linkkien avaaminen"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Työkäytön oletus"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Oletus yksityiselle tilalle"</string> <string name="default_app_none" msgid="9084592086808194457">"Ei mitään"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Järjestelmän oletusarvo)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Ei sovelluksia"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Näytä avustajan käynnistyskomennon havaitseminen"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Näytä tilarivillä kuvake, kun ääniapuri aktivoidaan mikrofonin avulla."</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> käyttää laitteellasi olevia kuvia ja mediaa?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin kuviin ja mediaan?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn kuviin ja mediaan (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> yhteystietojesi käyttöoikeuden?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin yhteystietoihin?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn yhteystietoihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn tämän laitteen sijaintiin?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteen (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>) sijaintiin?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn sijaintiin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>)?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Sovellus saa sijainnin käyttöoikeuden vain silloin, kun käytät sovellusta"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn tämän laitteen sijaintiin?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteen (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>) sijaintiin?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn sijaintiin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>)?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Sovellus voi haluta nähdä sijaintisi aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Muutetaanko sijainnin käyttöoikeutta (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>)?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Muutetaanko sijainnin pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Muutetaanko sijainnin pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Sovellus haluaa nähdä sijaintisi aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> löytää lähellä olevia laitteita, yhdistää niihin ja määrittää niiden suhteellisen sijainnin?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> löytää laitteita lähellä (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>), yhdistää ja määrittää suhteellisen sijainnin?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> löytää laitteita lähellä (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>), yhdistää ja määrittää suhteellisen sijainnin?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> löytää lähellä olevia laitteita, yhdistää niihin ja määrittää niiden suhteellisen sijainnin? "<annotation id="link">"Myönnä lupa asetuksista."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Muutetaanko sijainnin käyttöoikeus (<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>) likimääräisestä tarkaksi?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Muutetaanko sijainnin pääsyoikeudet (<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>) laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) likimääräisistä tarkoiksi?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Muutetaanko sijainnin pääsyoikeudet (<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>) laitteella (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>) likimääräisistä tarkoiksi?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn tämän laitteen karkeaan sijaintiin?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteen (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) likimääräiseen sijaintiin?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn likimääräiseen sijaintiin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Tarkka"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Likimääräinen"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn kalenteriisi?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteen (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) kalenteriin?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn kalenteriin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää ja lukea tekstiviestejä?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää ja lukea tekstiviestejä laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää ja lukea tekstiviestejä (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> käyttää laitteellasi olevia kuvia, mediaa ja tiedostoja?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin kuviin, mediaan ja tiedostoihin?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn kuviin, mediaan ja tiedostoihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteen <b>kuviin, videoihin, musiikkiin ja audioon</b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn <b>kuviin, videoihin, musiikkiin, audioon ja muihin tiedostoihin</b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn tällä laitteella oleviin musiikki- ja audiotiedostoihin?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyvään musiikkiin ja audioon?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn musiikkiin ja audioon (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteella oleviin kuviin ja mediaan?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin kuviin ja videoihin?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn kuviin ja videoihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn useampiin laitteella oleviin kuviin ja mediaan?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn useampiin laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin kuviin ja videoihin?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn myös muihin kuviin ja videoihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Sovellus voi tallentaa audiota vain silloin, kun käytät sitä"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tallentaa audiota (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Sovellus voi haluta tallentaa audiota aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Muutetaanko mikrofonin käyttöoikeutta (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>)?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Muutetaanko mikrofonin pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Muutetaanko mikrofonin pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Sovellus haluaa tallentaa audiota aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nähdä liikkumistietosi?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin fyysisen aktiivisuuden tietoihin?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn fyysisen aktiivisuuden tietoihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja nauhoittaa videoita?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja kuvata videoita laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja tallentaa videota (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Sovellus voi ottaa kuvia ja videoita vain silloin, kun käytät sitä"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja videoita?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja kuvata videoita laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ottaa kuvia ja tallentaa videota (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Sovellus voi haluta ottaa kuvia ja videoita aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Muutetaanko kameran käyttöoikeutta (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>)?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Muutetaanko kameran pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Muutetaanko kameran pääsyoikeuksia (<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>) laitteella (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Sovellus haluaa ottaa kuvia ja videoita aina, myös silloin kun et käytä sitä. "<annotation id="link">"Myönnä lupa asetuksista"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> puhelulokien käyttöoikeuden?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyviin puhelulokeihin?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn puhelulokeihin (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> soittaa ja hallinnoida puheluita?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> soittaa ja hallinnoida puheluita laitteella (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>?)?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> soittaa ja hallinnoida puheluita (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> käyttää anturitietoja elintoiminnoistasi?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Voiko <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> saada pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyvään elintoimintojen anturidataan?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn elintoimintojen anturidataan (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Sovellus haluaa pääsyn elintoimintojasi koskevaan anturidataan aina, myös silloin, kun et käytä sovellusta. Voit myöntää luvan "<annotation id="link">"asetuksista"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> käyttää anturidataa elintoiminnoistasi?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn laitteelta (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) löytyvään elintoimintojen anturidataan?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pääsyn elintoimintojen anturidataan (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Jos haluat myöntää sovellukselle pääsyn kehoanturidataan aina, myös silloin, kun et käytä sovellusta, "<annotation id="link">"siirry asetuksiin."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Haluatko edelleen sallia pääsyn kehoanturidataan, kun <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on käytössä?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Haluatko edelleen sallia pääsyn laitteen (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) kehoanturidataan, kun <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> on käytössä?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> edelleen pääsyn kehoanturidataan (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>), kun sovellus on käytössä?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää sinulle ilmoituksia?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää ilmoituksia laitteelle (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Saako <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lähettää sinulle ilmoituksia (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>)?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Automaattisesti myönnetyt käyttöoikeudet"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Sovelluksella (<xliff:g id="APP_NAME">%1$s</xliff:g>) on pääsy sijaintiin"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organisaatiosi sallii sovelluksen (<xliff:g id="APP_NAME">%1$s</xliff:g>) pääsyn sijaintiin"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"–"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Viimeiset\n24 tuntia"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 viime\npäivää"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> prosenttia"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> on Androidin suojaama. Koska datasi käsitellään tällä laitteella, sovelluksen lupien käyttö ei näy tilapalkissa eikä yksityisyydenhallintapaneelisi."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> on Androidin suojaama. Koska datasi käsitellään tällä laitteella, sovelluksen lupien käyttö ei näy yksityisyydenhallintapaneelissasi."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Laitteen kamera on estetty"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Sovellusten ja palvelujen osalta"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofonidataa saatetaan silti jakaa, kun soitat hätänumeroon."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Muuta"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameran pääsyoikeus ei ole päällä"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Infotainment-sovelluksille"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pakollisille sovelluksille"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Tämä sovellus tarvitaan"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Autosi valmistaja edellyttää tätä sovellusta"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Turvallisuus ja yksityisyys"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Tarkista laite"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ohita"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Datan jaon päivitykset"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Jotkin sovellukset ovat muuttaneet tapaa, jolla ne voivat jakaa sijaintitietoja"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Asetukset"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Avattu <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Avattu eilen klo <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Avattu <xliff:g id="TIME_DATE_0">%1$s</xliff:g> klo <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Kertakäyttöinen salasanasi on 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Rajoitettu asetus"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Asetus ei ole tällä hetkellä käytettävissä turvallisuussyistä."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Sovellukselta on evätty pääsy: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Sovellus on pyytänyt pääsyä arkaluontoiseen lupaan, joka voi vaarantaa henkilökohtaisia tietojasi ja taloustietojasi.<xliff:g id="ID_1"><br><br></xliff:g>Sovellus ei välttämättä toimi oikein ilman tätä rajoitettua lupaa. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lue, miten voit sallia pääsyn</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Sovellus ei saa olla oletuksena <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Sovellus on pyytänyt pääsyä arkaluontoisiin lupiin, jotka voivat vaarantaa henkilökohtaisia tietojasi ja taloustietojasi.<xliff:g id="ID_1"><br><br></xliff:g>Sovellus ei välttämättä toimi oikein ilman näitä rajoitettuja lupia. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lue, miten voit sallia pääsyn</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Sovellukselta on evätty pääsy"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Tämä lupa voi vaarantaa henkilökohtaisia tietojasi ja taloustietojasi.<xliff:g id="ID_1"><br><br></xliff:g>Sovellus ei välttämättä toimi oikein ilman tätä rajoitettua lupaa. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Lue, miten voit sallia pääsyn</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Lue lisää"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Lupapyyntö estetty"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Sovellus pyytää lisälupia, mutta lupia ei voi myöntää striimatessa. Myönnä lupa ensin puhelimella."</string> </resources> diff --git a/PermissionController/res/values-fr-rCA-v34/strings.xml b/PermissionController/res/values-fr-rCA-v34/strings.xml index 347b04cc8..4b18ba2f6 100644 --- a/PermissionController/res/values-fr-rCA-v34/strings.xml +++ b/PermissionController/res/values-fr-rCA-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gérez l\'accès des applications aux données relatives à la santé"</string> <string name="location_settings" msgid="8863940440881290182">"Accès à la position"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Pour les applications et les services. Si ce paramètre est désactivé, il est possible que les données du microphone soient partagées lorsque vous appelez un numéro d\'urgence"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Pour les applications et les services"</string> </resources> diff --git a/PermissionController/res/values-fr-rCA-watch/strings.xml b/PermissionController/res/values-fr-rCA-watch/strings.xml index 8e92df18e..4d588d0c9 100644 --- a/PermissionController/res/values-fr-rCA-watch/strings.xml +++ b/PermissionController/res/values-fr-rCA-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Inchangeable"</string> <string name="generic_yes" msgid="2489207724988649846">"Oui"</string> <string name="generic_cancel" msgid="2631708607129269698">"Annuler"</string> + <string name="permission_access_always" msgid="2107115233573823032">"En tout temps"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Quand l\'appli est utilisée"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"En tout temps"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Quand l\'appli est utilisée"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"En tout temps"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Quand l\'appli est utilisée"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"En tout temps"</string> </resources> diff --git a/PermissionController/res/values-fr-rCA/strings.xml b/PermissionController/res/values-fr-rCA/strings.xml index 50d896bcb..49795864e 100644 --- a/PermissionController/res/values-fr-rCA/strings.xml +++ b/PermissionController/res/values-fr-rCA/strings.xml @@ -110,14 +110,12 @@ <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) --> <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) --> <string name="permission_access_always" msgid="1474641821883823446">"Toujours autoriser"</string> - <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser si l\'application est utilisée"</string> + <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser uniquement lorsque l\'application est utilisée"</string> <string name="permission_access_never" msgid="4647014230217936900">"Ne pas autoriser"</string> <string name="loading" msgid="4789365003890741082">"Chargement en cours…"</string> <string name="all_permissions" msgid="6911125611996872522">"Toutes les autorisations"</string> <string name="other_permissions" msgid="2901186127193849594">"Autres autorisations de l\'application"</string> <string name="permission_request_title" msgid="8790310151025020126">"Demande d\'autorisation"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Les actions d\'installation et de désinstallation ne sont pas prises en charge par Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Définissez les autorisations d\'accès de l\'application « <xliff:g id="APP_NAME">%1$s</xliff:g> »"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"L\'application « <xliff:g id="APP_NAME">%1$s</xliff:g> » a été mise à jour. Définissez ses autorisations d\'accès."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Annuler"</string> @@ -189,24 +187,29 @@ <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Autoriser à gérer tous les fichiers"</string> <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Autoriser à accéder aux éléments multimédias seulement"</string> <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Toujours autoriser"</string> - <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'appli est en cours d\'utilisation"</string> + <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'application est utilisée"</string> <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Toujours tout autoriser"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Toujours demander"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne pas autoriser"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Position exacte"</string> <string name="approximate_image_description" msgid="938803699637069884">"Position approximative"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utiliser la position exacte"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Si la position exacte est désactivée, les applications ont accès à votre position approximative"</string> <string name="app_permission_title" msgid="2090897901051370711">"Autorisation : <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Accès pour cette application : <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Accès <xliff:g id="PERM">%1$s</xliff:g> pour cette application sur <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Afficher toutes les autorisations pour <xliff:g id="APP">%1$s</xliff:g>"</string> - <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Afficher toutes les applications qui possèdent cette autorisation"</string> + <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Afficher toutes les applis qui possèdent cette autorisation"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Afficher l\'usage du microphone de l\'assistant"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"Paramètres des applications inutilisées"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Retirer les autorisations si l\'application est inutilisée"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Retirer autorisations et libérer espace"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Suspendre l\'activité appli si inutilisée"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gérer l\'appli si inutilisée"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Retirer les autorisations, supprimer les fichiers temporaires et arrêter les notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Retirer les autorisations, supprimer les fichiers temporaires, arrêter les notifications et archiver l\'appli"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Afin de protéger vos données, les autorisations pour cette application seront retirées si elle n\'est pas utilisée pendant quelques mois."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Afin de protéger vos données, si l\'application n\'est pas utilisée pendant quelques mois, les autorisations suivantes seront supprimées : <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Afin de protéger vos données, les autorisations ont été supprimées pour les applications que vous n\'avez pas utilisées depuis quelques mois."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Autorisées à gérer tous les fichiers"</string> <string name="ask_header" msgid="2633816846459944376">"Toujours demander"</string> <string name="denied_header" msgid="903209608358177654">"Non autorisées"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> sur <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Afficher d\'autres applis pouvant accéder à tous les fichiers"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 jour}one{# jour}many{# jours}other{# jours}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# heure}one{# heure}many{# d\'heures}other{# heures}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Application de prise de notes"</string> <string name="role_notes_description" msgid="8496852798616883551">"Applications qui vous permettent de prendre des notes sur votre appareil"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"remarques"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Appli portefeuille par défaut"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Application de portefeuille"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Les applis de portefeuille peuvent stocker vos cartes de crédit et de fidélité, vos clés de voiture et d\'autres données pour faciliter différentes modalités de transaction."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Définir <xliff:g id="APP_NAME">%1$s</xliff:g> comme application de portefeuille par défaut?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Aucune autorisation nécessaire"</string> <string name="request_role_current_default" msgid="738722892438247184">"Application par défaut actuelle"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne plus me demander"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Définir par défaut"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Autres applications par défaut"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Ouverture des liens"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Par défaut pour util. profess."</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Applications par défaut pour l\'Espace privé"</string> <string name="default_app_none" msgid="9084592086808194457">"Aucune"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Valeurs par défaut du système)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Aucune application"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Afficher la détection des déclencheurs de l\'assistant"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Afficher l\'icône dans la barre d\'état lorsque le microphone est utilisé pour activer l\'assistant vocal"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à accéder aux photos et aux médias de votre appareil?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder au contenu multimédia et aux photos sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et aux contenus multimédias sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos contacts?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à vos contacts sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos contacts sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de cet appareil?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à la position de votre « <xliff:g id="DEVICE_NAME">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"L\'application aura uniquement accès à la position lorsque vous l\'utilisez"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de cet appareil?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à la position de votre « <xliff:g id="DEVICE_NAME">%2$s</xliff:g> »?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Cette appli pourrait demander à accéder à votre position en tout temps, même si vous ne l\'utilisez pas. Accordez cette autorisation dans les "<annotation id="link">"paramètres"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Modifier l\'accès à la position pour « <xliff:g id="APP_NAME">%1$s</xliff:g> »?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Modifier l\'accès à la position pour « <xliff:g id="APP_NAME">%1$s</xliff:g> » sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Modifier l\'accès à la position pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Cette application veut accéder à votre position en tout temps, même lorsque vous ne l\'utilisez pas. Accordez cette autorisation dans les "<annotation id="link">"paramètres"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à trouver les appareils à proximité, à s\'y connecter et à déterminer leur position relative?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à détecter les appareils à prox., à s\'y connecter et à déterminer leur position relative sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à détecter les appareils à proximité, à s\'y connecter et à déterminer leur position relative sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à trouver les appareils à proximité, à s\'y connecter et à déterminer leur position relative? "<annotation id="link">"Accordez l\'autorisation dans les paramètres."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Modifier l\'accès à la position de l\'application <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> d\'approximative à exacte?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Modifier l\'accès à la position de « <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> » sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> » d\'approximative à précise?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Modifier l\'accès à la position de <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> d\'approximative à exacte?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position approximative de cet appareil?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à la position approximative de votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position approximative de <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exacte"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximative"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre agenda?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à votre agenda sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre agenda sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à envoyer et à afficher des messages texte?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à envoyer et à afficher des messages texte sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à envoyer et à afficher des messages texte sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos, au contenu multimédia et aux fichiers de votre appareil?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder au contenu multimédia, aux photos et aux fichiers sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos, aux contenus multimédias et aux fichiers sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder <b>aux photos, aux vidéos, et aux fichiers musicaux et audio</b> sur cet appareil?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder <b>aux photos, aux vidéos, et aux fichiers musicaux, audio et autres</b> sur cet appareil?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux fichiers musicaux et audio sur cet appareil?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux fichiers musicaux et audio sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux fichiers musicaux et audio sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et aux vidéos sur cet appareil?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux photos et vidéos sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et aux vidéos sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à plus de photos et de vidéos sur cet appareil?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à plus de photos et de vidéos sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à plus de photos et de vidéos sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer l\'audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à enregistrer de l\'audio sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer de l\'audio sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"L\'application pourra uniquement enregistrer de l\'audio lorsque vous l\'utilisez"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à enregistrer de l\'audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à enregistrer de l\'audio sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer de l\'audio sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Cette application pourrait demander à enregistrer de l\'audio en tout temps, même lorsque vous ne l\'utilisez pas. "<annotation id="link">"Autorisez dans les paramètres."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Modifier l\'accès au microphone pour « <xliff:g id="APP_NAME">%1$s</xliff:g> »?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Modifier l\'accès au microphone pour « <xliff:g id="APP_NAME">%1$s</xliff:g> » sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Modifier l\'accès au microphone pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Cette application veut enregistrer de l\'audio en tout temps, même si vous ne l\'utilisez pas. "<annotation id="link">"Autorisez dans les paramètres."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à vos activités physiques?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à votre activité physique sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre activité physique sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et à enregistrer des vidéos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à prendre des photos et à enregistrer des vidéos sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et à enregistrer des vidéos sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"L\'application pourra uniquement prendre des photos et enregistrer des vidéos lorsque vous l\'utilisez"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à prendre des photos et à enregistrer des vidéos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à prendre des photos et à enregistrer des vidéos sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et à enregistrer des vidéos sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Cette appli pourrait demander à prendre des photos et des vidéos en tout temps, même lorsque vous ne l\'utilisez pas. "<annotation id="link">"Autorisez dans les paramètres."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Modifier l\'accès à l\'appareil photo pour « <xliff:g id="APP_NAME">%1$s</xliff:g> »?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Modifier l\'accès à l\'appareil photo pour « <xliff:g id="APP_NAME">%1$s</xliff:g> » sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Modifier l\'accès à l\'appareil photo pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Cette application veut prendre des photos et enregistrer des vidéos en tout temps, même lorsque vous ne l\'utilisez pas. "<annotation id="link">"Autorisez dans les paramètres."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos journaux d\'appels?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à vos journaux d\'appels téléphoniques sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos journaux d\'appels téléphoniques sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à faire et à gérer des appels téléphoniques?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à passer et à gérer des appels téléphoniques sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à passer des appels et à les gérer sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs pour vos signes vitaux?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs relatives à vos signes vitaux sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs relatives à vos signes vitaux sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Cette application souhaite pouvoir accéder en tout temps aux données des capteurs relatives à vos signes vitaux, même lorsque vous ne l\'utilisez pas. Pour effectuer ce changement, "<annotation id="link">"accédez aux paramètres"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs relatives à vos signes vitaux?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs relatives à vos signes vitaux sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs relatives à vos signes vitaux sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Pour permettre à cette application d\'accéder aux données des capteurs corporels en tout temps, même lorsque vous n\'utilisez pas l\'application, "<annotation id="link">"accédez aux paramètres"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Voulez-vous continuer à autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs corporels pendant l\'utilisation de l\'appli?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Continuer à autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs corporels sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> » pendant l\'utilisation de l\'appli?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Continuer à autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs corporels sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> pendant l\'utilisation de l\'appli?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à vous envoyer des notifications?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à vous envoyer des notifications sur votre « <xliff:g id="DEVICE">%2$s</xliff:g> »?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à vous envoyer des notifications sur <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Autorisations contrôlées"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> dispose d\'un accès à la position"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Votre organisation permet à <xliff:g id="APP_NAME">%1$s</xliff:g> d\'accéder à votre position"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Aucun"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Dernières\n24 heures"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 derniers\njours"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> pour cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> est protégée par Android. Comme vos données sont traitées sur cet appareil, l\'utilisation de l\'autorisation de celle-ci ne s\'affiche pas sur la barre d\'état de votre tableau de bord de confidentialité."</string> <string name="exempt_info_label" msgid="6286190981253476699">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> est protégée par Android. Comme vos données sont traitées sur cet appareil, l\'utilisation de l\'autorisation de celle-ci ne s\'affiche pas sur votre tableau de bord de confidentialité."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"L\'appareil photo de l\'appareil est bloqué"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Pour les applications et les services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Il est possible que les données du microphone soient partagées lorsque vous appelez un numéro d\'urgence."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Modifier"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"L\'accès à la caméra est désactivé"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Pour les applis d\'infodivertissement"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pour les applis requises"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Cette appli est requise"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Cette appli est requise par le fabricant de votre voiture"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sécurité et confidentialité"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analyser l\'appareil"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Fermer"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Mises à jour des pratiques de partage des données"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Certaines applis ont modifié comment elles peuvent partager vos données de localisation"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Paramètres"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Dernier accès : <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Accès hier (<xliff:g id="TIME_DATE">%1$s</xliff:g>)"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Accès : <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Votre mot de passe à usage unique est le suivant : 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Paramètre restreint"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Pour protéger votre sécurité, ce paramètre n\'est pas accessible actuellement."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"L\'application n\'a pas obtenu l\'accès à <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"L\'application a demandé l\'accès à une autorisation sensible qui pose un risque pour vos renseignements personnels et financiers.<xliff:g id="ID_1"><br><br></xliff:g>Il est possible que l\'application ne fonctionne pas correctement sans cette autorisation limitée. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrir comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"L\'application n\'a pas obtenu l\'accès pour avoir le rôle<xliff:g id="ROLE_NAME">%1$s</xliff:g> par défaut"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"L\'application a demandé l\'accès à des autorisations sensibles qui posent un risque pour vos renseignements personnels et financiers.<xliff:g id="ID_1"><br><br></xliff:g>Il est possible que l\'application ne fonctionne pas correctement sans ces autorisations limitées. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrir comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"L\'application n\'a pas obtenu l\'accès"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"L\'accès à cette autorisation pose un risque pour vos renseignements personnels et financiers.<xliff:g id="ID_1"><br><br></xliff:g>Il est possible que l\'application ne fonctionne pas correctement sans cette autorisation limitée. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrir comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"En savoir plus"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Demande d\'autorisation supprimée"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Cette appli demande des autorisations supplémentaires, mais celles-ci ne peuvent pas être accordées lors d\'une session de diffusion en continu. Accordez d\'abord l\'autorisation de votre téléphone."</string> </resources> diff --git a/PermissionController/res/values-fr-v34/strings.xml b/PermissionController/res/values-fr-v34/strings.xml index f7f584b75..bfd957bcb 100644 --- a/PermissionController/res/values-fr-v34/strings.xml +++ b/PermissionController/res/values-fr-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gérer l\'accès de l\'appli aux données de santé"</string> <string name="location_settings" msgid="8863940440881290182">"Accès à la position"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Pour les applis et services. Si ce paramètre est désactivé, il est possible que les données du micro soient quand même partagées quand vous appelez un numéro d\'urgence"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Pour les applis et services"</string> </resources> diff --git a/PermissionController/res/values-fr-watch/strings.xml b/PermissionController/res/values-fr-watch/strings.xml index c9df92552..2ef84f46c 100644 --- a/PermissionController/res/values-fr-watch/strings.xml +++ b/PermissionController/res/values-fr-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Non modifiable"</string> <string name="generic_yes" msgid="2489207724988649846">"Oui"</string> <string name="generic_cancel" msgid="2631708607129269698">"Annuler"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Tout le temps"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Quand l\'appli est utilisée"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Tout le temps"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Quand l\'appli est utilisée"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Tout le temps"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Lorsque vous utilisez l\'appli"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Tout le temps"</string> </resources> diff --git a/PermissionController/res/values-fr/strings.xml b/PermissionController/res/values-fr/strings.xml index 97c3461e5..b576ced24 100644 --- a/PermissionController/res/values-fr/strings.xml +++ b/PermissionController/res/values-fr/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Toutes les autorisations"</string> <string name="other_permissions" msgid="2901186127193849594">"Autres fonctionnalités de l\'application"</string> <string name="permission_request_title" msgid="8790310151025020126">"Demande d\'autorisation"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Opérations d\'installation et de désinstallation impossibles sur Android Wear"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Sélectionner les éléments auxquels <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> peut accéder"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"L\'application <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> a été mise à jour. Sélectionnez les éléments auxquels elle peut accéder."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Annuler"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Toujours autoriser"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Toujours demander"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne pas autoriser"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Position exacte"</string> <string name="approximate_image_description" msgid="938803699637069884">"Position approximative"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utiliser la position exacte"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Position exacte"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Si la position exacte est désactivée, les applis ont accès à votre position approximative"</string> <string name="app_permission_title" msgid="2090897901051370711">"Autorisation d\'accès à \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> <string name="app_permission_header" msgid="2951363137032603806">"Accès à \"<xliff:g id="PERM">%1$s</xliff:g>\" pour cette appli"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Accès à <xliff:g id="PERM">%1$s</xliff:g> pour cette application sur <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Voir toutes les autorisations pour <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Voir toutes les applis ayant cette autorisation"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Afficher l\'utilisation du micro par l\'Assistant"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Supprimer les autorisations si l\'application n\'est pas utilisée"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Supprimer autorisations et libérer espace"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Suspendre activité appli si inutilisée"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gérer l\'appli si inutilisée"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Retirer les autorisations, supprimer les fichiers temporaires et arrêter les notifications"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Retirer les autorisations, supprimer les fichiers temporaires, arrêter les notifications et archiver l\'appli"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Si cette application n\'est pas utilisée pendant plusieurs mois, ses autorisations seront supprimées afin de protéger vos données."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Pour protéger vos données, si l\'application n\'est pas utilisée pendant plusieurs mois, les autorisations suivantes seront supprimées : <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Afin de protéger vos données, les autorisations ont été supprimées pour les applications que vous n\'avez pas utilisées depuis plusieurs mois."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Autorisées à gérer tous les fichiers"</string> <string name="ask_header" msgid="2633816846459944376">"Toujours demander"</string> <string name="denied_header" msgid="903209608358177654">"Non autorisé"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> sur <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Voir plus d\'applis pouvant accéder à tous les fichiers"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 jour}one{# jour}many{# jours}other{# jours}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# heure}one{# heure}many{# heures}other{# heures}}"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"en cas d\'urgence"</string> <string name="role_home_label" msgid="3871847846649769412">"Appli d\'accueil par défaut"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Appli d\'accueil"</string> - <string name="role_home_description" msgid="7997371519626556675">"Applis, souvent appelées lanceurs, qui remplacent l\'écran d\'accueil de votre appareil Android et vous donnent accès au contenu de l\'appareil et à ses fonctionnalités"</string> + <string name="role_home_description" msgid="7997371519626556675">"Applications, souvent appelées lanceurs d\'applications, qui remplacent l\'écran d\'accueil de votre appareil Android, et vous permettent d\'accéder au contenu de l\'appareil et à ses fonctionnalités"</string> <string name="role_home_request_title" msgid="738136983453341081">"Définir <xliff:g id="APP_NAME">%1$s</xliff:g> comme votre application d\'écran d\'accueil par défaut ?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Aucune autorisation nécessaire"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"lanceur d\'applications"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Appli de notes"</string> <string name="role_notes_description" msgid="8496852798616883551">"Applis vous permettant de prendre des notes sur votre appareil"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Appli portefeuille par défaut"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Appli portefeuille numérique"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Les applis de portefeuille numérique stockent vos cartes bancaires, cartes de fidélité, clés de voiture et bien d\'autres choses vous permettant d\'effectuer diverses transactions."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Définir <xliff:g id="APP_NAME">%1$s</xliff:g> comme appli de portefeuille numérique par défaut ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Aucune autorisation nécessaire"</string> <string name="request_role_current_default" msgid="738722892438247184">"Appli par défaut actuelle"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne plus me demander"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Définir par défaut"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Plus d\'applications par défaut"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Ouverture des liens"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Par défaut pour utilisation pro"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Paramètres par défaut d\'Espace privé"</string> <string name="default_app_none" msgid="9084592086808194457">"Aucune"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Application système par défaut)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Aucune application"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Afficher la détection de l\'activation de l\'assistant"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Afficher une icône dans la barre d\'état lorsque le micro est utilisé pour activer l\'assistance vocale"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et contenus multimédias sur votre appareil ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et contenus multimédias sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et médias sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos contacts ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos contacts sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> - <string name="permgrouprequest_location" msgid="6990232580121067883">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de cet appareil ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de votre <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos contacts sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_location" msgid="6990232580121067883">"Autoriser l\'appli <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de cet appareil ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"L\'application n\'a accès à la position de l\'appareil que lorsqu\'elle est ouverte"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de cet appareil ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de votre <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position de l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Cette appli peut vouloir accéder à votre position en permanence, même lorsque vous ne l\'utilisez pas. "<annotation id="link">"Autorisez-la à le faire dans les paramètres."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Changer l\'autorisation d\'accès à la position pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Modifier l\'accès à la position de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Modifier l\'accès à la position de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Cette appli souhaite accéder à votre position en permanence, même lorsque vous ne l\'utilisez pas. "<annotation id="link">"Autorisez-la à le faire dans les paramètres."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à détecter les appareils à proximité, s\'y connecter et déterminer leur position relative ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à détecter des appareils à proximité, s\'y connecter et déterminer leur position relative sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à détecter des appareils à proximité, s\'y connecter et déterminer leur position relative sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à détecter les appareils à proximité, s\'y connecter et déterminer leur position relative ? "<annotation id="link">"Autoriser dans les paramètres"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Donner à <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> l\'accès à la position exacte et non plus approximative ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Modifier l\'accès à la position de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> d\'approximative à précise ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Modifier l\'accès à la position de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> d\'approximative à précise ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position approximative de cet appareil ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position approximative de votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la position approximative de l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exacte"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approximative"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre agenda ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre agenda sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre agenda sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à envoyer et afficher des SMS ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à envoyer et afficher des SMS sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à envoyer et à consulter des SMS sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos, contenus multimédias et fichiers sur votre appareil ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos, contenus multimédias et fichiers sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos, médias et fichiers sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux <b>photos, vidéos, fichiers musicaux/audio</b> sur l\'appareil ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux <b>photos, vidéos, fichiers musicaux/audio, etc.</b> sur l\'appareil ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la musique et à l\'audio sur cet appareil ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la musique et à l\'audio sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à la musique et à l\'audio sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et vidéos sur cet appareil ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et vidéos sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux photos et vidéos sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à d\'autres photos et vidéos sur cet appareil ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à d\'autres photos et vidéos sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à plus de photos et vidéos sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer de l\'audio ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à réaliser des enregistrements audio sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer du contenu audio sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Cette application ne pourra réaliser des enregistrements audio que lorsque vous l\'utiliserez"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Permettre à <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> de réaliser des enregistrements audio ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à réaliser des enregistrements audio sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à enregistrer du contenu audio sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Cette application peut souhaiter réaliser des enregistrements audio à tout moment, même quand vous ne l\'utilisez pas. "<annotation id="link">"Autoriser dans les paramètres"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Changer l\'autorisation d\'accès au micro pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Modifier l\'accès au microphone de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Modifier l\'accès au micro de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Cette application souhaite réaliser des enregistrements audio à tout moment, même quand vous ne l\'utilisez pas. "<annotation id="link">"Autoriser dans les paramètres"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à accéder aux données relatives à votre activité physique ?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre activité physique sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à votre activité physique sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et enregistrer des vidéos ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et des vidéos sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et à enregistrer des vidéos sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Cette application ne pourra prendre des photos et enregistrer des vidéos que lorsque vous l\'utiliserez"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et enregistrer des vidéos ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et des vidéos sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à prendre des photos et à enregistrer des vidéos sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Cette application peut souhaiter prendre des photos et des vidéos à tout moment, même quand vous ne l\'utilisez pas. "<annotation id="link">"Autoriser dans les paramètres"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Changer l\'autorisation d\'accès à l\'appareil photo pour <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Modifier l\'accès à l\'appareil photo de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Modifier l\'accès à l\'appareil photo de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Cette application souhaite prendre des photos et des vidéos à tout moment, même quand vous ne l\'utilisez pas. "<annotation id="link">"Autoriser dans les paramètres"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux journaux d\'appels de votre téléphone ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos journaux d\'appels sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux journaux d\'appels de votre téléphone sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à passer et gérer des appels téléphoniques ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à passer et gérer des appels sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à passer et à gérer des appels téléphoniques sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs concernant vos signes vitaux ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos signes vitaux sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs sur vos signes vitaux sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Cette application veut accéder en permanence aux données des capteurs liées aux signes vitaux, même quand vous ne l\'utilisez pas. Pour autoriser ce changement, "<annotation id="link">"accédez aux paramètres."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs concernant vos signes vitaux ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder à vos signes vitaux sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs sur vos signes vitaux sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Pour autoriser cette appli à accéder aux données des capteurs corporels en permanence, même quand vous ne l\'utilisez pas, "<annotation id="link">"accédez aux paramètres"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Continuer à autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à accéder aux données des capteurs corporels seulement en cours d\'utilisation ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Continuer à autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs corporels en cours d\'utilisation sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Continuer à autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à accéder aux données des capteurs corporels sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> quand l\'appli est utilisée ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à vous envoyer des notifications ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à vous envoyer des notifications sur votre <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Autoriser <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> à vous envoyer des notifications sur l\'appareil <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Autorisations contrôlées"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> a accès à votre position"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Votre organisation autorise <xliff:g id="APP_NAME">%1$s</xliff:g> à accéder à votre position"</string> @@ -534,13 +544,14 @@ <string name="not_used_permissions_description" msgid="7595514824169388718">"Autorisations utilisées uniquement par les applications système."</string> <string name="additional_permissions_label" msgid="7693557637462569046">"Autorisations supplémentaires"</string> <string name="additional_permissions_description" msgid="2186611950890732112">"Autorisations définies par les applications."</string> - <string name="privdash_label_camera" msgid="1426440033626198096">"Caméra"</string> + <string name="privdash_label_camera" msgid="1426440033626198096">"Appareil photo"</string> <string name="privdash_label_microphone" msgid="8415035835803511693">"Micro"</string> <string name="privdash_label_location" msgid="6882400763866489291">"Position"</string> <string name="privdash_label_other" msgid="3710394147423236033">"Autre"</string> <string name="privdash_label_none" msgid="5991866260360484858">"Aucune"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Dernières\n24 heures"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 derniers\njours"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> : <xliff:g id="PERCENT">%2$d</xliff:g> pour cent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> est protégée par Android. Comme vos données sont traitées sur cet appareil, l\'utilisation des autorisations de cette appli n\'est pas affichée sur la barre d\'état, ni sur votre tableau de bord Confidentialité."</string> <string name="exempt_info_label" msgid="6286190981253476699">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> est protégée par Android. Comme vos données sont traitées sur cet appareil, l\'utilisation des autorisations de cette appli n\'est pas affichée sur votre tableau de bord Confidentialité."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"La caméra de l\'appareil est bloquée"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Pour les applis et services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Il est cependant possible que les données du micro soient partagées lorsque vous appelez un numéro d\'urgence."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Modifier"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"L\'accès à la caméra est désactivé"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Pour les applis d\'infoloisirs"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pour les applis requises"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Cette appli est requise"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Cette appli est requise par votre constructeur automobile"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sécurité et confidentialité"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analyser l\'appareil"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ignorer"</string> @@ -564,7 +580,7 @@ <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Vérifier l\'état"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Paramètres de confidentialité"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Autres paramètres"</string> - <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Accès à la caméra"</string> + <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Accès à l\'appareil photo"</string> <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"Accès au micro"</string> <string name="permissions_removed_qs" msgid="8957319130625294572">"Autorisation supprimée"</string> <string name="camera_usage_qs" msgid="4394233566086665994">"Voir l\'utilisation récente de l\'appareil photo"</string> @@ -606,7 +622,7 @@ <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"Accès modifié"</string> <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"Voir l\'utilisation récente de la localisation"</string> <string name="privacy_controls_title" msgid="7605929972256835199">"Paramètres de confidentialité"</string> - <string name="camera_toggle_title" msgid="1251201397431837666">"Accès à la caméra"</string> + <string name="camera_toggle_title" msgid="1251201397431837666">"Accès à l\'appareil photo"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"Accès au micro"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Pour les applis et services"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Pour les applis et services. Si ce paramètre est désactivé, il est possible que les données du micro soient quand même partagées quand vous appelez un numéro d\'urgence."</string> @@ -620,17 +636,17 @@ <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"Origine des informations sur le partage des données"</string> <string name="permission_rationale_data_sharing_device_manufacturer_message" msgid="7569261218145653185">"Le développeur a fourni des infos au fabricant de cet appareil concernant la manière dont cette appli partage les données. Le développeur peut mettre à jour ces infos au fil du temps."</string> <string name="permission_rationale_data_sharing_source_message" msgid="8330794595417986883">"Le développeur a fourni des infos sur "<annotation id="link"><annotation id="install_source" example="App Store">"%1$s"</annotation></annotation>" concernant la manière dont cette appli partage les données. Le développeur peut mettre à jour ces infos au fil du temps."</string> - <string name="permission_rationale_location_purpose_title" msgid="5115877143670012618">"L\'appli peut partager données de localisation pour :"</string> + <string name="permission_rationale_location_purpose_title" msgid="5115877143670012618">"L\'appli peut partager des données de localis. pour :"</string> <string name="permission_rationale_permission_data_sharing_varies_title" msgid="9103718980919908316">"Partage des données variable"</string> <string name="permission_rationale_data_sharing_varies_message" msgid="4224469559084489222">"La gestion des données peut varier selon la version de l\'appli, l\'utilisation que vous en faites, votre région et votre âge. "<annotation id="link">"En savoir plus sur le partage des données"</annotation></string> <string name="permission_rationale_data_sharing_varies_message_without_link" msgid="4912763761399025094">"La gestion des données peut varier selon la version de l\'appli, l\'utilisation que vous en faites, votre région et votre âge."</string> <string name="permission_rationale_location_settings_title" msgid="7204145004850190953">"Vos données de localisation"</string> <string name="permission_rationale_permission_settings_message" msgid="631286040979660267">"Modifiez l\'accès de cette appli dans les "<annotation id="link">"paramètres de confidentialité"</annotation></string> - <string name="permission_rationale_purpose_app_functionality" msgid="8397736681065841405">"Fonctionnement de l\'appli"</string> - <string name="permission_rationale_purpose_analytics" msgid="2070800501189620712">"Données analytiques"</string> + <string name="permission_rationale_purpose_app_functionality" msgid="8397736681065841405">"le fonctionnement de l\'appli ;"</string> + <string name="permission_rationale_purpose_analytics" msgid="2070800501189620712">"les données analytiques ;"</string> <string name="permission_rationale_purpose_developer_communications" msgid="6453047018892062374">"Communications du développeur"</string> - <string name="permission_rationale_purpose_advertising" msgid="7156966429245180236">"Publicité ou marketing"</string> - <string name="permission_rationale_purpose_fraud_prevention_security" msgid="4262104770357031902">"Prévention des fraudes, sécurité et conformité"</string> + <string name="permission_rationale_purpose_advertising" msgid="7156966429245180236">"la publicité ou marketing ;"</string> + <string name="permission_rationale_purpose_fraud_prevention_security" msgid="4262104770357031902">"la prévention des fraudes, la sécurité et la conformité."</string> <string name="permission_rationale_purpose_personalization" msgid="1589973273682238708">"Personnalisation"</string> <string name="permission_rationale_purpose_account_management" msgid="2985772421946688879">"Gestion du compte"</string> <string name="app_permission_rationale_message" msgid="8511466916077100713">"Sécurité des données"</string> @@ -639,7 +655,7 @@ <string name="data_sharing_updates_title" msgid="7996933386875213859">"Mises à jour du partage des données pour la localisation"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Consulter les applis qui ont modifié la manière dont elles peuvent partager vos données de localisation"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Ces applis ont modifié la manière dont elles peuvent partager vos données de localisation. Elles ne les partageaient peut-être pas auparavant ou peuvent désormais les partager à des fins de publicité ou de marketing."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Les développeurs de ces applis ont fourni des infos concernant leurs pratiques de partage des données avec une plate-forme de téléchargement d\'applications. Ils peuvent mettre à jour ces infos au fil du temps.\n\nCes pratiques de partage des données peuvent varier selon la version de l\'appli, l\'utilisation que vous en faites, votre région et votre âge."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Les développeurs de ces applis ont fourni des infos concernant leurs pratiques de partage des données avec une plate-forme de téléchargement d\'applications. Ils peuvent mettre à jour ces infos à l\'avenir.\n\nCes pratiques de partage des données peuvent varier selon la version de l\'appli, l\'utilisation que vous en faites, votre région et votre âge."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"En savoir plus sur le partage des données"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Vos données de localisation sont désormais partagées avec des tiers"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Vos données de localisation sont désormais partagées avec des tiers à des fins de publicité ou de marketing"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Modifications du partage des données"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Certaines applis ont modifié la façon dont elles peuvent partager vos données de localisation"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Paramètres"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Dernière consultation : <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Dernière consultation : hier, à <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Dernière consultation : <xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Votre mot de passe à usage unique est le suivant : 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Paramètre restreint"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Pour votre sécurité, ce paramètre est actuellement indisponible."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"L\'appli s\'est vu refuser l\'accès à <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Cette appli a demandé l\'accès à une autorisation sensible susceptible d\'exposer vos informations financières et personnelles à un risque.<xliff:g id="ID_1"><br><br></xliff:g>Si elle ne dispose pas d\'un accès à cette autorisation restreinte, l\'appli peut ne pas fonctionner correctement. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrez comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"L\'appli s\'est vu refuser l\'accès au statut de <xliff:g id="ROLE_NAME">%1$s</xliff:g> par défaut"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Cette appli a demandé l\'accès à des autorisations sensibles susceptibles d\'exposer vos informations financières et personnelles à un risque.<xliff:g id="ID_1"><br><br></xliff:g>Si elle ne dispose pas d\'un accès à ces autorisations restreintes, l\'appli peut ne pas fonctionner correctement. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrez comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"L\'appli s\'est vu refuser l\'accès"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"L\'accès à cette autorisation peut exposer vos informations financières et personnelles à un risque.<xliff:g id="ID_1"><br><br></xliff:g>Si elle ne dispose pas d\'un accès à cette autorisation restreinte, l\'appli peut ne pas fonctionner correctement. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Découvrez comment autoriser l\'accès</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"En savoir plus"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Demande d\'autorisation supprimée"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Cette appli demande des autorisations supplémentaires, mais il est impossible d\'accorder des autorisations lors d\'une session de streaming. Accordez tout d\'abord l\'autorisation sur votre téléphone."</string> </resources> diff --git a/PermissionController/res/values-gl-v34/strings.xml b/PermissionController/res/values-gl-v34/strings.xml index cabf7a43a..745a9a615 100644 --- a/PermissionController/res/values-gl-v34/strings.xml +++ b/PermissionController/res/values-gl-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Xestiona o acceso das aplicacións aos datos de saúde"</string> <string name="location_settings" msgid="8863940440881290182">"Acceso á localización"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para aplicacións e servizos. Aínda que esta opción de configuración se atope desactivada, poderán compartirse datos do micrófono se chamas a un número de emerxencias"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para aplicacións e servizos"</string> </resources> diff --git a/PermissionController/res/values-gl-watch/strings.xml b/PermissionController/res/values-gl-watch/strings.xml index ddb8916bb..060385455 100644 --- a/PermissionController/res/values-gl-watch/strings.xml +++ b/PermissionController/res/values-gl-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Cambio imposible"</string> <string name="generic_yes" msgid="2489207724988649846">"Si"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Todo o tempo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Coa aplicación en uso"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Todo o tempo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Coa aplicación en uso"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Todo o tempo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Coa aplicación en uso"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Todo o tempo"</string> </resources> diff --git a/PermissionController/res/values-gl/strings.xml b/PermissionController/res/values-gl/strings.xml index 5c5a61baf..1d3214c45 100644 --- a/PermissionController/res/values-gl/strings.xml +++ b/PermissionController/res/values-gl/strings.xml @@ -32,7 +32,7 @@ <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"Manter mentres se estea utilizando a aplicación"</string> <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"Manter Só esta vez"</string> <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Máis datos"</string> - <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir todos"</string> + <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir acceso a todo"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Permitir todos sempre"</string> <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permitir acceso limitado"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"Seleccionar fotos e vídeos"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todos os permisos"</string> <string name="other_permissions" msgid="2901186127193849594">"Outras funcionalidades da aplicación"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitude de permiso"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"As accións de instalar e desinstalar non son compatibles con Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Seleccionar os permisos de acceso que queres dar á aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Actualizouse a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Selecciona os permisos de acceso que lle queres dar."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permitir todo sempre"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Preguntar sempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Non permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Localización precisa"</string> <string name="approximate_image_description" msgid="938803699637069884">"Localización aproximada"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar localización precisa"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Cando a localización precisa está desactivada, as aplicacións poden acceder á túa localización aproximada"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permiso de <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Permiso de acceso desta aplicación a: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Esta aplicación ten o seguinte permiso de acceso en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todos os permisos de <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ver todas as aplicacións que teñen este permiso"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar uso do micrófono do Asistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Quitar permisos se non se usa a aplicación"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Quitar permisos e liberar espazo"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pór en pausa actividade de apps sen uso"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Xestionar aplicación se non se usa"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Quita permisos, elimina ficheiros temporais e detén as notificacións"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Quita permisos, elimina os ficheiros temporais, detén as notificacións e arquiva a aplicación"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para protexer os teus datos, quitaranse os permisos desta aplicación se pasas varios meses sen utilizala."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para protexer os teus datos, se a aplicación leva varios meses sen usarse, quitaranse os seguintes permisos: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para protexer os teus datos, quitáronse os permisos das aplicacións que levas varios meses sen usar."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Permiso para xestionar todos os ficheiros"</string> <string name="ask_header" msgid="2633816846459944376">"Preguntar sempre"</string> <string name="denied_header" msgid="903209608358177654">"Permiso non concedido"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> en <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ver máis aplicacións con acceso a todos os ficheiros"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 día}other{# días}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}other{# horas}}"</string> @@ -386,7 +390,7 @@ <string name="role_call_redirection_description" msgid="6091669882014664420">"Aplicacións que che permiten reenviar chamadas saíntes a outro número de teléfono."</string> <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Queres definir <xliff:g id="APP_NAME">%1$s</xliff:g> como a túa aplicación predeterminada de desvío de chamadas?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Non se necesita ningún permiso"</string> - <string name="role_call_screening_label" msgid="883935222060878724">"App de filtro de chamadas e spam predefinida"</string> + <string name="role_call_screening_label" msgid="883935222060878724">"Identificación de chamadas e spam"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"App ident. de chamadas e spam"</string> <string name="role_call_screening_description" msgid="2349431420497468981">"Aplicacións que che permiten identificar as chamadas e bloquear o spam, as chamadas automatizadas ou os números non desexados."</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Queres definir <xliff:g id="APP_NAME">%1$s</xliff:g> como a túa aplicación predeterminada de identificación de chamadas e spam?"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplicación de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplicacións que che permiten tomar notas no dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"App de carteira predeterminada"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplicación de carteira"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"As aplicacións de carteira poden almacenar as túas tarxetas de crédito e de fidelidade, as chaves do coche e outros obxectos para axudar en distintos tipos de transaccións."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Queres establecer <xliff:g id="APP_NAME">%1$s</xliff:g> como aplicación de carteira predeterminada?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Non se necesita ningún permiso"</string> <string name="request_role_current_default" msgid="738722892438247184">"App predeterminada actual"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Non preguntar de novo"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"App predeterminada"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Máis predeterminadas"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Apertura de ligazóns"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predeterminadas para o traballo"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Aplicacións predeterminadas do espazo privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Ningunha"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Opción predeterminada do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Non hai ningunha aplicación"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostrar detección do activador do asistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostra unha icona na barra de estado cando se utiliza o micrófono para activar o asistente de voz"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos, ao contido multimedia e aos ficheiros do teu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos e ao contido multimedia no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos e ao contido multimedia no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos teus contactos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos teus contactos no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos teus contactos no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localizacion do dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización do dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"A aplicación só terá acceso á localización mentres a esteas utilizando"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización deste dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización do dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización do dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Esta aplicación pode querer acceder á túa localización todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á localización?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á localización no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Queres cambiar o acceso de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á localización no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Esta aplicación quere acceder á túa localización todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> atope dispositivos próximos, se conecte a eles e determine a súa posición relativa?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Permites que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque, conecte e fixe a posición relativa dos disp. próximos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> busque dispositivos próximos, se conecte a eles e determine a súa posición relativa no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> atope dispositivos próximos, se conecte a eles e determine a súa posición relativa? "<annotation id="link">"Permitir na configuración"</annotation>"."</string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Queres que o acceso de <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> á localización cambie de aproximada a precisa?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Queres cambiar o acceso á localización da aplicación <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de aproximada a exacta?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Queres cambiar o acceso á localización da aplicación <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de Aproximada a Precisa?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización aproximada deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización aproximada do dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á localización aproximada do dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precisa"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ao teu calendario?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ao teu calendario no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ao teu calendario no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe e vexa mensaxes SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe e vexa mensaxes SMS no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envíe e lea mensaxes SMS no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a fotos, contido multimedia e ficheiros no teu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos, ao contido multimedia e aos ficheiros no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos, ao contido multimedia e aos ficheiros no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás <b>fotos, vídeos, música e audio</b> deste dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás <b>fotos, vídeos, música, audio e outros ficheiros</b> do dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á música e aos ficheiros de audio deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á música e aos ficheiros de audio no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á música e aos ficheiros de audio no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos e aos vídeos deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos e aos vídeos no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda ás fotos e vídeos no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a máis fotos e vídeos deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a máis fotos e vídeos no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda a máis fotos e vídeos no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Esta aplicación só poderá gravar audio cando a esteas utilizando"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave audio no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Pode que esta aplicación queira gravar audio todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ao micrófono?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ao micrófono no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Queres cambiar o acceso de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ao micrófono no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Esta aplicación quere gravar audio todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á túa actividade física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á tua actividade física no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda á túa actividade física no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> realice fotos e grave vídeos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Esta aplicación só poderá sacar fotos e gravar vídeos cando a esteas utilizando"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> saque fotos e grave vídeos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Pode que esta aplicación queira sacar fotos e gravar vídeos todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á cámara?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Queres cambiar o acceso da aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á cámara no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Queres cambiar o acceso de <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> á cámara no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Esta aplicación quere sacar fotos e gravar vídeos todo o tempo, incluso cando non a esteas utilizando. "<annotation id="link">"Permitir en Configuración."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos rexistros de chamadas do teléfono?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos rexistros de chamadas telefónicas no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos rexistros de chamadas telefónicas no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> realice e xestione chamadas telefónicas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> realice e xestione chamadas no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faga e xestione chamadas telefónicas no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre as túas constantes vitais?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre as constantes vitais no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre as túas constantes vitais no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Esta aplicación require acceso aos datos dos sensores sobre as túas constantes vitais en todo momento, mesmo cando non a usas. Para facer este cambio, "<annotation id="link">"vai á configuración."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre as túas constantes vitais?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre as constantes vitais no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores sobre túas constantes vitais no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que esta aplicación acceda aos datos dos sensores corporais en todo momento, aínda que non a esteas utilizando, "<annotation id="link">"vai á configuración"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Permites que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siga accedendo aos datos dos sensores corporais mentres estea en uso?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Permites que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores corporais no <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mentres estea en uso?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Queres seguir permitindo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acceda aos datos dos sensores corporais no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> mentres se estea usando a aplicación?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> che envíe notificacións?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Queres permitir que a aplicación <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> che envíe notificacións no dispositivo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Queres permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> che envíe notificacións no dispositivo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permisos controlados"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ten acceso á localización"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"A túa organización permite que <xliff:g id="APP_NAME">%1$s</xliff:g> acceda á túa localización"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ningún"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Últimos\n7 días"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>, <xliff:g id="PERCENT">%2$d</xliff:g> por cento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"A aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> está protexida por Android. Dado que os teus datos se procesan neste dispositivo, o uso de permisos por parte desta aplicación non se mostra na barra de estado nin no teu panel de privacidade."</string> <string name="exempt_info_label" msgid="6286190981253476699">"A aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> está protexida por Android. Dado que os teus datos se procesan neste dispositivo, o uso de permisos por parte desta aplicación non se mostra no teu panel de privacidade."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"A cámara do dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para aplicacións e servizos"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Con todo, é posible que se compartan os datos do micrófono cando chames a un número de emerxencias."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Cambiar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"O acceso á cámara está desactivado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para as aplicacións de información e entretemento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para as aplicacións requiridas"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Esta é unha aplicación requirida"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Esta é unha aplicación requirida polo fabricante do teu vehículo"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Seguranza e privacidade"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analizar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Pechar"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Actualizacións de uso compartido de datos"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Algunhas aplicacións cambiaron a forma en que poden compartir os teus datos de localización"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Configuración"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Último acceso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Último acceso: onte, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Último acceso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"O teu contrasinal dun só uso é 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Opción de configuración restrinxida"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Pola túa seguranza, esta opción de configuración non está dispoñible nestes momentos."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Denegóuselle á aplicación o acceso ao permiso: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"A aplicación solicitou acceso a un permiso confidencial que pode poñer en perigo a túa información persoal e financeira.<xliff:g id="ID_1"><br><br></xliff:g>É posible que a aplicación non funcione correctamente sen este permiso restrinxido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Máis información sobre como permitir o acceso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Denegóuselle á aplicación o acceso para actuar como <xliff:g id="ROLE_NAME">%1$s</xliff:g> de forma predeterminada"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"A aplicación solicitou acceso a permisos confidenciais que poden poñer en perigo a túa información persoal e financeira.<xliff:g id="ID_1"><br><br></xliff:g>É posible que a aplicación non funcione correctamente sen estes permisos restrinxidos. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Máis información sobre como permitir o acceso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Denegóuselle á aplicación o acceso"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"O acceso a este permiso pode poñer en perigo a túa información persoal e financeira.<xliff:g id="ID_1"><br><br></xliff:g>É posible que a aplicación non funcione correctamente sen este permiso restrinxido. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Máis información sobre como permitir o acceso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Máis información"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Aceptar"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Eliminouse a solicitude de permiso"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esta aplicación solicita permisos adicionais, pero non se poden conceder nunha sesión de reprodución en tempo real. Primeiro tes que dar o permiso no teu teléfono."</string> </resources> diff --git a/PermissionController/res/values-gu-v34/strings.xml b/PermissionController/res/values-gu-v34/strings.xml index ba8a5deb0..cce1bac6a 100644 --- a/PermissionController/res/values-gu-v34/strings.xml +++ b/PermissionController/res/values-gu-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ઍપનો આરોગ્ય સંબંધિત ડેટાનો ઍક્સેસ મેનેજ કરો"</string> <string name="location_settings" msgid="8863940440881290182">"લોકેશન ઍક્સેસ"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ઍપ અને સેવાઓ માટે. આ સેટિંગ બંધ હોવા છતાં પણ, જ્યારે તમે ઇમર્જન્સી નંબર પર કૉલ કરો ત્યારે હજુ પણ માઇક્રોફોનનો ડેટા શેર કરવામાં આવી શકે"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ઍપ અને સેવાઓ માટે"</string> </resources> diff --git a/PermissionController/res/values-gu-watch/strings.xml b/PermissionController/res/values-gu-watch/strings.xml index 66f9cd41b..12db58045 100644 --- a/PermissionController/res/values-gu-watch/strings.xml +++ b/PermissionController/res/values-gu-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"બદલી શકતાં નથી"</string> <string name="generic_yes" msgid="2489207724988649846">"હા"</string> <string name="generic_cancel" msgid="2631708607129269698">"રદ કરો"</string> + <string name="permission_access_always" msgid="2107115233573823032">"હંમેશાં"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ઍપનો ઉપયોગ કરતા હો ત્યારે"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"હંમેશાં"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ઍપનો ઉપયોગ કરતા હો ત્યારે"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"હંમેશાં"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ઍપનો ઉપયોગ કરતા હો ત્યારે"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"હંમેશાં"</string> </resources> diff --git a/PermissionController/res/values-gu/strings.xml b/PermissionController/res/values-gu/strings.xml index bd5988260..ab0adbecc 100644 --- a/PermissionController/res/values-gu/strings.xml +++ b/PermissionController/res/values-gu/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"બધી પરવાનગીઓ"</string> <string name="other_permissions" msgid="2901186127193849594">"અન્ય ઍપ સુવિધાઓ"</string> <string name="permission_request_title" msgid="8790310151025020126">"પરવાનગીની વિનંતી"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear પર ઇન્સ્ટૉલ/અનઇન્સ્ટૉલ ક્રિયાઓ સમર્થિત નથી."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને શેના ઍક્સેસ માટેની મંજૂરી આપવી તે પસંદ કરો"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> અપડેટ કરવામાં આવી છે. આ ઍપને શેના ઍક્સેસ માટેની મંજૂરી આપવી તે પસંદ કરો."</string> <string name="review_button_cancel" msgid="2191147944056548886">"રદ કરો"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"હંમેશાં માટે બધાને મંજૂરી આપો"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"દર વખતે પૂછો"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"મંજૂરી આપશો નહીં"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ચોક્કસ સ્થાન"</string> <string name="approximate_image_description" msgid="938803699637069884">"અંદાજિત સ્થાન"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ચોક્કસ લોકેશનનો ઉપયોગ કરો"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"જ્યારે ચોક્કસ લોકેશન બંધ હોય, ત્યારે ઍપ તમારા અંદાજિત લોકેશનને ઍક્સેસ કરી શકે છે"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>ની પરવાનગી"</string> <string name="app_permission_header" msgid="2951363137032603806">"આ ઍપ માટે <xliff:g id="PERM">%1$s</xliff:g>નો ઍક્સેસ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> પર આ ઍપ માટે <xliff:g id="PERM">%1$s</xliff:g>નો ઍક્સેસ"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g>ની બધી પરવાનગીઓ જુઓ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"આ પરવાનગી સાથે બધી ઍપ જુઓ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"આસિસ્ટંટ દ્વારા વપરાયેલો માઇક્રોફોનની પરવાનગીનો ડેટા બતાવો"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ઍપ ઉપયોગમાં ન હોવા પર પરવાનગીઓ કાઢી નાખો"</string> <string name="unused_apps_label" msgid="2595428768404901064">"પરવાનગીઓ કાઢી નાખો અને જગ્યા ખાલી કરો"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"જો ઉપયોગ કરતા ન હો, તો ઍપ પ્રવૃત્તિ થોભાવો"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"જો ઍપ વાપરતા ન હો, તો તેને મેનેજ કરો"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"પરવાનગીઓ કાઢી નાખો, હંગામી ફાઇલો ડિલીટ કરો અને નોટિફિકેશન બંધ કરો"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"પરવાનગીઓ કાઢી નાખો, હંગામી ફાઇલો ડિલીટ કરો, નોટિફિકેશન બંધ કરો અને ઍપને આર્કાઇવ કરો"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"તમારા ડેટાની સુરક્ષા કરવા માટે, જો ઍપનો કેટલાક મહિનાથી ઉપયોગ કરવામાં આવ્યો ન હોય, તો આ ઍપની પરવાનગીઓ કાઢી નાખવામાં આવશે."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"તમારા ડેટાની સુરક્ષા કરવા માટે, જો ઍપનો કેટલાક મહિનાથી ઉપયોગ કરવામાં આવ્યો ન હોય, તો નીચેની પરવાનગીઓ કાઢી નાખવામાં આવશે: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"તમારા ડેટાની સુરક્ષા માટે, તમારા દ્વારા કેટલાક મહિનાથી ઉપયોગમાં ન લેવાયેલી ઍપની પરવાનગીઓ કાઢી નાખવામાં આવી છે."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"બધી ફાઇલો મેનેજ કરવાની મંજૂરી છે"</string> <string name="ask_header" msgid="2633816846459944376">"દર વખતે પૂછો"</string> <string name="denied_header" msgid="903209608358177654">"મંજૂરી નથી"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> પર <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"બધી ફાઇલોને ઍક્સેસ કરી શકે તેવી વધુ ઍપ જુઓ"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 દિવસ}one{# દિવસ}other{# દિવસ}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# કલાક}one{# કલાક}other{# કલાક}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"નોંધ માટેની ઍપ"</string> <string name="role_notes_description" msgid="8496852798616883551">"ઍપ કે જે તમને તમારા ડિવાઇસ પર નોંધ કરવાની મંજૂરી આપે છે"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"નોંધ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ડિફૉલ્ટ વૉલેટ ઍપ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet ઍપ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"વૉલેટ સંબંધી ઍપ તમારા ક્રેડિટ અને લૉયલ્ટિ કાર્ડ, કાર કી તેમજ વિવિધ વ્યવહારોમાં સહાય કરી શકતી અન્ય બાબતો સ્ટોર કરી શકે છે."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"શું <xliff:g id="APP_NAME">%1$s</xliff:g>ને તમારી ડિફૉલ્ટ વૉલેટ ઍપ તરીકે સેટ કરીએ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"કોઈ પરવાનગી જરૂરી નથી"</string> <string name="request_role_current_default" msgid="738722892438247184">"હાલની ડિફૉલ્ટ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ફરીથી પૂછશો નહીં"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ડિફૉલ્ટ તરીકે સેટ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"વધુ ડિફૉલ્ટ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"લિંક ખોલવી"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"કાર્ય માટે ડિફૉલ્ટ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ખાનગી સ્પેસ માટે ડિફૉલ્ટ"</string> <string name="default_app_none" msgid="9084592086808194457">"કોઈ નહીં"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(સિસ્ટમ ડિફૉલ્ટ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"કોઈ ઍપ નથી"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"આસિસ્ટંટ ટ્રિગરની ઓળખ બતાવો"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"જ્યારે માઇક્રોફોનનો ઉપયોગ કરીને વૉઇસ આસિસ્ટંટ સક્રિય કરવામાં આવે, ત્યારે માઇક્રોફોનનું આઇકન સ્ટેટસ બારમાં બતાવો"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા ડિવાઇસ પર ફોટા અને મીડિયાને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોટા અને મીડિયા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોટા અને મીડિયા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા સંપર્કોને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારા સંપર્કો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારા સંપર્કો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસના સ્થાનને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>નું</b> લોકેશન ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>નું લોકેશન ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"જ્યારે તમે ઍપનો ઉપયોગ કરી રહ્યા હશો માત્ર ત્યારે જ ઍપ સ્થાનને ઍક્સેસ કરી શકશે"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસના સ્થાનને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>નું લોકેશન ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>નું લોકેશન ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ તે હંમેશાં તમારા સ્થાનને ઍક્સેસ કરી શકે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે સ્થાનનો ઍક્સેસ બદલીએ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે લોકેશન ઍક્સેસ બદલીએ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે લોકેશનનો ઍક્સેસ બદલીએ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ તે હંમેશાં તમારા સ્થાનને ઍક્સેસ કરવા માગે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને નજીકના ડિવાઇસને શોધવાની, તેને કનેક્ટ કરવાની તેમજ સંબંધિત અંતર નક્કી કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર નજીકના ડિવાઇસ શોધવાની, કનેક્ટ કરવાની ને સંબંધિત અંતર નક્કી કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર નજીકના ડિવાઇસ શોધવાની, કનેક્ટ કરવાની અને તેનું સંબંધિત સ્થાન નક્કી કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને નજીકના ડિવાઇસને શોધવાની, તેને કનેક્ટ કરવાની તેમજ સંબંધિત અંતર નક્કી કરવાની મંજૂરી આપીએ? "<annotation id="link">"સેટિંગમાં મંજૂરી આપો."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>નો સ્થાનનો ઍક્સેસ અંદાજિતમાંથી બદલીને ચોક્કસ કરીએ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"શું <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>નો તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પરનો લોકેશનનો ઍક્સેસ અંદાજિતમાંથી બદલીને ચોક્કસ કરીએ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>નો <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પરનો લોકેશનનો ઍક્સેસ અંદાજિતમાંથી બદલીને ચોક્કસ કરીએ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસના અંદાજીત સ્થાનને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ના અંદાજિત લોકેશનને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>નું અંદાજિત લોકેશન ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ચોક્કસ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"અંદાજિત"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા કૅલેન્ડરને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારા કૅલેન્ડરને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારું કૅલેન્ડર ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને SMS મેસેજ મોકલવા અને જોવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર SMS મેસેજ મોકલવાની અને જોવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર SMS મેસેજ મોકલવાની અને જોવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા ડિવાઇસ પરના ફોટા, મીડિયા અને ફાઇલોને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોટા, મીડિયા અને ફાઇલો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોટા, મીડિયા અને ફાઇલો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસ પરના </b>ફોટા, વીડિયો, મ્યુઝિક અને ઑડિયો</b>ના ઍક્સેસની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસ પર <b>ફોટા, વીડિયો, મ્યુઝિક, ઑડિયો અને અન્ય ફાઇલો<b>ના ઍક્સેસની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસ પરની મ્યુઝિક અને ઑડિયો ફાઇલો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર મ્યુઝિક અને ઑડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર મ્યુઝિક અને ઑડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસ પરના ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને આ ડિવાઇસ પરના વધુ ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર વધુ ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર વધુ ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને ઑડિયો રેકૉર્ડ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ઑડિયો રેકૉર્ડ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ઑડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"જ્યારે તમે ઍપનો ઉપયોગ કરી રહ્યા હશો, માત્ર ત્યારે જ ઍપ ઑડિયો રેકોર્ડ કરી શકશે"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને ઑડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ઑડિયો રેકૉર્ડ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ઑડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ ઍપ હંમેશાં ઑડિયો રેકોર્ડ કરવાનું ઇચ્છી શકે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે માઇક્રોફોનનો ઍક્સેસ બદલીએ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે માઇક્રોફોન ઍક્સેસ બદલીએ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે માઇક્રોફોન ઍક્સેસ બદલીએ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ ઍપ હંમેશાં ઑડિયો રેકોર્ડ કરવા માગે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારી શારીરિક પ્રવૃત્તિને ઍક્સેસ કરવાની મંજૂરી આપવી છે?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારી શારીરિક પ્રવૃત્તિ ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારી શારીરિક ઍક્ટિવિટી ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને ફોટા પાડવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોટા લેવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોટા લેવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"જ્યારે તમે ઍપનો ઉપયોગ કરી રહ્યા હશો, માત્ર ત્યારે જ ઍપ ફોટા લઈ શકશે અને વીડિયો રેકોર્ડ કરી શકશે"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને ફોટા લેવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોટા લેવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોટા લેવાની અને વીડિયો રેકોર્ડ કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ ઍપ હંમેશાં ફોટા લેવા અને વીડિયો રેકોર્ડ કરવાનું ઇચ્છી શકે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે કૅમેરાનો ઍક્સેસ બદલીએ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"શું તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે કૅમેરાનો ઍક્સેસ બદલીએ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> માટે કૅમેરાનો ઍક્સેસ બદલીએ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"તમે આ ઍપનો ઉપયોગ કરી રહ્યાં ન હો, તો પણ ઍપ હંમેશાં ફોટા લેવા અને વીડિયો રેકોર્ડ કરવા માગે છે. "<annotation id="link">"સેટિંગમાંથી મંજૂરી આપો."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા ફોનના કૉલ લૉગ ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારા ફોનના કૉલ લૉગ ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારા ફોન કૉલ લૉગ ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને ફોન કૉલ કરવાની અને તેને મેનેજ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર ફોન કૉલ કરવાની અને તેને મેનેજ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર ફોન કૉલ કરવાની અને તેને મેનેજ કરવાની મંજૂરી આપીએ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા જીવિત હોવાના મહત્ત્વપૂર્ણ સંકેતો વિશેના સેન્સર ડેટાને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારા જીવિત હોવાના મહત્ત્વપૂર્ણ સંકેતો વિશેનો સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારા આરોગ્ય વિશેની મહત્ત્વપૂર્ણ માહિતી આપતા સંકેતો વિશેનો સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"આ ઍપ તમારા આરોગ્ય વિશે મહત્ત્વપૂર્ણ સંકેતો આપતો સેન્સરનો ડેટા હંમેશાં ઍક્સેસ કરવા માગે છે, તમે ઍપ ન વાપરતા હો ત્યારે પણ. આમાં ફેરફાર કરવા માટે, "<annotation id="link">"સેટિંગ પર જાઓ."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા જીવિત હોવાના મહત્ત્વપૂર્ણ સંકેતો વિશેનો સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર તમારા જીવિત હોવાના મહત્ત્વપૂર્ણ સંકેતો વિશેનો સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમારા આરોગ્ય વિશેની મહત્ત્વપૂર્ણ માહિતી આપતા સંકેતો વિશેનો સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"જ્યારે તમે ઍપનો ઉપયોગ કરી રહ્યાં ન હો, ત્યારે પણ આ ઍપને બૉડી સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપવા માટે, "<annotation id="link">"સેટિંગ પર જાઓ."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ઍપ ઉપયોગમાં હોય ત્યારે <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને બૉડી સેન્સર ડેટા ઍક્સેસ કરવાની મંજૂરી આપવાનું ચાલુ રાખીએ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ઍપના ઉપયોગ વખતે, <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા <b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર બૉડી સેન્સર ડેટા ઍક્સેસ કરવાની મંજૂરી ચાલુ રાખીએ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"ઍપ ઉપયોગમાં હોય ત્યારે <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર બૉડી સેન્સરનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપવાનું ચાલુ રાખીએ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમને નોટિફિકેશન મોકલવાની મંજૂરી આપીએ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"શું <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને તમારા ;b><xliff:g id="DEVICE">%2$s</xliff:g></b> પર નોટિફિકેશન મોકલવાની મંજૂરી આપીએ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ને <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> પર તમને નોટિફિકેશન મોકલવાની મંજૂરી આપીએ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"નિયંત્રિત પરવાનગીઓ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> પાસે લોકેશન ઍક્સેસ છે"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"તમારી સંસ્થા <xliff:g id="APP_NAME">%1$s</xliff:g>ને તમારું લોકેશન ઍક્સેસ કરવાની મંજૂરી આપે છે"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"એકપણ નહીં"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"છેલ્લા\n24 કલાક"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"છેલ્લા\n7 દિવસ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ટકા"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>ને Android વડે સુરક્ષિત કરવામાં આવી છે. આ ડિવાઇસમાં તમારા ડેટા પર પ્રક્રિયા કરવામાં આવતી હોવાથી, આ ઍપની પરવાનગીના વપરાશની માહિતી સ્ટેટસ બાર અથવા તમારા પ્રાઇવસી ડૅશબોર્ડ પર બતાવવામાં આવતી નથી."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>ને Android વડે સુરક્ષિત કરવામાં આવી છે. આ ડિવાઇસમાં તમારા ડેટા પર પ્રક્રિયા કરવામાં આવતી હોવાથી, આ ઍપની પરવાનગીના વપરાશની માહિતી તમારા પ્રાઇવસી ડૅશબોર્ડ પર બતાવવામાં આવતી નથી."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ડિવાઇસનો કૅમેરા બ્લૉક કરેલો છે"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ઍપ અને સેવાઓ માટે"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"જ્યારે તમે ઇમર્જન્સી નંબર પર કૉલ કરો ત્યારે કદાચ માઇક્રોફોનનો ડેટા હજી પણ શેર કરવામાં આવી શકે છે."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"બદલો"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"કૅમેરાનો ઍક્સેસ બંધ છે"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ઇન્ફોટેનમેન્ટ ઍપ માટે"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"જરૂરી ઍપ માટે"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"આ ઍપ જરૂરી છે"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"આ ઍપ તમારી કારના નિર્માતા માટે જરૂરી છે"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"સુરક્ષા અને પ્રાઇવસી"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ડિવાઇસ સ્કૅન કરો"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"છોડી દો"</string> @@ -610,7 +626,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"માઇક્રોફોનનો ઍક્સેસ"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"ઍપ અને સેવાઓ માટે"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"ઍપ અને સેવાઓ માટે. આ સેટિંગ બંધ હોવા છતાં પણ, જ્યારે તમે ઇમર્જન્સી નંબર પર કૉલ કરો ત્યારે કદાચ માઇક્રોફોનનો ડેટા શેર કરવામાં આવી શકે."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"સ્થાનનો ઍક્સેસ ધરાવતી ઍપ અને તેની સેવાઓ જુઓ"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"લોકેશનનો ઍક્સેસ ધરાવતી ઍપ અને તેની સેવાઓ જુઓ"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"ક્લિપબોર્ડનો ઍક્સેસ બતાવો"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"જ્યારે ઍપ તમે કૉપિ કરેલી ટેક્સ્ટ, છબીઓ કે અન્ય કન્ટેન્ટનો ઍક્સેસ કરે, ત્યારે મેસેજ બતાવો"</string> <string name="show_password_title" msgid="2877269286984684659">"પાસવર્ડ બતાવો"</string> @@ -637,7 +653,7 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"લોકેશન ડેટા શેર કરવામાં આવી શકે છે"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"આ ઍપ દ્વારા જણાવવામાં આવ્યું છે કે તે ત્રીજા પક્ષો સાથે તમારો લોકેશન ડેટા શેર કરી શકે છે"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"લોકેશન માટે ડેટા શેરિંગ સંબંધિત અપડેટ"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"તે ઍપનું રિવ્યૂ કરો જેમણે તમારા લોકેશન ડેટાને શેર કરવાની રીત બદલી છે"</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"તે ઍપનો રિવ્યૂ કરો જેમણે તમારા લોકેશન ડેટાને શેર કરવાની રીત બદલી છે"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"આ ઍપ દ્વારા તમારા લોકેશન ડેટાને શેર કરવાની રીત બદલવામાં આવી હોઈ શકે છે. તેઓએ તેને પહેલાં શેર કર્યો ન હોય એવું બની શકે છે અથવા હવે તેને જાહેરાત અથવા માર્કેટિંગ હેતુઓ માટે શેર કરી શકે છે."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"આ ઍપના ડેવલપરે ડેટા શેરિંગના તેમના નિયમો વિશે ઍપ સ્ટોરને માહિતી પૂરી પાડી છે. સમય જતાં કદાચ તેઓ તેને અપડેટ કરી શકે છે.\n\nતમારી ઍપનું વર્ઝન, તેનો ઉપયોગ, ઉપયોગ કરવાનો પ્રદેશ અને તમારી ઉંમરના આધારે ડેટા શેરિંગના નિયમો કદાચ અલગ-અલગ હોઈ શકે છે."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"ડેટા શેરિંગ વિશે જાણો"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ડેટા શેરિંગ સંબંધિત અપડેટ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"કેટલીક ઍપ દ્વારા તમારા લોકેશન ડેટાને શેર કરવાની રીત બદલવામાં આવી હોઈ શકે છે"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"સેટિંગ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"ઍક્સેસ કર્યાનો સમય <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ઍક્સેસ કર્યાનો સમય ગઈકાલે <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"ઍક્સેસ કર્યાનો સમય <xliff:g id="TIME_DATE_0">%1$s</xliff:g>ના રોજ <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"તમારો એક-વખત વપરાશનો પાસવર્ડ 132435 છે"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"પ્રતિબંધિત સેટિંગ"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"તમારી સુરક્ષા માટે, આ સેટિંગ હાલમાં ઉપલબ્ધ નથી."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"ઍપને <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>નો ઍક્સેસ નકારવામાં આવ્યો"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"આ ઍપ દ્વારા કોઈ સંવેદનશીલ માહિતીની પરવાનગીના ઍક્સેસની વિનંતી કરવામાં આવી છે, જેને કારણે તમારી વ્યક્તિગત અને નાણાકીય માહિતી જોખમમાં આવી શકે છે.<xliff:g id="ID_1"><br><br></xliff:g>એ પણ શક્ય છે કે આ પ્રતિબંધિત પરવાનગી વિના ઍપ કદાચ યોગ્ય રીતે કામ ન પણ કરી શકે. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ઍક્સેસ મંજૂર કરવાની રીત જાણો</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ઍપને ડિફૉલ્ટ <xliff:g id="ROLE_NAME">%1$s</xliff:g> બનવાનો ઍક્સેસ નકારવામાં આવ્યો"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"આ ઍપ દ્વારા કોઈ સંવેદનશીલ માહિતીની પરવાનગીઓના ઍક્સેસની વિનંતી કરવામાં આવી છે, જેને કારણે તમારી વ્યક્તિગત અને નાણાકીય માહિતી જોખમમાં આવી શકે છે.<xliff:g id="ID_1"><br><br></xliff:g>એ પણ શક્ય છે કે આ પ્રતિબંધિત પરવાનગી વિના ઍપ કદાચ યોગ્ય રીતે કામ ન પણ કરી શકે. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ઍક્સેસ મંજૂર કરવાની રીત જાણો</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ઍપને ઍક્સેસ નકારવામાં આવ્યો"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"આ પરવાનગીના ઍક્સેસને કારણે તમારી વ્યક્તિગત અને નાણાકીય માહિતી જોખમમાં આવી શકે છે.<xliff:g id="ID_1"><br><br></xliff:g>એ પણ શક્ય છે કે આ પ્રતિબંધિત પરવાનગી વિના ઍપ કદાચ યોગ્ય રીતે કામ ન પણ કરી શકે. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ઍક્સેસ મંજૂર કરવાની રીત જાણો</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"વધુ જાણો"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ઓકે"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"પરવાનગીની વિનંતી નકારવામાં આવી"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"આ ઍપ વધારાની પરવાનગીઓની વિનંતી કરી રહી છે પણ સ્ટ્રીમિંગ સત્રમાં પરવાનગીઓને મંજૂરી આપી શકાતી નથી. પહેલા તમારા ફોન પર પરવાનગીની મંજૂરી આપો."</string> </resources> diff --git a/PermissionController/res/values-hi-v34/strings.xml b/PermissionController/res/values-hi-v34/strings.xml index 7b95fb793..52826b14c 100644 --- a/PermissionController/res/values-hi-v34/strings.xml +++ b/PermissionController/res/values-hi-v34/strings.xml @@ -20,8 +20,7 @@ <string name="security_privacy_brand_name" msgid="7303621734258440812">"सुरक्षा और निजता"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"कंट्रोल"</string> <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> - <string name="health_connect_summary" msgid="815473513776882296">"स्वास्थ्य की जानकारी से जुड़े डेटा के लिए, ऐप्लिकेशन का ऐक्सेस मैनेज करें"</string> + <string name="health_connect_summary" msgid="815473513776882296">"स्वास्थ्य की जानकारी से जुड़े डेटा के लिए, ऐप्लिकेशन का ऐक्सेस मैनेज किया जा सकता है"</string> <string name="location_settings" msgid="8863940440881290182">"जगह की जानकारी का ऐक्सेस"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ऐप्लिकेशन और सेवाओं के लिए. इस सेटिंग के बंद होने पर भी, माइक्रोफ़ोन के डेटा को शेयर किया जा सकता है. ऐसा तब होता है, जब किसी आपातकालीन नंबर पर कॉल किया जाता है"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ऐप्लिकेशन और सेवाओं के लिए"</string> </resources> diff --git a/PermissionController/res/values-hi-watch/strings.xml b/PermissionController/res/values-hi-watch/strings.xml index d8ddc7878..12d4356d3 100644 --- a/PermissionController/res/values-hi-watch/strings.xml +++ b/PermissionController/res/values-hi-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"बदला नहीं जा सकता"</string> <string name="generic_yes" msgid="2489207724988649846">"हां"</string> <string name="generic_cancel" msgid="2631708607129269698">"रद्द करें"</string> + <string name="permission_access_always" msgid="2107115233573823032">"हर समय"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ऐप इस्तेमाल करते समय"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"हर समय"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ऐप इस्तेमाल करते समय"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"हर समय"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ऐप इस्तेमाल करते समय"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"हर समय"</string> </resources> diff --git a/PermissionController/res/values-hi/strings.xml b/PermissionController/res/values-hi/strings.xml index 04b9167aa..05256105d 100644 --- a/PermissionController/res/values-hi/strings.xml +++ b/PermissionController/res/values-hi/strings.xml @@ -50,7 +50,7 @@ <string name="permission_revoked_all" msgid="3397649017727222283">"सभी अनुमतियां बंद हैं"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"कोई अनुमति बंद नहीं है"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"अनुमति दें"</string> - <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"हमेशा के लिए अनुमति दें"</string> + <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"हम समय अनुमति है"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"ऐप्लिकेशन इस्तेमाल करते समय"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"जगह की सटीक जानकारी पर सेट करें"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"जगह की अनुमानित जानकारी सेव करें"</string> @@ -62,7 +62,7 @@ <string name="app_permissions" msgid="3369917736607944781">"ऐप्लिकेशन की अनुमतियां"</string> <string name="unused_apps" msgid="2058057455175955094">"इस्तेमाल नहीं किए गए ऐप्लिकेशन"</string> <string name="edit_photos_description" msgid="5540108003480078892">"इस ऐप्लिकेशन के पास किन फ़ोटो का ऐक्सेस होगा, इसमें बदलाव करें"</string> - <string name="no_unused_apps" msgid="12809387670415295">"ऐसा कोई ऐप्लिकेशन नहींं है जिसका इस्तेमाल न किया गया हो"</string> + <string name="no_unused_apps" msgid="12809387670415295">"ऐसा कोई ऐप्लिकेशन नहींं है जो इस्तेमाल में न हो"</string> <string name="zero_unused_apps" msgid="9024448554157499748">"इस्तेमाल न किए जाने वाले ऐप"</string> <string name="review_permission_decisions" msgid="309559429150613632">"हाल ही में दी गई अनुमतियां"</string> <string name="review_permission_decisions_view_all" msgid="90391040431566130">"हाल ही में दी गई सभी अनुमतियां देखें"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"सभी अनुमतियां"</string> <string name="other_permissions" msgid="2901186127193849594">"ऐप्लिकेशन को ये अनुमतियां भी दी गई हैं"</string> <string name="permission_request_title" msgid="8790310151025020126">"अनुमति पाने का अनुरोध"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear पर ऐप्लिकेशन इंस्टॉल या अनइंस्टॉल नहीं किए जा सकते."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"चुनें कि <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को किन चीज़ों को ऐक्सेस करने की अनुमति दी जाए"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपडेट कर दिया गया है. चुनें कि इस ऐप्लिकेशन को किन चीज़ों को ऐक्सेस करने की अनुमति दी जाए."</string> <string name="review_button_cancel" msgid="2191147944056548886">"रद्द करें"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"हमेशा के लिए सभी को ऐक्सेस की अनुमति दें"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"हर बार पूछें"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"अनुमति न दें"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"सटीक जगह"</string> <string name="approximate_image_description" msgid="938803699637069884">"अनुमानित जगह"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"जगह की सटीक जानकारी का इस्तेमाल करें"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"जगह की सटीक जानकारी देने वाली सुविधा बंद होने पर, ऐप्लिकेशन आपकी अनुमानित जगह की जानकारी को ऐक्सेस कर सकते हैं"</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"जगह की सटीक जानकारी देने वाली सुविधा बंद होने पर, ऐप्लिकेशन आपकी जगह की अनुमानित जानकारी को ऐक्सेस कर सकते हैं"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> की अनुमति"</string> - <string name="app_permission_header" msgid="2951363137032603806">"इस ऐप्लिकेशन के लिए, <xliff:g id="PERM">%1$s</xliff:g> ऐक्सेस करने की अनुमति चाहिए"</string> + <string name="app_permission_header" msgid="2951363137032603806">"इस ऐप्लिकेशन के लिए अनुमति: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> पर इस ऐप्लिकेशन के लिए <xliff:g id="PERM">%1$s</xliff:g> का ऐक्सेस"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> को मिली सभी अनुमतियां देखें"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"इस अनुमति वाले सभी ऐप्लिकेशन देखें"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"असिस्टेंट माइक्रोफ़ोन के इस्तेमाल से जुड़ा डेटा दिखाएं"</string> - <string name="unused_apps_category_title" msgid="2988455616845243901">"इस्तेमाल न किए जाने वाले ऐप की सेटिंग"</string> + <string name="unused_apps_category_title" msgid="2988455616845243901">"इस्तेमाल न हो रहे ऐप के लिए सेटिंग"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"ऐप्लिकेशन का इस्तेमाल न होने पर अनुमतियां हटाएं"</string> <string name="unused_apps_label" msgid="2595428768404901064">"अनुमतियां हटाएं और जगह खाली करें"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"इस्तेमाल न होने पर ऐप गतिविधि रोकें"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"इस्तेमाल नहीं हुआ ऐप्लिकेशन मैनेज करें"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ऐप्लिकेशन की अनुमतियां हटाएं, डिवाइस में कुछ समय के लिए रहने वाली फ़ाइलें मिटाएं, और सूचनाएं रोकें"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ऐप्लिकेशन की अनुमतियां हटाएं, डिवाइस में कुछ समय के लिए रहने वाली फ़ाइलें मिटाएं, सूचनाएं रोकें, और ऐप्लिकेशन संग्रहित करें"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"अगर इस ऐप्लिकेशन का इस्तेमाल कुछ महीनों तक नहीं किया गया, तो इसे दी गई अनुमतियां हटा दी जाएंगी. ऐसा आपके डेटा को सुरक्षित रखने के लिए किया जाएगा."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"अगर ऐप्लिकेशन कुछ महीनों से इस्तेमाल नहीं हुआ है, तो आपके डेटा को सुरक्षित रखने के लिए ये अनुमतियां हटा दी जाएंगी: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"जिन ऐप्लिकेशन का इस्तेमाल कुछ महीनों से नहीं हुआ है उन्हें दी गई अनुमतियां हटा दी गई हैं. ऐसा आपके डेटा को सुरक्षित रखने के लिए किया गया है."</string> @@ -220,8 +223,8 @@ <string name="auto_revoked_app_summary_one" msgid="7093213590301252970">"<xliff:g id="PERMISSION_NAME">%s</xliff:g> की अनुमति हटाई गई"</string> <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> और <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g> की अनुमतियां हटाई गईं"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> और <xliff:g id="NUMBER">%2$s</xliff:g> अन्य अनुमतियां हटाई गईं"</string> - <string name="unused_apps_page_title" msgid="6986983535677572559">"इस्तेमाल नहीं किए गए ऐप्लिकेशन"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"अगर कुछ महीनों तक किसी ऐप्लिकेशन का इस्तेमाल नहीं किया जाता, तो:\n\n• आपके डेटा की सुरक्षा के लिए, उस ऐप्लिकेशन को दी गई अनुमतियां हटा दी जाती हैं\n• बैटरी बचाने के लिए, सूचनाएं बंद कर दी जाती हैं\n• स्टोरेज खाली करने के लिए, डिवाइस पर कुछ समय तक रहने वाली फ़ाइलें हटा दी जाती हैं\n\nदोबारा अनुमतियां देने और सूचनाएं फिर से पाने के लिए, ऐप्लिकेशन खोलें."</string> + <string name="unused_apps_page_title" msgid="6986983535677572559">"इस्तेमाल नहीं हो रहे ऐप्लिकेशन"</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"अगर किसी ऐप्लिकेशन को कुछ महीनों तक इस्तेमाल नहीं किया जाता, तो:\n\n• आपके डेटा की सुरक्षा के लिए, उस ऐप्लिकेशन को दी गई अनुमतियां हटा दी जाती हैं\n• बैटरी बचाने के लिए, सूचनाएं बंद कर दी जाती हैं\n• स्टोरेज खाली करने के लिए, डिवाइस पर कुछ समय तक रहने वाली फ़ाइलें हटा दी जाती हैं\n\nदोबारा अनुमतियां देने और सूचनाएं फिर से पाने के लिए, ऐप्लिकेशन खोलें."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"अगर एक महीने से किसी ऐप्लिकेशन को इस्तेमाल न किया गया हो, तो:\n\n• आपके डेटा को सुरक्षित रखने के लिए, उस ऐप्लिकेशन को दी गई अनुमतियां हटा दी जाती हैं\n• मेमोरी खाली करने के लिए, डिवाइस पर कुछ समय के लिए सेव की गई फ़ाइलें हटा दी जाती हैं\n\nअनुमतियां फिर से देने के लिए, ऐप्लिकेशन खोलें."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{पिछली बार इसे # महीने से भी पहले खोला गया था}one{पिछली बार इसे # महीने से भी पहले खोला गया था}other{पिछली बार इसे # महीने से भी पहले खोला गया था}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"ऐप्लिकेशन पिछली बार <xliff:g id="DATE">%s</xliff:g> को खोला गया था"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ये ऐप्लिकेशन सभी फ़ाइलों को मैनेज कर सकते हैं"</string> <string name="ask_header" msgid="2633816846459944376">"हर बार पूछें"</string> <string name="denied_header" msgid="903209608358177654">"अनुमति नहीं है"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> पर <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ऐसे और ऐप्लिकेशन देखें जो सभी फ़ाइलों को ऐक्सेस कर सकते हैं"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 दिन}one{# दिन}other{# दिन}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# घंटा}one{# घंटा}other{# घंटे}}"</string> @@ -351,21 +355,21 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"ये ऐप्लिकेशन आपकी स्क्रीन, कार्रवाइयां और इनपुट देख सकते हैं, कार्रवाई कर सकते हैं और डिसप्ले को नियंत्रित कर सकते हैं."</string> <string name="role_assistant_label" msgid="4727586018198208128">"डिफ़ॉल्ट डिजिटल असिस्टेंट ऐप"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"डिजिटल असिस्टेंट ऐप्लिकेशन"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"आप जो स्क्रीन देख रहे हैं, उसकी जानकारी के मुताबिक सहायक ऐप्लिकेशन आपकी मदद कर सकते हैं. कुछ ऐप्लिकेशन पर आपकी पूरी मदद करने के लिए लॉन्चर और बोलकर फ़ोन को निर्देश देना, ये दोनों सेवाएं काम करती हैं."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"स्क्रीन पर दिख रही जानकारी के आधार पर, सहायक ऐप्लिकेशन आपकी मदद कर सकते हैं. कुछ ऐप्लिकेशन हर तरह से आपकी मदद करने के लिए, लॉन्चर और फ़ोन को बोलकर निर्देश देने वाली सेवाओं, दोनों के साथ काम करते हैं."</string> <string name="role_browser_label" msgid="2877796144554070207">"डिफ़ॉल्ट ब्राउज़र ऐप्लिकेशन"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ब्राउज़र ऐप्लिकेशन"</string> - <string name="role_browser_description" msgid="3465253637499842671">"ऐसे ऐप्लिकेशन जिनसे आपको इंटरनेट का ऐक्सेस मिलता है. साथ ही, टैप करने के लिए डिसप्ले लिंक मिलता है"</string> + <string name="role_browser_description" msgid="3465253637499842671">"ऐसे ऐप्लिकेशन जो आपको इंटरनेट तक ऐक्सेस देते हैं और आपके टैप किए गए लिंक को डिसप्ले करते हैं"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"<xliff:g id="APP_NAME">%1$s</xliff:g> को अपने डिफ़ॉल्ट ब्राउज़र ऐप्लिकेशन के तौर पर सेट करें?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"अनुमति की ज़रूरत नहीं है"</string> <string name="role_dialer_label" msgid="1100224146343237968">"डिफ़ॉल्ट फ़ोन ऐप्लिकेशन"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"फ़ोन ऐप्लिकेशन"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"ऐसे ऐप्लिकेशन जिनकी मदद से, अपने डिवाइस से टेलीफ़ोन कॉल किए जा सकते हैं और इनकमिंग कॉल का जवाब दिया जा सकता है"</string> + <string name="role_dialer_description" msgid="8768708633696539612">"ऐसे ऐप्लिकेशन जिनके ज़रिए, अपने डिवाइस से फ़ोन कॉल किए जा सकते हैं और इनकमिंग कॉल का जवाब दिया जा सकता है"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"<xliff:g id="APP_NAME">%1$s</xliff:g> को आपके डिफ़ॉल्ट फ़ोन ऐप्लिकेशन के तौर पर सेट करें?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"इस ऐप्लिकेशन को आपके कैमरे, संपर्कों, माइक्रोफ़ोन, फ़ोन, और मैसेज (एसएमएस) का ऐक्सेस मिलेगा"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"डायलर"</string> <string name="role_sms_label" msgid="8456999857547686640">"मैसेज का डिफ़ॉल्ट ऐप्लिकेशन"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"एसएमएस ऐप्लिकेशन"</string> - <string name="role_sms_description" msgid="3424020199148153513">"ऐसे ऐप्लिकेशन जिनकी मदद से अपने फ़ोन नंबर का इस्तेमाल मैसेज, फ़ोटो, वीडियो के साथ ही दूसरी चीज़ें भेजने और पाने के लिए किया जा सकता है"</string> + <string name="role_sms_description" msgid="3424020199148153513">"ऐसे ऐप्लिकेशन जिनकी मदद से अपने फ़ोन नंबर का इस्तेमाल मैसेज, फ़ोटो, वीडियो वगैरह भेजने और पाने के लिए किया जा सकता है"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"<xliff:g id="APP_NAME">%1$s</xliff:g> को अपने डिफ़ॉल्ट मैसेज ऐप्लिकेशन के तौर पर सेट करें?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"इस ऐप्लिकेशन को आपके कैमरे, संपर्कों, फ़ाइलों और मीडिया, माइक्रोफ़ोन, फ़ोन, और मैसेज (एसएमएस) का ऐक्सेस मिलेगा"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"मैसेज, मैसेज भेजना, मैसेज करना, मैसेज भेजना या पाना."</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"आपात स्थिति में"</string> <string name="role_home_label" msgid="3871847846649769412">"डिफ़ॉल्ट होम ऐप्लिकेशन"</string> <string name="role_home_short_label" msgid="8544733747952272337">"होम ऐप्लिकेशन"</string> - <string name="role_home_description" msgid="7997371519626556675">"ऐप्लिकेशन जिन्हें अक्सर लॉन्चर कहा जाता है, वे आपके Android डिवाइस पर होम स्क्रीन की जगह ले लेते हैं और आपको डिवाइस के कॉन्टेंट और सुविधाओं का ऐक्सेस देते हैं"</string> + <string name="role_home_description" msgid="7997371519626556675">"ऐसे ऐप्लिकेशन जो आपके Android डिवाइस पर होम स्क्रीन की जगह ले लेते हैं और आपको डिवाइस के कॉन्टेंट और सुविधाओं का ऐक्सेस देते हैं. इन्हें अक्सर लॉन्चर कहा जाता है."</string> <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> को अपने डिफ़ॉल्ट होम ऐप्लिकेशन के तौर पर सेट करना चाहते हैं?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"अनुमति की ज़रूरत नहीं है"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"लॉन्चर"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"नोट लिखने के लिए ऐप्लिकेशन"</string> <string name="role_notes_description" msgid="8496852798616883551">"आपके डिवाइस पर नोट लिखने की सुविधा देने वाले ऐप्लिकेशन"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"नोट"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"डिफ़ॉल्ट वॉलेट ऐप्लिकेशन"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"वॉलेट ऐप्लिकेशन"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"वॉलेट ऐप्लिकेशन में, अलग-अलग तरह के लेन-देन में इस्तेमाल होने वाली चीज़ों को स्टोर किया जा सकता है. जैसे, क्रेडिट कार्ड, लॉयल्टी कार्ड, कार की डिजिटल कुंजी वगैरह."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"क्या <xliff:g id="APP_NAME">%1$s</xliff:g> को अपने डिफ़ॉल्ट वॉलेट ऐप्लिकेशन के तौर पर सेट करना है?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"अनुमति लेना ज़रूरी नहीं है"</string> <string name="request_role_current_default" msgid="738722892438247184">"मौजूदा डिफ़ॉल्ट"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"फिर से न पूछें"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"डिफ़ॉल्ट के रूप में सेट करें"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"और डिफ़ॉल्ट ऐप्लिकेशन देखें"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"खुलने वाले लिंक"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"काम के लिए डिफ़ॉल्ट"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"प्राइवेट स्पेस के लिए डिफ़ॉल्ट ऐप्लिकेशन"</string> <string name="default_app_none" msgid="9084592086808194457">"कोई नहीं"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(सिस्टम डिफ़ॉल्ट)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"कोई ऐप्लिकेशन नहीं"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"असिस्टेंट ऐप्लिकेशन का माइक्रोफ़ोन चालू है या बंद, इसकी सूचना दिखाएं"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"आवाज़ से डिवाइस का इस्तेमाल करने के लिए, माइक्रोफ़ोन का इस्तेमाल करते समय स्थिति बार में आइकॉन दिखाएं"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपने डिवाइस में मौजूद फ़ोटो और मीडिया ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद फ़ोटो और मीडिया का ऐक्सेस देना है?"</string> - <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपने संपर्क देखने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, संपर्कों का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद फ़ोटो और मीडिया का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके संपर्क का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, संपर्कों को ऐक्सेस करने की अनुमति देनी है?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> की जगह की जानकारी का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ऐप्लिकेशन, डिवाइस की जगह की जानकारी सिर्फ़ तभी देख पाएगा जब आप इसका इस्तेमाल कर रहे हों"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> की जगह की जानकारी का डेटा ऐक्सेस करने की अनुमति देनी है?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"यह ऐप्लिकेशन शायद आपके डिवाइस की जगह की जानकारी हर समय ऐक्सेस करना चाहता है. उस समय भी जब आप इसका इस्तेमाल न कर रहे हों. "<annotation id="link">"सेटिंग में इसकी अनुमति दें."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए जगह की जानकारी का ऐक्सेस बदलना चाहते हैं?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> की जगह की जानकारी का ऐक्सेस बदलना है?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> की जगह की जानकारी का ऐक्सेस बदलना है?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"यह ऐप्लिकेशन आपके डिवाइस की जगह की जानकारी हर समय ऐक्सेस करना चाहता है. उस समय भी जब आप इसका इस्तेमाल न कर रहे हों. "<annotation id="link">"सेटिंग में इसकी अनुमति दें."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"क्या आपको <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आस-पास मौजूद डिवाइसों को खोजने, उनसे कनेक्ट करने, और उनकी जगह की जानकारी का पता लगाने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> के आस-पास मौजूद डिवाइसों को खोजने, उनसे कनेक्ट करने, और उनकी जगह की जानकारी का पता लगाने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> के आस-पास मौजूद डिवाइसों को खोजने, उनसे कनेक्ट करने, और उनकी जगह की जानकारी का पता लगाने की अनुमति देनी है?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"क्या आप <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आस-पास मौजूद डिवाइसों को खोजने, उनसे कनेक्ट करने, और उनकी जगह की जानकारी का पता लगाने की अनुमति देना चाहते हैं? "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"क्या <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> आपकी जगह की अनुमानित जानकारी के बजाय सटीक जानकारी ऐक्सेस करे?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"क्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> के लिए, <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> की जगह की जानकारी का ऐक्सेस अनुमानित से सटीक में बदलना है?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"क्या <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> के लिए, <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> की जगह की जानकारी का ऐक्सेस अनुमानित से सटीक में बदलना है?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"क्या आपको <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस की जगह की अनुमानित जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE">%2$s</xliff:g></b> की जगह की अनुमानित जानकारी के डेटा का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s की जगह की अनुमानित जानकारी ऐक्सेस करने की अनुमति देनी है?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"सटीक जगह"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"अनुमानित जगह"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपना कैलेंडर ऐक्सेस करने की अनुमति देना है?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, कैलेंडर के डेटा का ऐक्सेस देना है?"</string> - <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को एसएमएस (मैसेज) भेजने और देखने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> से मैसेज भेजने और उन्हें देखने का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, कैलेंडर के डेटा का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को एसएमएस भेजने और देखने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> से मैसेज भेजने और उन्हें देखने का ऐक्सेस देना है?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को डिवाइस पर मौजूद फ़ोटो, ऑडियो-वीडियो, और फ़ाइलें ऐक्सेस करने की अनुमति देना चाहते हैं?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद फ़ोटो, मीडिया, और फ़ाइल का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद फ़ोटो, मीडिया, और फ़ाइलों का ऐक्सेस देना है?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस में मौजूद <b>फ़ोटो, वीडियो, संगीत, और ऑडियो</b> का ऐक्सेस देना है?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को डिवाइस में मौजूद <b>फ़ोटो, वीडियो, संगीत, ऑडियो, और अन्य फ़ाइल</b> का ऐक्सेस देना है?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस में मौजूद संगीत और ऑडियो ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g> में मौजूद संगीत और ऑडियो का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> में मौजूद संगीत और ऑडियो का ऐक्सेस देना है?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस में मौजूद फ़ोटो और वीडियो ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद फ़ोटो और वीडियो का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद फ़ोटो और वीडियो का ऐक्सेस देना है?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को इस डिवाइस पर मौजूद अन्य फ़ोटो और वीडियो का ऐक्सेस देना है?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर मौजूद अन्य फ़ोटो और वीडियो का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर मौजूद अन्य फ़ोटो और वीडियो का ऐक्सेस देना है?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को ऑडियो रिकॉर्ड करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर ऑडियो रिकॉर्ड करने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर ऑडियो रिकॉर्ड करने की अनुमति देनी है?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ऐप्लिकेशन सिर्फ़ तब ही ऑडियो रिकॉर्ड कर पाएगा, जब आप ऐप्लिकेशन इस्तेमाल कर रहे हों"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"क्या आप <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को ऑडियो रिकॉर्ड करने की अनुमति देना चाहते हैं?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर ऑडियो रिकॉर्ड करने की अनुमति देनी है?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर ऑडियो रिकॉर्ड करने की अनुमति देनी है?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"यह ऐप्लिकेशन हर समय ऑडियो रिकॉर्ड कर सकता है. ऐप्लिकेशन इस्तेमाल न करने पर भी ऐसा हो सकता है. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"क्या आप <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, माइक्रोफ़ोन के ऐक्सेस की अनुमति बदलना चाहते हैं?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> के माइक्रोफ़ोन का ऐक्सेस बदलना है?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> के माइक्रोफ़ोन का ऐक्सेस बदलना है?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"यह ऐप्लिकेशन हर समय ऑडियो रिकॉर्ड करना चाहता है, तब भी जब आप ऐप्लिकेशन इस्तेमाल न कर रहे हों. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपनी शारीरिक गतिविधि की जानकारी पाने की अनुमति देना चाहते हैं?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, आपकी शारीरिक गतिविधि की जानकारी का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, आपकी शारीरिक गतिविधि की जानकारी का ऐक्सेस देना है?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को फ़ोटो खींचने और वीडियो रिकॉर्ड करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर फ़ोटो लेने और वीडियो रिकॉर्ड करने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर फ़ोटो लेने और वीडियो रिकॉर्ड करने की अनुमति देनी है?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ऐप्लिकेशन सिर्फ़ तब ही तस्वीरें ले पाएगा और वीडियो रिकॉर्ड कर पाएगा, जब आप ऐप्लिकेशन इस्तेमाल कर रहे हों"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"क्या आप <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को तस्वीरें लेने और वीडियो रिकॉर्ड करने की अनुमति देना चाहते हैं?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर फ़ोटो लेने और वीडियो रिकॉर्ड करने की अनुमति देनी है?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर फ़ोटो लेने और वीडियो रिकॉर्ड करने की अनुमति देनी है?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"यह ऐप्लिकेशन हर समय तस्वीरें ले सकता है और वीडियो रिकॉर्ड कर सकता है. ऐप्लिकेशन इस्तेमाल न करने पर भी ऐसा हो सकता है. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"क्या आप <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, कैमरे के ऐक्सेस की अनुमति बदलना चाहते हैं?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> के कैमरे का ऐक्सेस बदलना है?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> के लिए, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> के कैमरे का ऐक्सेस बदलना है?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"यह ऐप्लिकेशन हर समय तस्वीरें लेना और वीडियो रिकॉर्ड करना चाहता है, तब भी जब आप ऐप्लिकेशन इस्तेमाल न कर रहे हों. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string> - <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपने फ़ोन के काॅल लाॅग को ऐक्सेस करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, कॉल लॉग का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपका कॉल लॉग ऐक्सेस करने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, कॉल लॉग का ऐक्सेस देना है?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को फ़ोन कॉल करने और उन्हें मैनेज करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g> से फ़ोन कॉल करने और उन्हें मैनेज करने का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> से फ़ोन कॉल करने और उन्हें मैनेज करने का ऐक्सेस देना है?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपने स्वास्थ्य से जुड़ी ज़रूरी जानकारी इस्तेमाल करने की अनुमति देनी है?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, शरीर के बारे में जानकारी देने वाले सेंसर डेटा का ऐक्सेस देना है?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, शरीर के बारे में ज़रूरी जानकारी देने वाले सेंसर डेटा का ऐक्सेस देना है?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"यह ऐप्लिकेशन, आपके शरीर के बारे में ज़रूरी जानकारी देने वाले सेंसर डेटा को हमेशा ऐक्सेस करने की अनुमति मांगता है. यह अनुमति उस समय के लिए भी मांगी जाती है जिस समय ऐप्लिकेशन का इस्तेमाल न हो रहा हो. यह अनुमति देने के लिए, "<annotation id="link">"सेटिंग पर जाएं."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को अपने शरीर के बारे में जानकारी देने वाले लक्षणों के सेंसर डेटा को ऐक्सेस करने की अनुमति दें?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE">%2$s</xliff:g></b> में मौजूद, शरीर के बारे में जानकारी देने वाले सेंसर डेटा का ऐक्सेस देना है?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> में मौजूद, शरीर के बारे में जानकारी देने वाले सेंसर डेटा का ऐक्सेस देना है?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"इस ऐप्लिकेशन का इस्तेमाल न किए जाने पर भी, इसे बॉडी सेंसर के डेटा को हमेशा ऐक्सेस करने की अनुमति देने के लिए, "<annotation id="link">"सेटिंग पर जाएं."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"क्या इस्तेमाल के दौरान, <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को बॉडी सेंसर के डेटा का ऐक्सेस देते रहना है?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"क्या इस्तेमाल के दौरान, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को बॉडी सेंसर के डेटा का ऐक्सेस देते रहना है?"</string> - <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को सूचनाएं भेजने की अनुमति दें?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को आपके <b><xliff:g id="DEVICE">%2$s</xliff:g></b> पर सूचनाएं भेजने की अनुमति देनी है?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"क्या इस्तेमाल के दौरान, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को बॉडी सेंसर के डेटा का ऐक्सेस देते रहना है?"</string> + <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को सूचनाएं भेजने की अनुमति देनी है?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"क्या <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> को <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> पर सूचनाएं भेजने की अनुमति देनी है?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"कंट्रोल की गई अनुमतियां"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> के पास, डिवाइस की जगह की जानकारी का ऐक्सेस है"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"आपके संगठन ने <xliff:g id="APP_NAME">%1$s</xliff:g> को, डिवाइस की जगह की जानकारी का ऐक्सेस दिया है"</string> @@ -541,14 +551,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"कोई नहीं"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"पिछले\n24 घंटे"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"पिछले\nसात दिन"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> प्रतिशत"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> को Android की मदद से सुरक्षित किया गया है. आपका डेटा इस डिवाइस पर प्रोसेस किया गया है. इसलिए, इस ऐप्लिकेशन की अनुमति के इस्तेमाल की जानकारी, स्टेटस बार या प्राइवसी डैशबोर्ड पर नहीं दिखती."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> को Android की मदद से सुरक्षित किया गया है. आपका डेटा इस डिवाइस पर प्रोसेस किया गया है. इसलिए, इस ऐप्लिकेशन की अनुमति के इस्तेमाल की जानकारी, प्राइवसी डैशबोर्ड पर नहीं दिखती."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"डिवाइस का कैमरा ब्लॉक किया गया है"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"डिवाइस का माइक्रोफ़ोन ब्लॉक किया गया है"</string> - <string name="blocked_location_title" msgid="2005608279812892383">"डिवाइस की जगह की जानकारी की सुविधा बंद है"</string> + <string name="blocked_location_title" msgid="2005608279812892383">"डिवाइस की जगह की जानकारी की सेटिंग बंद है"</string> <string name="blocked_sensor_summary" msgid="4443707628305027375">"ऐप्लिकेशन और सेवाओं के लिए"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"जब आपातकालीन नंबर पर कॉल किया जाता है, तो माइक ब्लॉक होने के बावजूद माइक्रोफ़ोन का डेटा शेयर किया जा सकता है."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"बदलें"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"कैमरे का ऐक्सेस बंद है"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"सूचना और मनोरंजन की सुविधा देने वाले ऐप्लिकेशन के लिए"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ज़रूरी ऐप्लिकेशन के लिए"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"यह ऐप्लिकेशन ज़रूरी है"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"यह ऐप्लिकेशन आपकी कार के मैन्युफ़ैक्चरर के लिए ज़रूरी है"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"सुरक्षा और निजता"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"डिवाइस स्कैन करें"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"खारिज करें"</string> @@ -637,9 +653,9 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"जगह की जानकारी का डेटा शेयर किया जा सकता है"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"इस ऐप्लिकेशन में बताया गया है कि यह तीसरे पक्ष के साथ जगह की जानकारी का डेटा शेयर कर सकता है"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"जगह की जानकारी का डेटा शेयर करने के तरीके के बारे में अपडेट"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"ऐसे ऐप्लिकेशन देखें जिन्होंने शायद आपकी जगह की जानकारी के डेटा को शेयर करने का तरीका बदल दिया है"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"इन ऐप्लिकेशन ने आपकी जगह की जानकारी के डेटा को शेयर करने का तरीका बदल दिया है. ऐसा हो सकता है कि ये ऐप्लिकेशन पहले जगह की जानकारी का डेटा शेयर न करते हों या फिर अब विज्ञापन या मार्केटिंग के लिए यह डेटा शेयर किया हो."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"इन ऐप्लिकेशन के डेवलपर ने किसी ऐप स्टोर पर डेटा शेयर करने के उनके तरीकों की जानकारी बताई है. वे समय-समय पर इस जानकारी को अपडेट कर सकते हैं.\n\nडेटा शेयर करने के तरीके अलग-अलग हो सकते हैं. ये आपकी जगह, उम्र, ऐप्लिकेशन के वर्शन, और उसके इस्तेमाल के हिसाब से तय किए जाते हैं."</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"उन ऐप्लिकेशन को देखा जा सकता है जिन्होंने आपकी जगह की जानकारी का डेटा शेयर करने का अपना तरीका बदल दिया है"</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"इन ऐप्लिकेशन ने आपकी जगह की जानकारी के डेटा को शेयर करने का तरीका बदल दिया है. ऐसा हो सकता है कि ये ऐप्लिकेशन पहले जगह की जानकारी का डेटा शेयर न करते हों या फिर अब ये विज्ञापन या मार्केटिंग के लिए यह डेटा शेयर करें."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"इन ऐप्लिकेशन के डेवलपरों ने, डेटा शेयर करने के अपने तरीकों के बारे में ऐप स्टोर पर जानकारी दी है. वे समय-समय पर इस जानकारी को अपडेट कर सकते हैं.\n\nडेटा शेयर करने के तरीके अलग-अलग हो सकते हैं. ये आपकी जगह, उम्र, ऐप्लिकेशन के वर्शन, और उसके इस्तेमाल के हिसाब से तय किए जाते हैं."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"डेटा शेयर करने की नीतियों के बारे में जानें"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"आपकी जगह की जानकारी का डेटा अब तीसरे पक्षों के साथ शेयर किया गया है"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"विज्ञापन देने या मार्केटिंग करने के लिए, आपकी जगह की जानकारी को अब तीसरे पक्षों के साथ शेयर किया जा रहा है"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"डेटा शेयर करने के तरीके के बारे में अपडेट"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"कुछ ऐप्लिकेशन ने आपकी जगह की जानकारी के डेटा को शेयर करने का तरीका बदल दिया है"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"सेटिंग"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> को ऐक्सेस किया गया"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"<xliff:g id="TIME_DATE">%1$s</xliff:g> को कल ऐक्सेस किया गया था"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> को ऐक्सेस किया गया"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"एक बार इस्तेमाल होने वाला पासवर्ड 132435 है"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"इस सेटिंग पर पाबंदी लगाई गई है"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"आपकी सुरक्षा के लिए, यह सेटिंग फ़िलहाल उपलब्ध नहीं है."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"ऐप्लिकेशन को, <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> को ऐक्सेस करने की अनुमति नहीं मिली"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"इस ऐप्लिकेशन ने संवेदनशील जानकारी ऐक्सेस करने का अनुरोध किया है. इसे अनुमति देने पर, आपकी निजी और वित्तीय जानकारी की सुरक्षा को खतरा हो सकता है.<xliff:g id="ID_1"><br><br></xliff:g>हालांकि, हो सकता है कि पाबंदी वाली अनुमति न मिलने पर, ऐप्लिकेशन सही तरह से काम न करें. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ऐक्सेस देने का तरीका जानें</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ऐप्लिकेशन को, डिफ़ॉल्ट <xliff:g id="ROLE_NAME">%1$s</xliff:g> के तौर पर सेट करने की अनुमति नहीं मिली"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"इस ऐप्लिकेशन ने संवेदनशील जानकारी ऐक्सेस करने का अनुरोध किया है. इसे अनुमति देने पर, आपकी निजी और वित्तीय जानकारी की सुरक्षा को खतरा हो सकता है.<xliff:g id="ID_1"><br><br></xliff:g>हालांकि, हो सकता है कि पाबंदी वाली अनुमतियां न मिलने पर, ऐप्लिकेशन सही तरह से काम न करें. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ऐक्सेस देने का तरीका जानें</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ऐप्लिकेशन को अनुमति नहीं मिली"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ऐप्लिकेशन को यह अनुमति मिलने पर, आपकी निजी और वित्तीय जानकारी की सुरक्षा को खतरा हो सकता है.<xliff:g id="ID_1"><br><br></xliff:g>हालांकि, हो सकता है कि पाबंदी वाली अनुमति न मिलने पर, ऐप्लिकेशन सही तरह से काम न करें. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ऐक्सेस देने का तरीका जानें</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ज़्यादा जानें"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ठीक है"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"अनुमति का अनुरोध अस्वीकार किया गया"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"यह ऐप्लिकेशन ज़्यादा अनुमतियों का अनुरोध कर रहा है. हालांकि, स्ट्रीमिंग सेशन के दौरान अनुमतियां नहीं दी जा सकतीं. सबसे पहले अपने फ़ोन पर अनुमति दें."</string> </resources> diff --git a/PermissionController/res/values-hr-v33/strings.xml b/PermissionController/res/values-hr-v33/strings.xml index a50e58158..77c8a200f 100644 --- a/PermissionController/res/values-hr-v33/strings.xml +++ b/PermissionController/res/values-hr-v33/strings.xml @@ -19,7 +19,7 @@ <string name="role_dialer_request_description" msgid="6188305064871543419">"Aplikacija će vam moći slati obavijesti i dobit će pristup vašoj kameri, kontaktima, mikrofonu, telefonu i SMS-ovima"</string> <string name="role_sms_request_description" msgid="1506966389698625395">"Aplikacija će vam moći slati obavijesti i dobit će pristup vašoj kameri, kontaktima, datotekama, mikrofonu, telefonu i SMS-ovima"</string> <string name="permission_description_summary_storage" msgid="1917071243213043858">"Aplikacije s tim dopuštenjem imaju pristup svim datotekama na ovom uređaju"</string> - <string name="work_policy_title" msgid="832967780713677409">"Informacije o pravilima za posao"</string> + <string name="work_policy_title" msgid="832967780713677409">"Informacije o pravilima za poslovne uređaje"</string> <string name="work_policy_summary" msgid="3886113358084963931">"Postavkama upravlja vaš IT administrator"</string> <string name="safety_center_entry_group_expand_action" msgid="5358289574941779652">"Proširi i prikaži popis"</string> <string name="safety_center_entry_group_collapse_action" msgid="1525710152244405656">"Sažmi popis i sakrij postavke"</string> diff --git a/PermissionController/res/values-hr-v34/strings.xml b/PermissionController/res/values-hr-v34/strings.xml index 74a1d7d1e..df017c05d 100644 --- a/PermissionController/res/values-hr-v34/strings.xml +++ b/PermissionController/res/values-hr-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Upravljajte kojim podacima o zdravlju pristupaju aplikacije"</string> <string name="location_settings" msgid="8863940440881290182">"Pristup lokaciji"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Za aplikacije i usluge. Ako je ta postavka isključena, podaci mikrofona i dalje se mogu dijeliti kad nazovete broj hitne službe"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Za aplikacije i usluge"</string> </resources> diff --git a/PermissionController/res/values-hr-watch/strings.xml b/PermissionController/res/values-hr-watch/strings.xml index cb04d90e9..3e1f56a9a 100644 --- a/PermissionController/res/values-hr-watch/strings.xml +++ b/PermissionController/res/values-hr-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Promjena nemoguća"</string> <string name="generic_yes" msgid="2489207724988649846">"Da"</string> <string name="generic_cancel" msgid="2631708607129269698">"Otkaži"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Cijelo vrijeme"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Dok se aplikacija koristi"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Cijelo vrijeme"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Dok se aplikacija koristi"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Cijelo vrijeme"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Dok se aplikacija koristi"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Cijelo vrijeme"</string> </resources> diff --git a/PermissionController/res/values-hr/strings.xml b/PermissionController/res/values-hr/strings.xml index d45180846..201607da3 100644 --- a/PermissionController/res/values-hr/strings.xml +++ b/PermissionController/res/values-hr/strings.xml @@ -34,7 +34,7 @@ <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Više podataka"</string> <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Dopusti sve"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Uvijek dopusti sve"</string> - <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Omogućivanje ograničenog pristupa"</string> + <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Omogući ograničeni pristup"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"Odaberite slike i videozapise"</string> <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"Odaberite više"</string> <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"Nemoj dopustiti"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Sva dopuštenja"</string> <string name="other_permissions" msgid="2901186127193849594">"Ostale mogućnosti aplikacije"</string> <string name="permission_request_title" msgid="8790310151025020126">"Zahtijevanje dopuštenja"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Radnje instaliranja i deinstaliranja nisu podržane na Wearu."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Odaberite čemu će <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> moći pristupiti"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ažurirana je. Odaberite čemu će moći pristupiti."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Otkaži"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Uvijek dopusti sve"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pitaj svaki put"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nemoj dopustiti"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Točna lokacija"</string> <string name="approximate_image_description" msgid="938803699637069884">"Približna lokacija"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Koristi točnu lokaciju"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kad je točna lokacija isključena, aplikacije mogu pristupiti vašoj približnoj lokaciji"</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kad je točna lokacija isključena, aplikacije mogu pristupati vašoj približnoj lokaciji"</string> <string name="app_permission_title" msgid="2090897901051370711">"Dopuštenje <xliff:g id="PERM">%1$s</xliff:g>"</string> - <string name="app_permission_header" msgid="2951363137032603806">"Pristup aplikacije značajci \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> + <string name="app_permission_header" msgid="2951363137032603806">"Pristup aplikacije dopuštenju \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Pristup značajke <xliff:g id="PERM">%1$s</xliff:g> za ovu aplikaciju na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Pogledajte sva dopuštenja aplikacije <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Pogledajte sve aplikacije s tim dopuštenjem"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Prikaz korištenja mikrofona Asistenta"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ukloni dopuštenja ako se aplikacija ne upotrebljava"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ukloni dopuštenja i oslobodi prostor"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pauziraj aktivnosti u aplikacijama ako se ne koriste"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljaj aplikacijom koja se ne koristi"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Uklonite dopuštenja, izbrišite privremene datoteke i zaustavite obavijesti"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Uklanjaju se dopuštenja, brišu privremene datoteke, zaustavljaju obavijesti i aplikacija se arhivira"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Kako bi se vaši podaci zaštitili, dopuštenja za ovu aplikaciju uklonit će se ako se aplikacija ne upotrebljava nekoliko mjeseci."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Kako bi se vaši podaci zaštitili, ako se aplikacija ne upotrebljava nekoliko mjeseci, uklonit će se sljedeća dopuštenja: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Radi zaštite vaših podataka uklonjena su dopuštenja aplikacijama koje nekoliko mjeseci niste upotrebljavali."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Dopušteno upravljanje svim datotekama"</string> <string name="ask_header" msgid="2633816846459944376">"Pitaj svaki put"</string> <string name="denied_header" msgid="903209608358177654">"Nemaju dopuštenje"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Pogledajte koje još aplikacije imaju pristup svim datotekama"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dan}one{# dan}few{# dana}other{# dana}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# sat}one{# sat}few{# sata}other{# sati}}"</string> @@ -349,9 +353,9 @@ <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"Aplikacije pristupačnosti (njih <xliff:g id="NUM_SERVICES">%s</xliff:g>) s potpunim pristupom vašem uređaju"</string> <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> može vidjeti vaš zaslon, radnje i unose, izvršavati radnje i upravljati zaslonom."</string> <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Te aplikacije mogu vidjeti vaš zaslon, radnje i unose, izvršavati radnje i upravljati zaslonom."</string> - <string name="role_assistant_label" msgid="4727586018198208128">"Zadana apl. digital. asistenta"</string> + <string name="role_assistant_label" msgid="4727586018198208128">"Zadana aplikacija digitalnog asistenta"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"Apl. digitalnog asistenta"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"Aplikacije pomoćnika mogu vam pomoći na temelju podataka s prikazanog zaslona. Neke aplikacije podržavaju pokretač i usluge glasovnog unosa kako bi vam pružile integriranu pomoć."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"Aplikacije za pomoć služe se podacima koji se prikazuju na zaslonu. Neke aplikacije podržavaju pokretač i usluge glasovnog unosa kako bi vam pružile integriranu pomoć."</string> <string name="role_browser_label" msgid="2877796144554070207">"Zadana aplikacija preglednika"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Aplikacija preglednika"</string> <string name="role_browser_description" msgid="3465253637499842671">"Aplikacije koje vam omogućuju pristup internetu i prikazuju veze koje dodirnete"</string> @@ -375,7 +379,7 @@ <string name="role_emergency_request_title" msgid="8469579020654348567">"Želite li postaviti aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadanu aplikaciju za hitne slučajeve?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"Nije potrebno nijedno dopuštenje"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"hitni slučaj"</string> - <string name="role_home_label" msgid="3871847846649769412">"Zadana aplik. početnog zaslona"</string> + <string name="role_home_label" msgid="3871847846649769412">"Zadana aplikacija početnog zaslona"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija početnog zaslona"</string> <string name="role_home_description" msgid="7997371519626556675">"Aplikacije, poznate i kao pokretači, koje zamjenjuju početne zaslone na vašem Android uređaju i pružaju vam pristup sadržajima i značajkama na njemu"</string> <string name="role_home_request_title" msgid="738136983453341081">"Želite li postaviti aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadanu aplikaciju početnog zaslona?"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacija za bilješke"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacije koje vam omogućuju vođenje bilješki na uređaju"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"napomene"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Zadana aplikacija za novčanik"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacija za novčanik"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikacije za novčanik mogu pohranjivati vaše kreditne kartice i kartice vjernosti, automobilske ključeve i druge stvari te vam pomoći s različitim transakcijama."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Želite li aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> postaviti kao zadanu aplikaciju za novčanik?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Dopuštenja nisu potrebna"</string> <string name="request_role_current_default" msgid="738722892438247184">"Trenutačna zadana"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Više me ne pitaj"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Postavi kao zadano"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Više zadanih aplikacija"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otvaranje veza"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Zadano za posao"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Zadano za privatni prostor"</string> <string name="default_app_none" msgid="9084592086808194457">"Nijedna"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Zadana postavka sustava)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nema aplikacija"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Prikaz otkrivanja okidača asistenta"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Prikazuje ikonu na traci statusa kada se za aktiviranje glasovne pomoći upotrebljava mikrofon"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama i medijima na vašem uređaju?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa fotografijama i medijima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa fotografijama i medijima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da pristupa vašim kontaktima?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa vašim kontaktima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa vašim kontaktima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da pristupa lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa lokaciji uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacija će imati pristup lokaciji samo dok upotrebljavate aplikaciju"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da pristupa lokaciji ovog uređaja?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa lokaciji vašeg uređaja <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa lokaciji uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ova aplikacija možda će uvijek htjeti imati pristup vašoj lokaciji, čak i kad je ne koristite. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Želite li promijeniti pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Promijeniti pristup lokaciji za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Želite li promijeniti postavku pristupa lokaciji aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ova aplikacija želi uvijek pristupati vašoj lokaciji, čak i kad je ne koristite. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da traži uređaje u blizini, povezuje se s njima i određuje njihov približni položaj?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pronađe uređaje u blizini i njihov relativan položaj i poveže se s njima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pronađe uređaje u blizini, odredi njihov relativan položaj i poveže se s njima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> traži uređaje u blizini, poveže se s njima i odredi njihov približni položaj? "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Želite li aplikaciji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> promijeniti pristup iz približne lokacije u točnu?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Promijeniti aplikaciji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> pristup lokaciji na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b> iz približne u točnu?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Želite li za aplikaciju <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> promijeniti pristup za lokaciju na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g> iz približne u točnu?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa približnoj lokaciji ovog uređaja?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa približnoj lokaciji vašeg uređaja <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa približnoj lokaciji uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Točno"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Približno"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa vašem kalendaru?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa vašem kalendaru na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa vašem kalendaru na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da šalje i pregledava SMS poruke?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje i pregledava SMS poruke na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da šalje i prikazuje SMS poruke na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa fotografijama, medijima i datotekama na vašem uređaju?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa fotografijama, medijima i datotekama na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa fotografijama, medijima i datotekama na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristup <b>foto/video/audiodatotekama i glazbi</b> na ovom uređaju?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Dopustiti apl. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristup <b>foto/video/audio i drugim datotekama te glazbi</b> na uređaju?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristup glazbi i audiodatotekama na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa glazbi i audiodatotekama na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti pristup fotografijama i videozapisima na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa fotografijama i videozapisima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa glazbi i audiodatotekama na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da pristupa fotografijama i videozapisima na ovom uređaju?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa fotografijama i videozapisima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti pristup većem broju fotografija i videozapisa na ovom uređaju?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa većem broju fotografija i videozapisa na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti pristup većem broju fotografija i videozapisa na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da snima audiozapise?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima audiozapise na vašem uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da snima zvuk na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacija će moći snimati audiozapise samo dok je upotrebljavate"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da snima audiozapise?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima audiozapise na vašem uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da snima zvuk na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Aplikacija će možda snimati audiozapise u svakom trenutku, čak i kad je ne upotrebljavate. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Želite li promijeniti pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Promijeniti pristup mikrofonu za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Želite li promijeniti postavku pristupa mikrofonu aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Aplikacija traži dopuštenje za snimanje audiozapisa u svakom trenutku, čak i kad je ne upotrebljavate. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Želite li dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa vašoj tjelesnoj aktivnosti?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa vašoj tjelesnoj aktivnosti na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa vašoj tjelesnoj aktivnosti na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da snima fotografije i videozapise?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima fotografije i videozapise na vašem uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da snima slike i videozapise na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacija će moći snimati fotografije i videozapise samo dok je upotrebljavate"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da snima fotografije i videozapise?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snima fotografije i videozapise na vašem uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da snima slike i videozapise na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Aplikacija će možda snimati fotografije i videozapise u svakom trenutku, čak i kad je ne upotrebljavate. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Želite li promijeniti pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Promijeniti pristup kameri za aplikaciju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Želite li promijeniti postavku pristupa kameri aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g> na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Aplikacija traži dopuštenje za snimanje fotografija i videozapisa u svakom trenutku, čak i kad je ne upotrebljavate. "<annotation id="link">"Dopustite u postavkama."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da pristupa zapisnicima poziva vašeg telefona?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa zapisnicima poziva vašeg telefona na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa zapisnicima poziva vašeg telefona na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da upućuje telefonske pozive i upravlja njima?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> upućuje telefonske pozive i upravlja njima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da upućuje telefonske pozive i upravlja njima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vašim vitalnim znakovima?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vašim vitalnim znakovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa podacima senzora o vašim vitalnim znakovima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplikacija želi uvijek pristupati podacima senzora o vašim vitalnim znakovima, čak i kad je ne upotrebljavate. Da biste unijeli tu promjenu, "<annotation id="link">"otvorite postavke"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Želite li dopustiti aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> da pristupa podacima senzora o vašim vitalnim znakovima?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Dopustiti da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristupa podacima senzora o vašim vitalnim znakovima na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da pristupa podacima senzora o vašim vitalnim znakovima na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Da biste omogućili aplikaciji da uvijek pristupa podacima s biometrijskih senzora, čak i kada je ne upotrebljavate, "<annotation id="link">"otvorite postavke."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Nastaviti dopuštati aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pristup podacima s biometrijskih senzora dok je upotrebljavate?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Nastaviti dopuštati da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tijekom upotrebe pristupa podacima biometrijskih senzora na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Želite li da aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> i dalje bude dopušten pristup podacima biometrijskih senzora na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g> kad je koristite?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite li aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dopustiti da vam šalje obavijesti?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Dopustiti da vam <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> šalje obavijesti na uređaju <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Želite li aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dopustiti da vam šalje obavijesti na uređaju <xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrolirana dopuštenja"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ima pristup lokaciji"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaša organizacija dopušta da <xliff:g id="APP_NAME">%1$s</xliff:g> pristupa vašoj lokaciji"</string> @@ -534,13 +544,14 @@ <string name="not_used_permissions_description" msgid="7595514824169388718">"Dopuštenja koja upotrebljavaju samo aplikacije sustava."</string> <string name="additional_permissions_label" msgid="7693557637462569046">"Dodatna dopuštenja"</string> <string name="additional_permissions_description" msgid="2186611950890732112">"Dopuštenja koja definiraju aplikacije."</string> - <string name="privdash_label_camera" msgid="1426440033626198096">"Fotoaparat"</string> + <string name="privdash_label_camera" msgid="1426440033626198096">"Kamera"</string> <string name="privdash_label_microphone" msgid="8415035835803511693">"Mikrofon"</string> <string name="privdash_label_location" msgid="6882400763866489291">"Lokacija"</string> <string name="privdash_label_other" msgid="3710394147423236033">"Drugo"</string> <string name="privdash_label_none" msgid="5991866260360484858">"Nijedno"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Posljednja\n24 sata"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"U posljednjih\n7 dana"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> posto"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> štiti Android. Budući da se vaši podaci obrađuju na ovom uređaju, upotreba dopuštenja te aplikacije ne prikazuje se na traci statusa ni na vašoj nadzornoj ploči za privatnost."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> štiti Android. Budući da se vaši podaci obrađuju na ovom uređaju, upotreba dopuštenja te aplikacije ne prikazuje se na vašoj nadzornoj ploči za privatnost."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera uređaja je blokirana"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Za aplikacije i usluge"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Podaci mikrofona i dalje se mogu dijeliti kad pozovete broj hitne službe."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Promijeni"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Pristup kameri je isključen"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Za aplikacije sustava za informiranje i zabavu"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Za obavezne aplikacije"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ova je aplikacija obavezna"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ovu aplikaciju zahtijeva proizvođač vašeg automobila"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sigurnost i privatnost"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skeniranje uređaja"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Odbaci"</string> @@ -564,7 +580,7 @@ <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Provjera statusa"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Vaše kontrole privatnosti"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Više postavki"</string> - <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Pristup fotoaparatu"</string> + <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Pristup kameri"</string> <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"Pristup mikrofonu"</string> <string name="permissions_removed_qs" msgid="8957319130625294572">"Dopuštenje uklonjeno"</string> <string name="camera_usage_qs" msgid="4394233566086665994">"Prikaži nedavnu upotrebu fotoaparata"</string> @@ -606,7 +622,7 @@ <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"Promijenjen je pristup"</string> <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"Prikaži nedavnu upotrebu lokacije"</string> <string name="privacy_controls_title" msgid="7605929972256835199">"Kontrole privatnosti"</string> - <string name="camera_toggle_title" msgid="1251201397431837666">"Pristup fotoaparatu"</string> + <string name="camera_toggle_title" msgid="1251201397431837666">"Pristup kameri"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"Pristup mikrofonu"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Za aplikacije i usluge"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Za aplikacije i usluge. Ako je ta postavka isključena, podaci mikrofona i dalje se mogu dijeliti kad nazovete broj hitne službe."</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Ažuriranja o dijeljenju podataka"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Neke su aplikacije promijenile način na koji mogu dijeliti vaše podatke o lokaciji"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Postavke"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Pristupljeno: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Pristupljeno jučer: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Pristupljeno: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Vaša jednokratna zaporka je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ograničena postavka"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Radi vaše sigurnosti ova postavka trenutačno nije dostupna."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikaciji je odbijen pristup dopuštenju <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacija je zatražila pristup dopuštenju za osjetljive podatke koje može ugroziti vaše osobne i financijske podatke.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće pravilno funkcionirati bez tog ograničenog dopuštenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako omogućiti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikaciji je odbijen pristup da prema zadanim postavkama bude <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacija je zatražila pristup dopuštenjima za osjetljive podatke koja mogu ugroziti vaše osobne i financijske podatke.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće pravilno funkcionirati bez tih ograničenih dopuštenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako omogućiti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikaciji je odbijen pristup"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Pristup tom dopuštenju može ugroziti vaše osobne i financijske podatke.<xliff:g id="ID_1"><br><br></xliff:g>Moguće je da aplikacija neće pravilno funkcionirati bez tog ograničenog dopuštenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saznajte kako omogućiti pristup</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saznajte više"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"U redu"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Upit za dopuštenje je spriječen"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Aplikacija zahtijeva dodatna dopuštenja, no dopuštenja se ne mogu odobriti u sesiji streaminga. Dopuštenje najprije odobrite na telefonu."</string> </resources> diff --git a/PermissionController/res/values-hu-v34/strings.xml b/PermissionController/res/values-hu-v34/strings.xml index 1a01b1cc0..b9c4af390 100644 --- a/PermissionController/res/values-hu-v34/strings.xml +++ b/PermissionController/res/values-hu-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Az egészségügyi adatokhoz való alkalmazás-hozzáférés kezelése"</string> <string name="location_settings" msgid="8863940440881290182">"Helyhozzáférés"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Alkalmazásoknál és szolgáltatásoknál. Ha ki van kapcsolva ez a beállítás, segélyhívó szám hívásakor a rendszer továbbra is megoszthatja a mikrofonadatokat."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Alkalmazásoknál és szolgáltatásoknál"</string> </resources> diff --git a/PermissionController/res/values-hu-watch/strings.xml b/PermissionController/res/values-hu-watch/strings.xml index 6022530fa..54ef0998b 100644 --- a/PermissionController/res/values-hu-watch/strings.xml +++ b/PermissionController/res/values-hu-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nem változtatható"</string> <string name="generic_yes" msgid="2489207724988649846">"Igen"</string> <string name="generic_cancel" msgid="2631708607129269698">"Mégse"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Mindig"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Az app használata közben"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Mindig"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Az app használata közben"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Mindig"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Az app használata közben"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Mindig"</string> </resources> diff --git a/PermissionController/res/values-hu/strings.xml b/PermissionController/res/values-hu/strings.xml index c47c9ee9f..166fe9d3f 100644 --- a/PermissionController/res/values-hu/strings.xml +++ b/PermissionController/res/values-hu/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Az összes engedély"</string> <string name="other_permissions" msgid="2901186127193849594">"Egyéb alkalmazáslehetőségek"</string> <string name="permission_request_title" msgid="8790310151025020126">"Engedélykérés"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"A Wear nem támogatja a telepítés/eltávolítás műveletet."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Válassza ki, hogy a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mihez férjen hozzá"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"A(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> frissítése megtörtént. Válassza ki, hogy mihez férjen hozzá ez az alkalmazás."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Mégse"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Mindig az összes engedélyezése"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Mindig kérdezzen rá"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Tiltás"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Pontos hely"</string> <string name="approximate_image_description" msgid="938803699637069884">"Hozzávetőleges hely"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Pontos helyadatok használata"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Ha a pontos hely ki van kapcsolva, akkor az alkalmazások az Ön hozzávetőleges tartózkodási helyéhez férhetnek hozzá"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> – engedély"</string> <string name="app_permission_header" msgid="2951363137032603806">"Alkalmazás hozzáférése a következőhöz: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> – hozzáférés az alkalmazás számára a(z) <xliff:g id="DEVICE_NAME">%2$s</xliff:g> eszközön"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"A(z) <xliff:g id="APP">%1$s</xliff:g> összes engedélyének megtekintése"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Az ezzel az engedéllyel rendelkező összes alkalmazás megtekintése"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mikrofon Segéd általi használatának megjelenítése"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Engedélyek eltávolítása, ha nem használja az alkalmazást"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Engedélytörlés és tárhely-felszabadítás"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"App szüneteltetése, ha nem használja"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Nem használt alkalmazás kezelése"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Engedélyek eltávolítása, ideiglenes fájlok törlése és értesítések leállítása"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Engedélyek eltávolítása, ideiglenes fájlok törlése, értesítések leállítása és az alkalmazás archiválása"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Az adatok védelme érdekében az ennek az alkalmazásnak adott engedélyek visszavonásra kerülnek, ha néhány hónapon át nem használja az alkalmazást."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ha néhány hónapon át nem használja az alkalmazást, az adatok védelme érdekében a rendszer visszavonja a következő engedélyeket: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Az adatok védelme érdekében a rendszer eltávolította a néhány hónapja nem használt alkalmazások engedélyeit."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Engedélyezve az összes fájl kezeléséhez"</string> <string name="ask_header" msgid="2633816846459944376">"Mindig kérdezzen rá"</string> <string name="denied_header" msgid="903209608358177654">"Nem engedélyezett"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"További, minden fájlhoz hozzáférő alkalmazások megtekintése"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 nap}other{# nap}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# óra}other{# óra}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Jegyzetkészítő alkalmazás"</string> <string name="role_notes_description" msgid="8496852798616883551">"Alkalmazások, amelyek lehetővé teszik, hogy jegyzeteket készítsen az eszközén."</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"jegyzetek"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Alapértelmezett Wallet-app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet-app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"A Wallet-alkalmazások tárolhatják a hitel- és hűségkártyákat, az autókulcsokat és egyebeket a tranzakciók különböző formáinak támogatása érdekében."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> beállítása alapértelmezett Wallet-appként?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nincs szükség engedélyre"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aktuális alapérték"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne jelenjen meg többé"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Alapértelmezett"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"További alapértelmezések"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Linkek megnyitása"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Munkahelyi alapértelmezett"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Alapértelmezett a magánterületnél"</string> <string name="default_app_none" msgid="9084592086808194457">"Nincs"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Alapértelmezett)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nincs alkalmazás"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Segédet aktiváló parancsok észlelésének megjelenítése"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Ikon megjelenítése az állapotsoron, amikor a rendszer a mikrofont használja a hangsegéd aktiválásához"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszközön tárolt fotókhoz és médiatartalmakhoz?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen fotókhoz és médiatartalmakhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen fotókhoz és médiatartalmakhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a névjegyekhez?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a névjegyeihez ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a névjegyeihez ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszköz helyadataihoz?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a következő eszköz helyadataihoz: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a(z) <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> helyadataihoz?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Az alkalmazás csak akkor férhet hozzá a helyadatokhoz, amikor Ön használja az alkalmazást"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszköz helyadataihoz?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a következő eszköz helyadataihoz: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a(z) <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> helyadataihoz?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Előfordulhat, hogy az alkalmazás akkor is hozzá szeretne férni a helyadataihoz, amikor nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Megváltoztatja a helyadatokhoz való hozzáférést a következő számára: <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> helyadatokhoz való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> helyadatokhoz való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Az alkalmazás akkor is hozzá szeretne férni az Ön helyadataihoz, amikor Ön nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"A(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> megkeresheti a közeli eszközöket, meghatározhatja relatív pozíciójukat, és csatlakozhat hozzájuk?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Megtalálhatja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> a közeli eszközöket, csatlakozhat hozzájuk, és meghatározhatja a relatív pozíciójukat itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Megtalálhatja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> a közeli eszközöket, csatlakozhat hozzájuk, és meghatározhatja a relatív pozíciójukat itt: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"A(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> megkeresheti a közeli eszközöket, meghatározhatja relatív pozíciójukat, és csatlakozhat hozzájuk? "<annotation id="link">"Engedélyezés a beállításokban."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Megváltoztatja a(z) <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> helyhozzáférését hozzávetőlegesről pontosra?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Módosítja a(z) <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> számára biztosított helyhozzáférést hozzávetőlegesről pontosra ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Módosítja a(z) <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> számára biztosított helyhozzáférést hozzávetőlegesről pontosra ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszköz hozzávetőleges helyadataihoz?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a következő hozzávetőleges helyéhez: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a(z) <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> hozzávetőleges helyéhez?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Pontos"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Hozzávetőleges"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a naptárhoz?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a naptárhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a naptárához ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy SMS-eket küldhessen és tekinthessen meg?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy SMS-eket küldjön és tekintsen meg itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára az SMS-ek küldését és megtekintését ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszközön tárolt fotókhoz, médiatartalmakhoz és fájlokhoz?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a fotókhoz, médiatartalmakhoz és fájlokhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy fotókhoz, médiatartalmakhoz és fájlokhoz férjen hozzá ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Hozzáférhet a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> az eszközön lévő <b>fotókhoz, videókhoz, zenékhez és hangfájlokhoz</b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Hozzáférhet a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> az eszközön tárolt <b>fotókhoz, hang-, videó- és egyéb fájlokhoz</b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Hozzáférhet a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> az eszközön tárolt zenékhez és egyéb hanganyagokhoz?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a zenékhez ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a zenékhez ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Hozzáférhet a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> az eszközön tárolt fotókhoz és videókhoz?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a fotókhoz és a videókhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a fotókhoz és a videókhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az eszközön tárolt további fotókhoz és videókhoz?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen további képekhez és videókhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy további fotókhoz és videókhoz férjen hozzá ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hangfelvételt készíthessen?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hangfelvételt készítsen ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hanganyagot rögzítsen ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Az alkalmazás csak akkor tud majd hangfelvételt készíteni, amikor Ön használja az alkalmazást."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hangfelvételt készíthessen?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hangfelvételt készítsen ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hanganyagot rögzítsen ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Lehet, hogy az alkalmazás akkor is szeretne hangfelvételt készíteni, amikor Ön nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Módosítja a mikrofonhoz való hozzáférést a következő számára: <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mikrofonhoz való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mikrofonhoz való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Az alkalmazás akkor is szeretne hangfelvételt készíteni, amikor Ön nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára a testmozgási adataihoz való hozzáférést?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a testmozgásadatokhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a testmozgásadatokhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy képeket és videókat készíthessen?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy képeket és videót készítsen ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Engedélyezi, hogy a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> képet készítsen és videót rögzítsen ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Az alkalmazás csak akkor tud majd fényképeket és videókat készíteni, amikor Ön használja az alkalmazást."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy fényképeket és videókat készíthessen?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy képeket és videót készítsen ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Engedélyezi, hogy a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> képet készítsen és videót rögzítsen ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Lehet, hogy az alkalmazás akkor is szeretne fotókat és videókat készíteni, amikor Ön nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Módosítja a kamerához való hozzáférést a következő számára: <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kamerához való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Módosítja a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kamerához való hozzáférését ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Az alkalmazás akkor is szeretne fényképeket és videókat készíteni, amikor Ön nem használja az alkalmazást. "<annotation id="link">"A beállításokban engedélyezheti."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Engedélyezi, hogy a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> hozzáférjen az Ön hívásnaplóihoz?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a telefon hívásnaplóihoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen a telefonja hívásnaplóihoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hívásokat indíthasson és kezelhessen?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hívást indítson, és kezelje a hívásokat itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy telefonhívásokat indítson és kezeljen ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életjelekkel kapcsolatos szenzoradatokhoz?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életfunkciókkal kapcsolatos szenzoradatokhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életfunkciókkal kapcsolatos szenzoradatokhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ez az alkalmazás akkor is hozzá szeretne férni az életjelekkel kapcsolatos szenzoradatokhoz, ha nincs használatban. A módosításhoz "<annotation id="link">"lépjen a beállításokhoz."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életjelekkel kapcsolatos szenzoradatokhoz?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életfunkció-adatokhoz itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen az életfunkciókkal kapcsolatos szenzoradatokhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Ha engedélyezni szeretné, hogy ez az alkalmazás mindig hozzáférjen a testérzékelők adataihoz (még akkor is, amikor nem használja), "<annotation id="link">"lépjen a beállításokhoz"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Továbbra is hozzáférhessen használat közben a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> alkalmazás a testérzékelők adataihoz?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"A(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> továbbra is hozzáférhet a testérzékelők adataihoz használat közben itt: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Továbbra is engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy hozzáférjen testérzékelő-adatokhoz ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, amíg az alkalmazás használatban van?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy értesítéseket küldjön Önnek?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy értesítéseket küldjön Önnek ezen az eszközön: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Engedélyezi a(z) <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> számára, hogy értesítéseket küldjön Önnek ezen az eszközön: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Szabályozott engedélyek"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> hozzáfér a tartózkodási helyhez"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Szervezete lehetővé teszi a(z) <xliff:g id="APP_NAME">%1$s</xliff:g> számára, hogy hozzáférjen az Ön tartózkodási helyéhez"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nincs"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Elmúlt\n24 óra"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Az elmúlt\nhét napban"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> százalék"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> Androiddal védett. Mivel adatainak feldolgozása ezen az eszközön történik, az alkalmazás engedélyhasználata nem jelenik meg az állapotsorban vagy az Ön adatvédelmi irányítópultján."</string> <string name="exempt_info_label" msgid="6286190981253476699">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> Androiddal védett. Mivel adatainak feldolgozása ezen az eszközön történik, az alkalmazás engedélyhasználata nem jelenik meg az Ön adatvédelmi irányítópultján."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Az eszköz kamerája le van tiltva"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Alkalmazásoknál és szolgáltatásoknál"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Segélyhívó szám hívásakor a rendszer továbbra is megoszthatja a mikrofonadatokat."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Módosítás"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"A kamerához való hozzáférés ki van kapcsolva"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Infotainment típusú appok számára"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Szükséges alkalmazások számára"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ez egy szükséges alkalmazás"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ennek az alkalmazásnak a használatát előírja az autó gyártója"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Biztonság és adatvédelem"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Eszközvizsgálat"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Elvetés"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Adatmegosztási frissítések"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Egyes alkalmazások módosították, hogy miként oszthatják meg az Ön helyadatait"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Beállítások"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Hozzáférés: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Hozzáférés: tegnap, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Hozzáférés: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Az Ön egyszer használatos jelszava: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Korlátozott beállítás"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Biztonsága érdekében ez a beállítás jelenleg nem használható."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Az app nem kapott hozzáférést a következőhöz: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Az alkalmazás hozzáférési engedélyt kért a bizalmas adatokhoz, ami veszélybe sodorhatja az Ön személyes és pénzügyi adatait.<xliff:g id="ID_1"><br><br></xliff:g>Lehetséges, hogy az alkalmazás nem működik megfelelően enélkül a korlátozott engedély nélkül. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>További információ a hozzáférés megadásának módjáról.</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Az app nem kapott hozzáférést a következőhöz: alapértelmezett <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Az alkalmazás hozzáférési engedélyt kért a bizalmas adatokhoz, ami veszélybe sodorhatja az Ön személyes és pénzügyi adatait.<xliff:g id="ID_1"><br><br></xliff:g>Lehetséges, hogy az alkalmazás nem működik megfelelően ezen korlátozott engedélyek nélkül. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>További információ a hozzáférés megadásának módjáról.</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Az alkalmazás nem kapott hozzáférést"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Az ehhez az engedélyhez való hozzáférés veszélybe sodorhatja az Ön személyes és pénzügyi adatait.<xliff:g id="ID_1"><br><br></xliff:g>Lehetséges, hogy az alkalmazás nem működik megfelelően enélkül a korlátozott engedély nélkül. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>További információ a hozzáférés megadásának módjáról.</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"További információ"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Engedélykérés letiltva"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ez az alkalmazás további engedélyeket kér, de az engedélyeket nem lehet megadni streamelési munkamenetben. Előbb adja meg az engedélyeket a telefonján."</string> </resources> diff --git a/PermissionController/res/values-hy-v34/strings.xml b/PermissionController/res/values-hy-v34/strings.xml index fb8997eb1..20d4b3b5e 100644 --- a/PermissionController/res/values-hy-v34/strings.xml +++ b/PermissionController/res/values-hy-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Կառավարեք առողջության մասին տվյալների հասանելիությունը հավելվածների համար"</string> <string name="location_settings" msgid="8863940440881290182">"Տեղորոշման թույլտվություն"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Հավելվածների և ծառայությունների համար։ Եթե այս կարգավորումն անջատված է, խոսափողի տվյալները միևնույն է կարող են փոխանցվել, երբ զանգեք արտակարգ իրավիճակների որևէ հեռախոսահամարի"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Հավելվածների և ծառայությունների համար"</string> </resources> diff --git a/PermissionController/res/values-hy-watch/strings.xml b/PermissionController/res/values-hy-watch/strings.xml index 77f8f5afe..b62e2d035 100644 --- a/PermissionController/res/values-hy-watch/strings.xml +++ b/PermissionController/res/values-hy-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Հնարավոր չէ փոխել"</string> <string name="generic_yes" msgid="2489207724988649846">"Այո"</string> <string name="generic_cancel" msgid="2631708607129269698">"Չեղարկել"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Միշտ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Հավելվածն օգտագործելիս"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Միշտ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Հավելվածն օգտագործելիս"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Միշտ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Հավելվածն օգտագործելիս"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Միշտ"</string> </resources> diff --git a/PermissionController/res/values-hy/strings.xml b/PermissionController/res/values-hy/strings.xml index 8d92099d2..d55099928 100644 --- a/PermissionController/res/values-hy/strings.xml +++ b/PermissionController/res/values-hy/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Բոլոր թույլտվությունները"</string> <string name="other_permissions" msgid="2901186127193849594">"Էլ ինչ կարող է անել հավելվածը"</string> <string name="permission_request_title" msgid="8790310151025020126">"Թույլտվության հարցում"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Տեղադրման/հեռացման գործողությունները Android Wear-ում չեն աջակցվում:"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Ընտրեք՝ ինչ թույլտվություններ եք ուզում տրամադրել <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածը թարմացվել է: Ընտրեք՝ ինչ թույլտվություններ եք ուզում տրամադրել այդ հավելվածին:"</string> <string name="review_button_cancel" msgid="2191147944056548886">"Չեղարկել"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Միշտ թույլատրել բոլորը"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ամեն անգամ հարցնել"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Չթույլատրել"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Ճշգրիտ տեղադրություն"</string> <string name="approximate_image_description" msgid="938803699637069884">"Մոտավոր տեղադրություն"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Օգտագործել ճշգրիտ տեղադրությունը"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Եթե ճշգրիտ տեղադրությունն անջատված է, հավելվածին հասանելի է ձեր մոտավոր գտնվելու վայրը"</string> <string name="app_permission_title" msgid="2090897901051370711">"«<xliff:g id="PERM">%1$s</xliff:g>» թույլտվություն"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> օգտագործելու թույլտվություն այս հավելվածի համար"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g>ն օգտագործելու թույլտվություն այս հավելվածի համար <xliff:g id="DEVICE_NAME">%2$s</xliff:g> սարքում"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Տեսնել «<xliff:g id="APP">%1$s</xliff:g>» հավելվածի բոլոր թույլտվությունները"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Դիտել այս թույլտվությունն ունեցող հավելվածների ցանկը"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Ցույց տալ օգնականի կողմից խոսափողի օգտագործման վիճակագրությունը"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Հեռացնել թույլտվությունները, եթե հավելվածը չի օգտագործվում"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Հեռացնել թույլտվությունները և տարածք ազատել"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Դադարեցնել աշխատանքը ոչ ակտիվ վիճակում"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Կառավարել հավելվածը, եթե չի օգտագործվում"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Հեռացնել թույլտվությունները, ջնջել ժամանակավոր ֆայլերը և դադարեցնել ծանուցումները"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Հեռացնել թույլտվությունները, ջնջել ժամանակավոր ֆայլերը, դադարեցնել ծանուցումները և արխիվացնել հավելվածը"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Եթե հավելվածը չի օգտագործվել մի քանի ամիս, դրա թույլտվությունները կհեռացվեն՝ ձեր տվյալները պաշտպանելու համար։"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Եթե հավելվածը չի օգտագործվել մի քանի ամիս, ձեր տվյալները պաշտպանելու համար հետևյալ թույլտվությունները կհեռացվեն՝ <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Հավելվածներից, որոնք մի քանի ամիս չեք օգտագործել, թույլտվությունները հեռացվել են՝ ձեր տվյալները պաշտպանելու համար։"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Հավելվածներ, որոնց հասանելի են բոլոր ֆայլերը"</string> <string name="ask_header" msgid="2633816846459944376">"Ամեն անգամ հարցնել"</string> <string name="denied_header" msgid="903209608358177654">"Արգելված"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> <xliff:g id="DEVICE_NAME">%2$s</xliff:g> սարքում"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Տեսնել այլ հավելվածներ, որոնց հասանելի են բոլոր ֆայլերը"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 օր}one{# օր}other{# օր}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ժամ}one{# ժամ}other{# ժամ}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Նշումների հավելված"</string> <string name="role_notes_description" msgid="8496852798616883551">"Հավելվածներ, որոնք թույլ են տալիս նշումներ ստեղծել ձեր սարքում"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"նշումներ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Դրամապանակի կանխադրված հավելված"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Դրամապանակի հավելված"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Դրամապանակի հավելվածները կարող են պահել ձեր վարկային և մշտական հաճախորդի քարտերը, մեքենայի բանալիները և այլ բաներ, որոնք կհեշտացնեն ձեր գործարքները։"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Նշե՞լ <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը որպես դրամապանակի կանխադրված հավելված"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Թույլտվություններ հարկավոր չեն"</string> <string name="request_role_current_default" msgid="738722892438247184">"Օգտագործվում է ըստ կանխադրման"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Նորից չհարցնել"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Նշել կանխադրված"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Այլ կանխադրված հավելվածներ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Հղումների բացում"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Կանխադրված՝ աշխատանքի համար"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Կանխադրված հավելվածներ մասնավոր տարածքի համար"</string> <string name="default_app_none" msgid="9084592086808194457">"Չկա"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Համակարգի կանխադրված հավելված)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Հավելվածներ չկան"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Ցույց տալ ձայնային օգնականի ակտիվացման պատկերակը"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Ցույց տալ պատկերակը կարգավիճակի գոտում, երբ ձայնային օգնականի ակտիվացման համար օգտագործվում է խոսափողը"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել սարքի լուսանկարներն ու մուլտիմեդիա ֆայլերը"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> լուսանկարներն ու մեդիա ֆայլերը։"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել լուսանկարներ և մեդիա ֆայլեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ի</b> սարքում"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր կոնտակտները"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր կոնտակտները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր կոնտակտները <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի տեղադրության տվյալները"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ի</b> տեղադրության տվյալները։"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքի տեղադրությունը"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Տեղադրության տվյալները հասանելի կլինեն հավելվածին, միայն երբ այն օգտագործելիս լինեք"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի տեղադրության տվյալները"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ի</b> տեղադրության մասին տվյալները։"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքի տեղադրությունը"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Հավելվածին անհրաժեշտ է ձեր գտնվելու վայրը հետագծելու թույլտվություն, նույնիսկ երբ դուք չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ"</annotation>"։"</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Փոխե՞լ տեղադրության մասին տվյալների հասանելիությունը <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար։"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Փոխե՞լ տեղորոշման թույլտվությունը <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ի համար ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Փոխե՞լ տեղորոշման թույլտվությունը <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Հավելվածին անհրաժեշտ է ձեր գտնվելու վայրը հետագծելու թույլտվություն, նույնիսկ երբ դուք չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ"</annotation>"։"</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին գտնել մոտակա սարքերը, միանալ դրանց և որոշել դրանց հարաբերական դիրքավորումը։"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին գտնել մոտակա սարքերը, միանալ դրանց և որոշել դրանց հարաբերական դիրքը <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին գտնել մոտակա սարքերը, միանալ դրանց և որոշել դրանց հարաբերական դիրքը"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին գտնել մոտակա սարքերը, միանալ դրանց և որոշել դրանց հարաբերական դիրքավորումը։ Թույլատրելու համար անցեք "<annotation id="link">"կարգավորումներ։"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"«<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>» հավելվածի տեղորոշումը փոխե՞լ մոտավորից ճգշրիտի"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Թույլատրե՞լ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-ին օգտագործել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> ճշգրիտ տեղադրությունը՝ մոտավորի փոխարեն։"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Թույլատրե՞լ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> հավելվածին օգտագործել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքի ճշգրիտ տեղադրությունը՝ մոտավորի փոխարեն"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի մոտավոր տեղադրությունը"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> մոտավոր տեղադրությունը։"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքի մոտավոր տեղադրությունը"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Ճշգրիտ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Մոտավոր"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր օրացույցը:"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր օրացույցը <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր օրացույցը <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ուղարկել և դիտել SMS հաղորդագրություններ:"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին SMS-ներ ուղարկել և դիտել <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ուղարկել և կարդալ SMS հաղորդագրություններ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել սարքում պահված լուսանկարները, մուլտիմեդիան և ֆայլերը"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> լուսանկարները, մեդիա նյութերը և ֆայլերը։"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել լուսանկարներ, մեդիա ֆայլեր և այլ ֆայլեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի <b>լուսանկարները, տեսանյութերը, երաժշտությունը և աուդիո ֆայլերը</b>"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի <b>նկարները, երգերը, տեսանյութերը, աուդիո ֆայլերը և մյուս ֆայլերը</b>"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի երաժշտությունը և մյուս աուդիո ֆայլերը"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> երաժշտությունը և մյուս աուդիո ֆայլերը։"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել երաժշտական և աուդիո ֆայլեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի լուսանկարներն ու տեսանյութերը"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել <b><xliff:g id="DEVICE">%2$s</xliff:g>ի</b> լուսանկարներն ու տեսանյութերը։"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել լուսանկարներ և տեսանյութեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այս սարքի լուսանկարներն ու տեսանյութերը"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել այլ լուսանկարներ և տեսանյութեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել այլ լուսանկարներ և տեսանյութեր <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ձայնագրել"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին ձայնագրություններ անել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ձայնագրել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Այս հավելվածը կկարողանա ձայնագրություններ անել միայն, երբ այն օգտագործելիս լինեք"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ձայնագրություններ անել։"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին ձայնագրություններ անել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ձայնագրել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Այս հավելվածը հավանաբար կուզենա ձայնագրություններ անել նույնիսկ այն ժամանակ, երբ չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ։"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Փոխե՞լ խոսափողի հասանելիության կարգավորումները <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար։"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Փոխե՞լ խոսափողի հասանելիության կարգավորումները <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ի համար ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Փոխե՞լ խոսափողի օգտագործման թույլտվությունը <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Այս հավելվածն ուզւոմ է ձայնագրություններ անել նույնիսկ այն ժամանակ, երբ չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ։"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր ֆիզիկական ակտիվության տվյալները"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր ֆիզիկական ակտիվության տվյալները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր ֆիզիկական ակտիվության տվյալները <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին լուսանկարել և տեսագրել"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին լուսանկարել և տեսագրել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին լուսանկարել և տեսագրել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Այս հավելվածը կկարողանա լուսանկարել և տեսագրել միայն, երբ այն օգտագործելիս լինեք"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին լուսանկարել և տեսագրել։"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին լուսանկարել և տեսագրել ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին լուսանկարել և տեսագրել <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Այս հավելվածը հավանաբար կուզենա լուսանկարել և տեսագրել նույնիսկ այն ժամանակ, երբ չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ։"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Փոխե՞լ տեսախցիկի հասանելիության կարգավորումները <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար։"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Փոխե՞լ տեսախցիկի հասանելիության կարգավորումները <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ի համար ձեր <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Փոխե՞լ տեսախցիկի օգտագործման թույլտվությունը <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածի համար <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Այս հավելվածն ուզում է լուսանկարել և տեսագրել նույնիսկ այն ժամանակ, երբ չեք օգտվում դրանից։ "<annotation id="link">"Թույլտվությունը տրամադրեք այստեղ։"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր հեռախոսազանգերի մատյանները"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր հեռախոսի զանգերի մատյանները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել հեռախոսի զանգերի մատյանը <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին կատարել հեռախոսազանգեր և կառավարել դրանք"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին հեռախոսազանգեր կատարել և կառավարել դրանք <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին կատարել հեռախոսազանգեր և կառավարել դրանք <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին սենսորից ստանալ ձեր կենսագործունեության հիմնական տվյալները:"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Հավելվածին անհրաժեշտ է մարմնի սենսորների տվյալների հասանելիություն, նույնիսկ երբ չեք օգտվում դրանից։ Այս փոփոխությունը կատարելու համար "<annotation id="link">"անցեք կարգավորումներ"</annotation>"։"</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Թույլ տա՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ձեր կենսագործունեության տվյալները ստանալ սենսորներից"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին օգտագործել ձեր մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին օգտագործել ձեր մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Եթե ուզում եք, որ այս հավելվածին հասանելի լինեն մարմնի սենսորների տվյալները, նույնիսկ երբ չեք օգտվում հավելվածից, "<annotation id="link">"փոխեք կարգավորումները"</annotation>"։"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Մարմնի սենսորների տվյալները հասանելի դարձնե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին, միայն երբ այն օգտագործվում է"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին աշխատանքի ընթացքում օգտագործել մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին աշխատանքի ընթացքում օգտագործել մարմնի սենսորների տվյալները <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ծանուցումներ ուղարկել ձեզ"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ին ծանուցումներ ուղարկել ձեզ <b><xliff:g id="DEVICE">%2$s</xliff:g>ում</b>։"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Թույլատրե՞լ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> հավելվածին ուղարկել ձեզ ծանուցումներ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> սարքում"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Կառավարվող թույլտվություններ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածն ունի տեղորոշման թույլտվություն"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Ձեր կազմակերպությունը հասանելի է դարձրել ձեր տեղադրությունը <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածին"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Չկա"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Վերջին\n24 ժամը"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Վերջին\n7 օրում"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> տոկոս"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը պաշտպանված է Android-ի կողմից։ Քանի որ ձեր տվյալներն այս սարքում են մշակվում, հավելվածի թույլտվությունների օգտագործումը չի ցուցադրվում թույլտվությունների կառավարման վահանակի կարգավիճակի գոտում։"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը պաշտպանված է Android-ի կողմից։ Քանի որ ձեր տվյալներն այս սարքում են մշակվում, հավելվածի թույլտվությունների օգտագործումը չի ցուցադրվում թույլտվությունների կառավարման վահանակում։"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Սարքի տեսախցիկն արգելափակված է"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Հավելվածների և ծառայությունների համար"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Խոսափողի տվյալները կարող են դեռ փոխանցվել, երբ զանգեք արտակարգ իրավիճակների որևէ հեռախոսահամարի։"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Փոխել"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Տեսախցիկի հասանելիությունն անջատված է"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Տեղեկատվաժամանցային հավելվածներ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Պահանջվող հավելվածների համար"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Այս հավելվածը պարտադիր է"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Այս հավելվածը պահանջվում է ձեր մեքենայի արտադրողի կողմից"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Անվտանգություն և գաղտնիություն"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Սկանավորել սարքը"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Փակել"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Տվյալներով կիսվելու եղանակի փոփոխություն"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Որոշ հավելվածներ փոխել են ձեր տեղադրության տվյալներով կիսվելու եղանակը"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Կարգավորումներ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Բացվել է <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Բացվել է երեկ, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Բացվել է <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Մեկանգամյա օգտագործման ձեր գաղտնաբառը՝ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Սահմանափակումներով կարգավորում"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Անվտանգության նկատառումներից ելնելով՝ այս կարգավորումը ներկայումս անհասանելի է։"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Հավելվածին մերժվել է <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>ի օգտագործման թույլտվությունը"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Հավելվածը հայցել է կոնֆիդենցիալ տեղեկությունների օգտագործման թույլտվություն, որը կարող է վտանգի ենթարկել ձեր անձնական և ֆինանսական տեղեկությունները։<xliff:g id="ID_1"><br><br></xliff:g>Հնարավոր է, որ առանց այս սահմանափակված թույլտվության՝ հավելվածը չաշխատի պատշաճ կերպով։ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ինչպես տրամադրել տվյալների օգտագործման թույլտվություն</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Հավելվածին մերժվել է «<xliff:g id="ROLE_NAME">%1$s</xliff:g>» կատեգորիայում կանխադրված լինելու թույլտվությունը"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Հավելվածը հայցել է կոնֆիդենցիալ տեղեկությունների օգտագործման թույլտվություններ, որոնք կարող են վտանգի ենթարկել ձեր անձնական և ֆինանսական տեղեկությունները։<xliff:g id="ID_1"><br><br></xliff:g>Հնարավոր է, որ առանց այս սահմանափակված թույլտվությունների՝ հավելվածը չաշխատի պատշաճ կերպով։ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ինչպես տրամադրել տվյալների օգտագործման թույլտվություն</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Հավելվածին մերժվել է թույլտվությունը"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Եթե տրամադրեք այս թույլտվությունը, ձեր անձնական և ֆինանսական տեղեկությունները կարող են վտանգված լինել։<xliff:g id="ID_1"><br><br></xliff:g>Հնարավոր է, որ առանց այս սահմանափակված թույլտվության՝ հավելվածը չաշխատի պատշաճ կերպով։ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ինչպես տրամադրել տվյալների օգտագործման թույլտվություն</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Իմանալ ավելին"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Եղավ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Թույլտվության հայտն արգելափակվել է"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Այս հավելվածը պահանջում է լրացուցիչ թույլտվություններ, սակայն դրանք հնարավոր չէ տրամադրել հեռարձակման ժամանակ։ Նախ տրամադրեք թույլտվությունը ձեր հեռախոսում։"</string> </resources> diff --git a/PermissionController/res/values-in-v33/strings.xml b/PermissionController/res/values-in-v33/strings.xml index b74e806df..90be234ea 100644 --- a/PermissionController/res/values-in-v33/strings.xml +++ b/PermissionController/res/values-in-v33/strings.xml @@ -27,7 +27,7 @@ <string name="safety_center_entry_group_with_actions_needed_content_description" msgid="2708884606775932657">"Daftar. <xliff:g id="ENTRY_TITLE">%1$s</xliff:g>. Diperlukan tindakan. <xliff:g id="ENTRY_SUMMARY">%2$s</xliff:g>"</string> <string name="safety_center_entry_group_item_content_description" msgid="7348298582877249787">"Item daftar. <xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string> <string name="safety_center_entry_content_description" msgid="3639565652938224321">"<xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string> - <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"Peringatan lainnya"</string> + <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"Peringatan lain"</string> <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"Peringatan yang ditutup"</string> <string name="safety_center_more_issues_card_expand_action" msgid="7109451851052272946">"{count,plural, =1{Luaskan untuk melihat satu peringatan lain}other{Luaskan untuk melihat # peringatan lain}}"</string> <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"Peringatan. <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string> diff --git a/PermissionController/res/values-in-v34/strings.xml b/PermissionController/res/values-in-v34/strings.xml index 7e0c0a609..f6855807d 100644 --- a/PermissionController/res/values-in-v34/strings.xml +++ b/PermissionController/res/values-in-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Kelola akses aplikasi ke data kesehatan"</string> <string name="location_settings" msgid="8863940440881290182">"Akses lokasi"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Untuk aplikasi dan layanan. Jika setelan ini nonaktif, data mikrofon mungkin tetap dibagikan saat Anda menelepon nomor darurat"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Untuk aplikasi dan layanan"</string> </resources> diff --git a/PermissionController/res/values-in-watch/strings.xml b/PermissionController/res/values-in-watch/strings.xml index 91c107aa0..c124feda4 100644 --- a/PermissionController/res/values-in-watch/strings.xml +++ b/PermissionController/res/values-in-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Tidak dapat diubah"</string> <string name="generic_yes" msgid="2489207724988649846">"Ya"</string> <string name="generic_cancel" msgid="2631708607129269698">"Batal"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Semua"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Saat menggunakan aplikasi"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Semua"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Saat menggunakan aplikasi"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Semua"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Saat menggunakan aplikasi"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Semua"</string> </resources> diff --git a/PermissionController/res/values-in/strings.xml b/PermissionController/res/values-in/strings.xml index 37df6c326..268b65463 100644 --- a/PermissionController/res/values-in/strings.xml +++ b/PermissionController/res/values-in/strings.xml @@ -50,12 +50,12 @@ <string name="permission_revoked_all" msgid="3397649017727222283">"semua dinonaktifkan"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"tidak ada yang dinonaktifkan"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Izinkan"</string> - <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Izinkan sepanjang waktu"</string> + <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Selalu izinkan"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Saat aplikasi digunakan"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Ubah ke lokasi presisi"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Tetap gunakan perkiraan"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Hanya kali ini"</string> - <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Izinkan sepanjang waktu"</string> + <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Selalu izinkan"</string> <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"Izinkan pengelolaan semua file"</string> <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"Izinkan akses ke file media"</string> <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"Aplikasi"</string> @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"Anda menolak akses <xliff:g id="APP_NAME">%1$s</xliff:g> ke <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Hari ini}=1{1 hari lalu}other{# hari lalu}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Nonaktifkan aplikasi"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jika Anda menonaktifkan aplikasi ini, Android dan aplikasi lain mungkin tidak berfungsi lagi sesuai harapan. Perlu diingat, Anda tidak dapat menghapus aplikasi yang disertakan oleh pabrikan di perangkat Anda. Namun, Anda dapat menonaktifkannya, yang berarti mematikan dan menyembunyikan aplikasi tersebut di perangkat Anda."</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jika aplikasi ini dinonaktifkan, Android dan aplikasi lain mungkin tidak berfungsi normal. Perlu diingat, Anda tidak dapat menghapus aplikasi ini karena merupakan bawaan perangkat. Namun, Anda dapat menonaktifkannya, yang berarti mematikan dan menyembunyikannya di perangkat."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Pengelola izin"</string> <string name="never_ask_again" msgid="4728762438198560329">"Jangan tanya lagi"</string> <string name="no_permissions" msgid="3881676756371148563">"Tidak ada izin"</string> @@ -109,15 +109,13 @@ <!-- no translation found for background_access_chooser_dialog_choices:0 (1351721623256561996) --> <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) --> <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) --> - <string name="permission_access_always" msgid="1474641821883823446">"Izinkan sepanjang waktu"</string> + <string name="permission_access_always" msgid="1474641821883823446">"Selalu izinkan"</string> <string name="permission_access_only_foreground" msgid="7801170728159326195">"Izinkan saat aplikasi digunakan"</string> <string name="permission_access_never" msgid="4647014230217936900">"Jangan izinkan"</string> <string name="loading" msgid="4789365003890741082">"Memuat…"</string> <string name="all_permissions" msgid="6911125611996872522">"Semua izin"</string> <string name="other_permissions" msgid="2901186127193849594">"Kemampuan aplikasi lainnya"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permintaan izin"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Instal/Uninstal tidak didukung di Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Pilih item yang boleh diakses oleh <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> telah diperbarui. Pilih item yang boleh diakses oleh aplikasi ini."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Batal"</string> @@ -129,7 +127,7 @@ <string name="permission_usage_title" msgid="1568233336351734538">"Dasbor privasi"</string> <string name="auto_permission_usage_summary" msgid="7335667266743337075">"Lihat aplikasi yang baru saja menggunakan izin"</string> <string name="permission_group_usage_title" msgid="2595013198075285173">"Penggunaan <xliff:g id="PERMGROUP">%1$s</xliff:g>"</string> - <string name="perm_usage_adv_info_title" msgid="3357831829538873708">"Lihat izin lainnya"</string> + <string name="perm_usage_adv_info_title" msgid="3357831829538873708">"Lihat izin lain"</string> <string name="perm_usage_adv_info_summary_2_items" msgid="3702175198750127822">"<xliff:g id="PERMGROUP_0">%1$s</xliff:g>, <xliff:g id="PERMGROUP_1">%2$s</xliff:g>"</string> <string name="perm_usage_adv_info_summary_more_items" msgid="949055326299562218">"<xliff:g id="PERMGROUP_0">%1$s</xliff:g>, <xliff:g id="PERMGROUP_1">%2$s</xliff:g>, dan <xliff:g id="NUM">%3$s</xliff:g> lainnya"</string> <string name="permission_group_usage_subtitle_24h" msgid="5120155996322114181">"Linimasa penggunaan <xliff:g id="PERMGROUP">%1$s</xliff:g> Anda oleh aplikasi dalam 24 jam terakhir"</string> @@ -188,17 +186,20 @@ <string name="app_permission_button_allow" msgid="5808039516494774647">"Izinkan"</string> <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Izinkan pengelolaan semua file"</string> <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Izinkan akses hanya ke media"</string> - <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Izinkan sepanjang waktu"</string> - <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Izinkan hanya saat aplikasi digunakan"</string> + <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Selalu izinkan"</string> + <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Izinkan saat aplikasi digunakan"</string> <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Selalu izinkan semua"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Selalu tanya"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Jangan izinkan"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Lokasi presisi"</string> <string name="approximate_image_description" msgid="938803699637069884">"Perkiraan lokasi"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Gunakan lokasi presisi"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Saat lokasi presisi dinonaktifkan, aplikasi dapat mengakses perkiraan lokasi"</string> <string name="app_permission_title" msgid="2090897901051370711">"Izin <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Akses <xliff:g id="PERM">%1$s</xliff:g> untuk aplikasi ini"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Akses <xliff:g id="PERM">%1$s</xliff:g> untuk aplikasi ini di <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Lihat semua izin <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Lihat semua aplikasi yang memiliki izin ini"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Tampilkan penggunaan mikrofon Asisten"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Hapus izin jika aplikasi tidak digunakan"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Hapus izin & kosongkan ruang penyimpanan"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Jeda aktivitas aplikasi jika tak dipakai"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Kelola aplikasi jika tidak digunakan"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Hapus izin dan file sementara, serta hentikan notifikasi"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Hapus izin dan file sementara, hentikan notifikasi, dan arsipkan aplikasi"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Untuk melindungi data Anda, izin aplikasi ini akan dihapus jika aplikasi tidak digunakan dalam beberapa bulan."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Untuk melindungi data Anda, izin berikut akan dihapus jika aplikasi tidak digunakan dalam beberapa bulan: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Untuk melindungi data Anda, izin dari aplikasi yang tidak digunakan dalam beberapa bulan telah dihapus."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Diizinkan untuk mengelola semua file"</string> <string name="ask_header" msgid="2633816846459944376">"Selalu tanya"</string> <string name="denied_header" msgid="903209608358177654">"Tidak diizinkan"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> di <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Lihat aplikasi lain yang dapat mengakses semua file"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 hari}other{# hari}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# jam}other{# jam}}"</string> @@ -359,7 +363,7 @@ <string name="role_browser_request_description" msgid="5888803407905985941">"Tidak ada izin yang diperlukan"</string> <string name="role_dialer_label" msgid="1100224146343237968">"Aplikasi telepon default"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Aplikasi telepon"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"Aplikasi yang memungkinkan Anda melakukan dan menerima panggilan telepon di perangkat"</string> + <string name="role_dialer_description" msgid="8768708633696539612">"Aplikasi yang memungkinkan Anda memulai dan menerima panggilan telepon di perangkat"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Tetapkan <xliff:g id="APP_NAME">%1$s</xliff:g> sebagai aplikasi telepon default Anda?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Aplikasi ini akan diberi akses ke Kamera, Kontak, Mikrofon, Telepon, dan SMS Anda"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"telepon"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikasi catatan"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikasi untuk membuat catatan di perangkat"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"catatan"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Aplikasi dompet default"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikasi dompet"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikasi dompet dapat menyimpan kartu kredit dan kartu loyalitas, kunci mobil, serta hal lain untuk membantu berbagai bentuk transaksi."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Setel <xliff:g id="APP_NAME">%1$s</xliff:g> sebagai aplikasi dompet default?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Tidak ada izin yang diperlukan"</string> <string name="request_role_current_default" msgid="738722892438247184">"Default saat ini"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Jangan tanya lagi"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Jadikan default"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Default lainnya"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Membuka link"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default untuk kerja"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default untuk ruang privasi"</string> <string name="default_app_none" msgid="9084592086808194457">"Tidak ada"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Default sistem)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Tidak ada aplikasi"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Tampilkan deteksi pemicu asisten"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Tampilkan ikon di status bar saat mikrofon digunakan untuk mengaktifkan asisten suara"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan media di perangkat?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan media di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kontak?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kontak di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> <string name="permgrouprequest_location" msgid="6990232580121067883">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi perangkat ini?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikasi ini hanya akan memiliki akses ke lokasi selagi Anda menggunakan aplikasi"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi perangkat ini?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Aplikasi ini mungkin ingin selalu mengakses lokasi, meski tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Ubah akses lokasi untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Ubah akses lokasi untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aplikasi ini mungkin ingin selalu mengakses lokasi, meski tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menemukan, terhubung ke, dan menentukan posisi relatif perangkat di sekitar?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menemukan, menghubungkan, dan menentukan posisi relatif perangkat di sekitar di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menemukan, terhubung ke, dan menentukan posisi relatif perangkat di sekitar? "<annotation id="link">"Izinkan di setelan."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Ubah akses lokasi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> dari perkiraan ke lokasi presisi?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Ubah akses lokasi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> di <b><xliff:g id="DEVICE">%2$s</xliff:g></b> dari perkiraan menjadi presisi?"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses perkiraan lokasi perangkat ini?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses perkiraan lokasi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Presisi"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Perkiraan"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kalender?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kalender di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengirim dan melihat SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengirim dan melihat pesan SMS di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto, media, dan file di perangkat?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto, media, dan file di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses <b>foto, video, musik, dan audio</b> di perangkat ini?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses <b>foto, video, musik, audio, dan file lainnya</b> di perangkat ini?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses musik dan audio di perangkat ini?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses musik dan audio di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video di perangkat ini?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video lainnya di perangkat ini?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video lainnya di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merekam audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merekam audio di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikasi hanya dapat merekam audio saat aplikasi sedang digunakan"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merekam audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merekam audio di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Aplikasi ini mungkin ingin selalu merekam audio, meski aplikasi tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Ubah akses mikrofon untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Ubah akses mikrofon untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Aplikasi ini ingin selalu merekam audio, meski aplikasi tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses aktivitas fisik Anda?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses aktivitas fisik di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merekam video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merekam video di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikasi hanya dapat mengambil gambar dan merekam video saat aplikasi sedang digunakan"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merekam video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merekam video di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Aplikasi ini mungkin ingin selalu mengambil gambar dan merekam video, meski aplikasi tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Ubah akses kamera untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Ubah akses kamera untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Aplikasi ini ingin selalu mengambil gambar dan merekam video, meski aplikasi tidak sedang digunakan. "<annotation id="link">"Izinkan di setelan"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses log panggilan telepon?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses log panggilan telepon di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> melakukan dan mengelola panggilan telepon?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> melakukan dan mengelola panggilan telepon di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor tentang tanda-tanda vital Anda?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor terkait tanda-tanda vital Anda di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplikasi ini ingin selalu mengakses data sensor tentang tanda-tanda vital Anda, meski aplikasi tidak sedang digunakan. Untuk melakukan perubahan ini, "<annotation id="link">"buka setelan"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Izinkan </b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor tentang tanda-tanda vital Anda?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor terkait tanda-tanda vital Anda di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Untuk selalu mengizinkan aplikasi ini mengakses data sensor tubuh, meski saat aplikasi tidak sedang digunakan, "<annotation id="link">"buka setelan."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Terus izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor tubuh saat aplikasi sedang digunakan?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Terus izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data sensor tubuh di <b><xliff:g id="DEVICE">%2$s</xliff:g></b> saat apl sedang digunakan?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengirim notifikasi kepada Anda?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Izinkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengirimi Anda notifikasi di <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"Izin terkontrol"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> memiliki akses lokasi"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organisasi Anda mengizinkan <xliff:g id="APP_NAME">%1$s</xliff:g> mengakses lokasi Anda"</string> @@ -541,6 +578,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Tidak ada"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 jam\nterakhir"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 hari\nterakhir"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g><xliff:g id="PERCENT">%2$d</xliff:g> persen"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> dilindungi dengan Android. Karena data Anda diproses di perangkat ini, penggunaan izin aplikasi ini tidak ditampilkan di status bar atau dasbor privasi Anda."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> dilindungi dengan Android. Karena data Anda diproses di perangkat ini, penggunaan izin aplikasi ini tidak ditampilkan di dasbor privasi Anda."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera perangkat diblokir"</string> @@ -549,6 +587,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Untuk aplikasi dan layanan"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Data mikrofon mungkin tetap dibagikan saat Anda menelepon nomor darurat."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Ubah"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Akses kamera nonaktif"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Untuk aplikasi infotainmen"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Untuk aplikasi yang diperlukan"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Aplikasi ini diperlukan"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Aplikasi ini diperlukan produsen mobil Anda"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Keamanan & privasi"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Pindai perangkat"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Tutup"</string> @@ -636,7 +679,7 @@ <string name="app_permission_rationale_message" msgid="8511466916077100713">"Keamanan data"</string> <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Data lokasi mungkin dibagikan"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Aplikasi ini menyatakan bahwa aplikasi mungkin membagikan data lokasi Anda kepada pihak ketiga"</string> - <string name="data_sharing_updates_title" msgid="7996933386875213859">"Pembaruan berbagi data untuk lokasi"</string> + <string name="data_sharing_updates_title" msgid="7996933386875213859">"Pembaruan berbagi data lokasi"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Tinjau aplikasi yang mengubah caranya berbagi data lokasi Anda"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Aplikasi ini telah mengubah caranya berbagi data lokasi Anda. Aplikasi mungkin sebelumnya tidak membagikan data, atau mungkin kini membagikan data untuk tujuan iklan atau pemasaran."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Developer aplikasi ini memberikan info tentang praktik berbagi data mereka kepada app store. Developer dapat memperbaruinya dari waktu ke waktu.\n\nPraktik berbagi data mungkin berbeda-beda berdasarkan versi aplikasi, penggunaan, wilayah, dan usia Anda."</string> @@ -648,4 +691,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Pembaruan berbagi data"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Beberapa aplikasi mengubah caranya berbagi data lokasi Anda"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Setelan"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Diakses <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Diakses kemarin <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Diakses <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Sandi sekali pakai Anda adalah 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Setelan terbatas"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Demi keamanan Anda, setelan ini tidak tersedia untuk saat ini."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikasi ditolak aksesnya ke <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikasi meminta akses ke izin sensitif yang dapat membahayakan info pribadi dan keuangan Anda.<xliff:g id="ID_1"><br><br></xliff:g>Aplikasi mungkin tidak dapat berfungsi dengan baik tanpa izin terbatas ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtPelajari cara mengizinkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikasi ditolak aksesnya untuk menjadi <xliff:g id="ROLE_NAME">%1$s</xliff:g> default"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikasi meminta akses ke izin sensitif yang dapat membahayakan info pribadi dan keuangan Anda.<xliff:g id="ID_1"><br><br></xliff:g>Aplikasi mungkin tidak dapat berfungsi dengan baik tanpa izin terbatas ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtPelajari cara mengizinkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikasi ditolak aksesnya"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Akses ke izin ini dapat membahayakan info pribadi dan keuangan Anda.<xliff:g id="ID_1"><br><br></xliff:g>Aplikasi mungkin tidak dapat berfungsi dengan baik tanpa izin terbatas ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtPelajari cara mengizinkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Pelajari lebih lanjut"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Oke"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permintaan izin diblokir"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Aplikasi ini meminta izin tambahan, tetapi izin tidak dapat diberikan dalam sesi streaming. Berikan izin di ponsel terlebih dahulu."</string> </resources> diff --git a/PermissionController/res/values-is-v34/strings.xml b/PermissionController/res/values-is-v34/strings.xml index b897bcc71..11b5828c4 100644 --- a/PermissionController/res/values-is-v34/strings.xml +++ b/PermissionController/res/values-is-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Stjórna aðgangi forrita að heilsufarsgögnum"</string> <string name="location_settings" msgid="8863940440881290182">"Aðgangur að staðsetningu"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Fyrir forrit og þjónustur. Þegar slökkt er á þessari stillingu verður hljóðnemagögnum þó hugsanlega deilt þegar þú hringir í neyðarnúmer"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Fyrir forrit og þjónustur"</string> </resources> diff --git a/PermissionController/res/values-is-watch/strings.xml b/PermissionController/res/values-is-watch/strings.xml index 7f01f675c..6bfd6c7f4 100644 --- a/PermissionController/res/values-is-watch/strings.xml +++ b/PermissionController/res/values-is-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Má ekki breyta"</string> <string name="generic_yes" msgid="2489207724988649846">"Já"</string> <string name="generic_cancel" msgid="2631708607129269698">"Hætta við"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Alltaf"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Þegar forrit er notað"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Alltaf"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Þegar forrit er notað"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Alltaf"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Þegar forrit er notað"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Alltaf"</string> </resources> diff --git a/PermissionController/res/values-is/strings.xml b/PermissionController/res/values-is/strings.xml index 4a472afa0..15b015cef 100644 --- a/PermissionController/res/values-is/strings.xml +++ b/PermissionController/res/values-is/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Allar heimildir"</string> <string name="other_permissions" msgid="2901186127193849594">"Aðrir forritseiginleikar"</string> <string name="permission_request_title" msgid="8790310151025020126">"Beiðni um heimild"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Aðgerðir til að setja upp / fjarlægja eru ekki studdar í Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Veldu hverju <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fær aðgang að"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> hefur verið uppfært. Veldu hverju forritið fær aðgang að."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Hætta við"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Alltaf leyfa allt"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Spyrja alltaf"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ekki leyfa"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Nákvæm staðsetning"</string> <string name="approximate_image_description" msgid="938803699637069884">"Áætluð staðsetning"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Nota nákvæma staðsetningu"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Þegar slökkt er á nákvæmri staðsetningu hafa forrit aðgang að áætlaðri staðsetningu"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> - heimild"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: Aðgangur fyrir þetta forrit"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Aðgangur að <xliff:g id="PERM">%1$s</xliff:g> fyrir þetta forrit í <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Sjá allar heimildir fyrir „<xliff:g id="APP">%1$s</xliff:g>“"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Sjá öll forrit með þessa heimild"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Sýna hljóðnemanotkun hjálpara"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Fjarlægja heimildir ef forrit er ekki notað"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Fjarlægja heimildir og losa um pláss"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Gera hlé á forritavirkni ef ekki notað"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Stjórna forriti ef það er ónotað"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Fjarlægja heimildir, eyða tímabundnum skrám og stöðva tilkynningar"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Fjarlægja heimildir, eyða tímabundnum skrám, stöðva tilkynningar og setja forritið í geymslu"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Til að vernda gögnin þín verða heimildir þessa forrits fjarlægðar ef það er ekki notað í nokkra mánuði."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Til að vernda gögnin þín verða eftirfarandi heimildir fjarlægðar ef forritið er ekki notað í nokkra mánuði: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Til að vernda gögnin þín voru heimildir fjarlægðar úr forritum sem þú hefur ekki notað í nokkra mánuði."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Leyfði stjórnun á öllum skrám"</string> <string name="ask_header" msgid="2633816846459944376">"Spyrja alltaf"</string> <string name="denied_header" msgid="903209608358177654">"Ekki heimilað"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> í <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Sjá fleiri forrit sem geta opnað allar skrár"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dagur}one{# dagur}other{# dagar}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# klukkustund}one{# klukkustund}other{# klukkustundir}}"</string> @@ -296,7 +300,7 @@ <string name="accessibility_remove_access_button_label" msgid="44145801526711640">"Fjarlægja aðgang"</string> <string name="accessibility_show_all_apps_button_label" msgid="960067249326392280">"Skoða forrit með fullan aðgang"</string> <string name="accessibility_remove_access_success_label" msgid="4380995302917014670">"Aðgangur fjarlægður"</string> - <string name="safety_center_notification_app_label" msgid="2457720616141926534">"Android kerfið"</string> + <string name="safety_center_notification_app_label" msgid="2457720616141926534">"Android-kerfið"</string> <string name="auto_revoke_after_notification_title" msgid="5417761027669887431">"Heimildir forrits fjarlægðar vegna persónuverndar"</string> <string name="auto_revoke_after_notification_content_one" msgid="6804038707453662753">"<xliff:g id="APP_NAME">%s</xliff:g> hefur ekki verið notað í nokkra mánuði. Ýttu til að skoða."</string> <string name="auto_revoke_after_notification_content_two" msgid="9108709764831425172">"<xliff:g id="APP_NAME">%s</xliff:g> og eitt forrit í viðbót hafa ekki verið notuð í nokkra mánuði. Ýttu til að skoða."</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"neyð"</string> <string name="role_home_label" msgid="3871847846649769412">"Sjálfgefið heimaforrit"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Heimaforrit"</string> - <string name="role_home_description" msgid="7997371519626556675">"Forrit sem koma í stað heimaskjásins í Android tækinu þínu, stundum nefnd ræsiforrit, sem gefa þér aðgang að efni og eiginleikum í tækinu."</string> + <string name="role_home_description" msgid="7997371519626556675">"Forrit sem koma í stað heimaskjásins í Android-tækinu þínu, stundum nefnd ræsiforrit, sem gefa þér aðgang að efni og eiginleikum í tækinu."</string> <string name="role_home_request_title" msgid="738136983453341081">"Velja <xliff:g id="APP_NAME">%1$s</xliff:g> sem sjálfgefið heimaforrit?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Engra heimilda krafist"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"ræsiforrit"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Glósuforrit"</string> <string name="role_notes_description" msgid="8496852798616883551">"Forrit sem gera þér kleift að taka glósur í tækinu þínu"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"glósur"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Sjálfgefið veskisforrit"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Veskisforrit"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Veskisforrit geta geymt kredit- og tryggðarkortin þín, bíllyklana og aðra hluti til að auðvelda þér að ganga frá ýmiskonar greiðslum."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Stilla <xliff:g id="APP_NAME">%1$s</xliff:g> sem sjálfgefið veskisforrit?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Engra heimilda krafist"</string> <string name="request_role_current_default" msgid="738722892438247184">"Núverandi sjálfgefið forrit"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ekki spyrja aftur"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Velja sem sjálfgefið"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Fleiri sjálfgildi"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Opnun tengla"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Sjálfgefið fyrir vinnu"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Sjálfgefið fyrir leynirými"</string> <string name="default_app_none" msgid="9084592086808194457">"Ekkert"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sjálfgildi kerfis)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Engin forrit"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Sýna virkjunarkennsl hjálpara"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Sýna tákn á stöðustiku þegar hljóðnemi er notaður til að ræsa raddaðstoð"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og efni í tækinu?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og efni í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og efni í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tengiliðunum þínum?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tengiliðunum þínum í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tengiliðum þínum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu þessa tækis?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu fyrir: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Forritið hefur aðeins aðgang að staðsetningunni á meðan þú notar forritið"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu þessa tækis?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að staðsetningu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Þetta forrit gæti beðið um aðgang að staðsetningu þinni öllum stundum, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Viltu breyta aðgangi að staðsetningu fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Breyta staðsetningaraðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Breyta staðsetningaraðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Þetta forrit vill fá aðgang að staðsetningu þinni öllum stundum, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að finna, tengjast við og ákvarða fjarlægð milli nálægra tækja?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að finna, tengjast og greina áætlaða staðsetningu nálægra tækja í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að finna, tengjast og greina áætlaða staðsetningu nálægra tækja í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að finna, tengjast við og ákvarða fjarlægð milli nálægra tækja? "<annotation id="link">"Þú getur leyft það í stillingunum."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Breyta aðgangi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> að staðsetningu úr áætlaðri í nákvæma?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Breyta staðsetningaraðgangi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> úr áætluðum í nákvæman í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Breyta staðsetningaraðgangi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> úr áætluðum í nákvæman í: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að áætlaðri staðsetningu þessa tækis?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að áætlaðri staðsetningu fyrir: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að áætlaðri staðsetningu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Nákvæm"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Áætluð"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að dagatalinu þínu?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að dagatalinu þínu í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að dagatalinu þínu í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda og skoða SMS-skilaboð?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda og skoða SMS-skilaboð í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda og skoða SMS-skilaboð í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum, efni og skrám í tækinu?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum, efni og skrám í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum, efni og skrám í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að <b>myndum, myndskeiðum, tónlist og hljóði</b> í þessu tæki?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að <b>myndum, myndskeiðum, tónlist, hljóði og öðrum skrám</b> í þessu tæki?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tónlist og hljóði í þessu tæki?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tónlist og hljóði í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að tónlist og hljóði í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og myndskeiðum í þessu tæki?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og vídeóum í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að myndum og vídeóum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að fleiri myndum og myndskeiðum í þessu tæki?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að fleiri myndum og vídeóum í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að fleiri myndum og vídeóum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð á <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Forritið mun aðeins geta tekið upp hljóð þegar þú ert að nota forritið"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka upp hljóð á <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Þetta forrit gæti viljað taka upp hljóð hvenær sem er, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Viltu breyta aðgangi að hljóðnema fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Breyta hljóðnemaaðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Breyta hljóðnemaaðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Þetta forrit vill taka upp hljóð hvenær sem er, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að fá aðgang að hreyfingu þinni?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að gögnum um hreyfingu í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að gögnum um hreyfingu þína í: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og myndskeið?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og taka upp vídeó í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og taka upp vídeó á <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Forritið mun aðeins geta tekið myndir og tekið upp myndskeið þegar þú ert að nota forritið"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og myndskeið?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og taka upp vídeó í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að taka myndir og taka upp vídeó á <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Þetta forrit gæti viljað taka myndir og taka upp myndskeið hvenær sem er, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Viltu breyta aðgangi að myndavél fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Breyta myndavélaraðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Breyta myndavélaraðgangi fyrir <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Þetta forrit vill taka myndir og taka upp myndskeið hvenær sem er, jafnvel þegar þú ert ekki að nota forritið. "<annotation id="link">"Þú getur leyft það í stillingum."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að símtalaskrám símans?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að símtalaskránum þínum í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að símtalaskrám þínum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Viltu leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að hringja og stjórna símtölum?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að hringja og stjórna símtölum í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að hringja úr og stjórna símtölum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Þetta forrit vill fá stöðugan aðgang að skynjaragögnum um lífsmörk þín, líka þegar þú ert ekki að nota forritið. Ef þú vilt gera þessa breytingu skaltu "<annotation id="link">"opna stillingar."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Viltu veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að skynjaragögnum um lífsmörk þín í: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Til að veita þessu forriti samfelldan aðgang að gögnum líkamsskynjara skaltu "<annotation id="link">"opna stillingarnar."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> áfram aðgang að gögnum líkamsskynjara á meðan forritið er í notkun?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> áfram aðgang að líkamsskynjaragögnum á meðan forritið er í notkun í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Halda áfram að veita <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aðgang að líkamsskynjaragögnum í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> á meðan forrit er í notkun?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda þér tilkynningar?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda þér tilkynningar í: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Leyfa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> að senda þér tilkynningar í <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Stýrðar heimildir"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> er með staðsetningaraðgang"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Fyrirtækið þitt veitir <xliff:g id="APP_NAME">%1$s</xliff:g> aðgang að staðsetningu þinni"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ekkert"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Síðasta\nsólarhringinn"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Síðastliðna\n7 daga"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> prósent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> er verndað af Android. Unnið er úr gögnum þínum í þessu tæki og þar af leiðandi birtist heimildarnotkun þessa forrits ekki á stöðustikunni eða persónuverndarstjórnborðinu."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> er verndað af Android. Unnið er úr gögnum þínum í þessu tæki og þar af leiðandi birtist heimildarnotkun þessa forrits ekki á persónuverndarstjórnborðinu þínu."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Lokað er fyrir myndavél tækis"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Fyrir forrit og þjónustu"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Hljóðnemagögnum er þó hugsanlega deilt þegar hringt er í neyðarnúmer."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Breyta"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Slökkt er á aðgangi að myndavél"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Fyrir upplýsinga- og afþreyingarforrit"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Fyrir áskilin forrit"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Þetta forrit er áskilið"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Framleiðandi bílsins krefst þessa forrits"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Öryggi og persónuvernd"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skanna tæki"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Hunsa"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Gagnadeilingaruppfærslur"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Deiling staðsetningargagna hefur breyst í sumum forritum"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Stillingar"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Opnað kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Opnað í gær kl. <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Opnað <xliff:g id="TIME_DATE_0">%1$s</xliff:g> kl. <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Einnota aðgangsorðið þitt er 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Takmörkuð stilling"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Til að tryggja öryggi þitt er þessi stilling ekki tiltæk eins og er."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Forritið fékk ekki aðgang að <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Forritið bað um aðgang að heimild fyrir viðkvæmu efni sem getur sett persónu- og fjármálaupplýsingar þínar í hættu.<xliff:g id="ID_1"><br><br></xliff:g>Forritið virkar hugsanlega ekki sem skyldi án þessarar takmörkuðu heimildar. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kynntu þér hvernig þú leyfir aðgang</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Forritið fékk ekki aðgang að sjálfgefnu <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Forritið bað um aðgang að heimildir fyrir viðkvæmu efni sem getur sett persónu- og fjármálaupplýsingar þínar í hættu.<xliff:g id="ID_1"><br><br></xliff:g>Forritið virkar hugsanlega ekki sem skyldi án þessara takmörkuðu heimilda. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kynntu þér hvernig þú leyfir aðgang</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Forritið fékk ekki aðgang"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Aðgangur að þessari heimild getur sett persónu- og fjármálaupplýsingar þínar í hættu.<xliff:g id="ID_1"><br><br></xliff:g>Forritið virkar hugsanlega ekki sem skyldi án þessarar takmörkuðu heimildar. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Kynntu þér hvernig þú leyfir aðgang</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Nánar"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Í lagi"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Heimildarbeiðni hafnað"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Þetta forrit biður um viðbótarheimildir en ekki er hægt að veita heimildir í streymislotu. Veittu heimildina í símanum fyrst."</string> </resources> diff --git a/PermissionController/res/values-it-v34/strings.xml b/PermissionController/res/values-it-v34/strings.xml index 27da7e634..77564456c 100644 --- a/PermissionController/res/values-it-v34/strings.xml +++ b/PermissionController/res/values-it-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gestisci l\'accesso delle app ai dati sulla salute"</string> <string name="location_settings" msgid="8863940440881290182">"Accesso alla posizione"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Per app e servizi. Se questa impostazione viene disattivata, i dati del microfono potrebbero comunque essere condivisi quando chiami un numero di emergenza"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Per app e servizi"</string> </resources> diff --git a/PermissionController/res/values-it-watch/strings.xml b/PermissionController/res/values-it-watch/strings.xml index 6cb0ce756..7e5106952 100644 --- a/PermissionController/res/values-it-watch/strings.xml +++ b/PermissionController/res/values-it-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Impos. modificare"</string> <string name="generic_yes" msgid="2489207724988649846">"Sì"</string> <string name="generic_cancel" msgid="2631708607129269698">"Annulla"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Sempre"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Con app in uso"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Sempre"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Con app in uso"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Sempre"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Con app in uso"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Sempre"</string> </resources> diff --git a/PermissionController/res/values-it/strings.xml b/PermissionController/res/values-it/strings.xml index 27a1ec703..189ce47ec 100644 --- a/PermissionController/res/values-it/strings.xml +++ b/PermissionController/res/values-it/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Tutte le autorizzazioni"</string> <string name="other_permissions" msgid="2901186127193849594">"Altre funzionalità dell\'app"</string> <string name="permission_request_title" msgid="8790310151025020126">"Richiesta di autorizzazione"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Le azioni di installazione/disinstallazione non sono supportate su Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Scegli i dati a cui l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> può accedere"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"L\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> è stata aggiornata. Scegli i dati a cui può accedere."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Annulla"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Consenti sempre tutti"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Chiedi ogni volta"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Non consentire"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Posizione esatta"</string> <string name="approximate_image_description" msgid="938803699637069884">"Posizione approssimativa"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utilizza posizione esatta"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Posizione esatta"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Quando la posizione esatta non è attiva, le app possono accedere alla tua posizione approssimativa"</string> <string name="app_permission_title" msgid="2090897901051370711">"Autorizzazione <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Accesso a <xliff:g id="PERM">%1$s</xliff:g> per questa app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> accesso per questa app su <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Mostra tutte le autorizzazioni di <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Mostra tutte le app con questa autorizzazione"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostra utilizzo microfono dell\'assistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Rimuovi autorizzazioni se non in uso"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Rimuovi autorizzazioni e libera spazio"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Sospendi attività app se inutilizzata"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gestisci l\'app se inutilizzata"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Rimuovi le autorizzazioni, elimina i file temporanei e interrompi le notifiche"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Rimuovi le autorizzazioni, elimina i file temporanei, interrompi le notifiche e archivia l\'app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Per proteggere i tuoi dati, le autorizzazioni di questa app verranno rimosse se l\'app non viene usata per alcuni mesi."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Per proteggere i tuoi dati, se l\'app non viene usata per alcuni mesi, le seguenti autorizzazioni verranno rimosse: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Per proteggere i tuoi dati, sono state rimosse le autorizzazioni dalle app che non hai utilizzato per alcuni mesi."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Autorizzate per gestire tutti i file"</string> <string name="ask_header" msgid="2633816846459944376">"Chiedi ogni volta"</string> <string name="denied_header" msgid="903209608358177654">"Non autorizzata"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> su <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Visualizza altre app che possono accedere a tutti i file"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 giorno}many{# giorni}other{# giorni}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ora}many{# ore}other{# ore}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App per le note"</string> <string name="role_notes_description" msgid="8496852798616883551">"App che ti permettono di prendere appunti sul tuo dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"note"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"App portafoglio predefinita"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App portafoglio"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Le app portafoglio possono memorizzare carte di credito e fedeltà, chiavi della macchina e altro per facilitare varie forme di transazioni."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Impostare <xliff:g id="APP_NAME">%1$s</xliff:g> come app portafoglio predefinita?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nessuna autorizzazione necessaria"</string> <string name="request_role_current_default" msgid="738722892438247184">"Valore predefinito attuale"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Non chiedermelo più"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Imposta predefinito"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Altre app predefinite"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Apertura link"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predefinite per il lavoro"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Predefinite per lo spazio privato"</string> <string name="default_app_none" msgid="9084592086808194457">"Nessuna"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Predefinita)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nessuna app"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostra il rilevamento dell\'attivazione dell\'assistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostra l\'icona nella barra di stato quando viene usato il microfono per attivare l\'assistente vocale"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alle foto e ai contenuti multimediali sul tuo dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a foto e contenuti multimediali sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai tuoi contatti?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai contatti sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> <string name="permgrouprequest_location" msgid="6990232580121067883">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione di questo dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione del tuo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"L\'app avrà accesso alla posizione soltanto quando la usi"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione di questo dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione del tuo <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Questa app potrebbe voler accedere sempre alla tua posizione, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vuoi cambiare l\'accesso alla posizione per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Cambiare l\'accesso alla posizione per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Questa app vorrebbe accedere sempre alla tua posizione, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di trovare e connettersi ai dispositivi vicini, e di stabilirne la posizione relativa?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di connettersi a dispositivi vicini e stabilirne la posizione relativa su <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di trovare e connettersi ai dispositivi vicini, e di stabilirne la posizione relativa? "<annotation id="link">"Consenti nelle impostazioni."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Modificare l\'accesso alla posizione di <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> da approssimativa a esatta?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Modificare l\'accesso alla posizione dell\'app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b> da approssimativa a esatta?"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione approssimativa di questo dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla posizione approssimativa del tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’?"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Esatta"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Approssimativa"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere al tuo calendario?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere al tuo calendario sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di inviare e visualizzare SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di inviare e visualizzare SMS sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a foto, contenuti multimediali e file memorizzati sul dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a foto, contenuti multimediali e file sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a <b>foto, video, musica e audio</b> sul dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a <b>foto, video, musica, audio e altri file</b> sul dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a musica e audio sul dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a musica e audio sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a foto e video sul dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere a foto e video sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ad altri video e foto sul dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ad altri video e foto sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di registrare audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di registrare audio sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"L\'app potrà registrare audio soltanto quando la usi"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vuoi consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di registrare audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di registrare audio sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Questa app potrebbe voler registrare sempre audio, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vuoi cambiare l\'accesso al microfono per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Cambiare l\'accesso al microfono per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Questa app vorrebbe registrare sempre audio, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla tua attività fisica?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere alla tua attività fisica sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di scattare foto e registrare video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di scattare foto e registrare video sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"L\'app potrà scattare foto e registrare video soltanto quando la usi"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vuoi consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di scattare foto e registrare video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di scattare foto e registrare video sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Questa app potrebbe voler scattare foto e registrare video sempre, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vuoi cambiare l\'accesso alla fotocamera per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Cambiare l\'accesso alla fotocamera per l\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Questa app vorrebbe scattare foto e registrare video sempre, anche quando non la usi. "<annotation id="link">"Consenti l\'accesso nelle impostazioni."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai registri chiamate del tuo telefono?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai registri chiamate dello smartphone sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di effettuare e gestire telefonate?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di effettuare e gestire telefonate sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai dati dei sensori relativi ai parametri vitali?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai dati dei sensori sui parametri vitali del tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Questa app vuole accedere sempre ai dati dei sensori relativi ai tuoi parametri vitali, anche quando non la usi. Per apportare questa modifica, "<annotation id="link">"vai alle impostazioni."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai dati dei sensori relativi ai parametri vitali?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai dati dei sensori sui parametri vitali del tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Per consentire a questa app di accedere sempre ai dati dei sensori del corpo, anche quando non la usi, "<annotation id="link">"vai alle impostazioni"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Continuare a consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di accedere ai dati dei sensori del corpo mentre l\'app è in uso?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Consentire a <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ad accedere ai dati dei sensori del corpo mentre è in uso sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di inviarti notifiche?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Consentire all\'app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> di inviarti notifiche sul tuo <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"Autorizzazioni controllate"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> ha accesso alla posizione"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"La tua organizzazione consente all\'app <xliff:g id="APP_NAME">%1$s</xliff:g> di accedere alla tua posizione"</string> @@ -541,6 +578,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nessuna"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Ultime\n24 ore"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Ultimi\n7 giorni"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> percento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> è protetta da Android. I tuoi dati vengono elaborati su questo dispositivo, pertanto l\'utilizzo delle autorizzazioni di questa app non viene mostrato nella barra di stato o nella dashboard della privacy."</string> <string name="exempt_info_label" msgid="6286190981253476699">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> è protetta da Android. I tuoi dati vengono elaborati su questo dispositivo, pertanto l\'utilizzo delle autorizzazioni di questa app non viene mostrato nella dashboard della privacy."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"La fotocamera del dispositivo è bloccata"</string> @@ -549,6 +587,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Per app e servizi"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"I dati del microfono potrebbero comunque essere condivisi quando chiami un numero di emergenza."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Cambia"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Accesso videocamera disattivato"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Per app di infotainment"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Per app obbligatorie"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Questa app è obbligatoria"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Questa app è richiesta dal produttore della tua auto"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sicurezza e privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analizza il dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ignora"</string> @@ -648,4 +691,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Aggiornamenti relativi alla condivisione dei dati"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Alcune app hanno cambiato la modalità di condivisione dei tuoi dati sulla posizione"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Impostazioni"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Ultimo accesso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Ultimo accesso ieri: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Ultimo accesso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"La password monouso è: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Impostazione con limitazioni"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Per la tua sicurezza, questa impostazione non è al momento disponibile."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"All\'app è stato negato l\'accesso a <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"L\'app ha richiesto l\'accesso a un\'autorizzazione sensibile che può mettere a rischio le tue informazioni finanziarie e personali.<xliff:g id="ID_1"><br><br></xliff:g>È possibile che l\'app non funzioni correttamente senza questa autorizzazione limitata. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Scopri di più su come consentire l\'accesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"All\'app è stato negato l\'accesso al ruolo <xliff:g id="ROLE_NAME">%1$s</xliff:g> predefinita"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"L\'app ha richiesto l\'accesso ad autorizzazioni sensibili che possono mettere a rischio le tue informazioni finanziarie e personali.<xliff:g id="ID_1"><br><br></xliff:g>È possibile che l\'app non funzioni correttamente senza queste autorizzazioni limitate. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Scopri di più su come consentire l\'accesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"All\'app è stato negato l\'accesso"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"L\'accesso a questa autorizzazione può mettere a rischio le tue informazioni finanziarie e personali.<xliff:g id="ID_1"><br><br></xliff:g>È possibile che l\'app non funzioni correttamente senza questa autorizzazione limitata. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Scopri di più su come consentire l\'accesso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Scopri di più"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Ok"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Richiesta di autorizzazione rifiutata"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Questa app richiede autorizzazioni aggiuntive, ma non è possibile concedere autorizzazioni in una sessione di streaming. Devi prima concedere l\'autorizzazione sul tuo smartphone."</string> </resources> diff --git a/PermissionController/res/values-iw-v34/strings.xml b/PermissionController/res/values-iw-v34/strings.xml index 370a20dcb..61e486e81 100644 --- a/PermissionController/res/values-iw-v34/strings.xml +++ b/PermissionController/res/values-iw-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ניהול הגישה של האפליקציות לנתוני בריאות"</string> <string name="location_settings" msgid="8863940440881290182">"גישה למיקום"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"לאפליקציות ולשירותים. אם ההגדרה מושבתת, יכול להיות שנתוני המיקרופון ישותפו בכל זאת כשתתבצע שיחה למספר חירום"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"לאפליקציות ולשירותים"</string> </resources> diff --git a/PermissionController/res/values-iw-watch/strings.xml b/PermissionController/res/values-iw-watch/strings.xml index 3db39b59b..bdf113146 100644 --- a/PermissionController/res/values-iw-watch/strings.xml +++ b/PermissionController/res/values-iw-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"לא ניתן לשנות"</string> <string name="generic_yes" msgid="2489207724988649846">"כן"</string> <string name="generic_cancel" msgid="2631708607129269698">"ביטול"</string> + <string name="permission_access_always" msgid="2107115233573823032">"כל הזמן"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"בזמן השימוש באפליקציה"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"כל הזמן"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"בזמן השימוש באפליקציה"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"כל הזמן"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"בזמן השימוש באפליקציה"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"כל הזמן"</string> </resources> diff --git a/PermissionController/res/values-iw/strings.xml b/PermissionController/res/values-iw/strings.xml index 3ab567cb3..63e08e5a8 100644 --- a/PermissionController/res/values-iw/strings.xml +++ b/PermissionController/res/values-iw/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"כל ההרשאות"</string> <string name="other_permissions" msgid="2901186127193849594">"הרשאות אחרות של האפליקציה"</string> <string name="permission_request_title" msgid="8790310151025020126">"בקשת הרשאה"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"פעולות התקנה/הסרת התקנה אינן נתמכות ב-Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"בחירה בהרשאות הגישה שברצונך לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"אפליקציית <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> עודכנה. יש לבחור הרשאות גישה לאפליקציה הזו."</string> <string name="review_button_cancel" msgid="2191147944056548886">"ביטול"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"אישור של הכול תמיד"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"יש לשאול בכל פעם"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"אין אישור"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"מיקום מדויק"</string> <string name="approximate_image_description" msgid="938803699637069884">"מיקום משוער"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"שימוש במיקום מדויק"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"כשהמיקום המדויק מושבת, אפליקציות יכולות לגשת למיקום המשוער של המכשיר"</string> <string name="app_permission_title" msgid="2090897901051370711">"הרשאה: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"לאפליקציה תהיה גישה אל: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"גישה ל<xliff:g id="PERM">%1$s</xliff:g> לאפליקציה הזו ב<xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"הצגת כל ההרשאות של \'<xliff:g id="APP">%1$s</xliff:g>\'"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"הצגת כל האפליקציות עם ההרשאה הזו"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"השימוש במיקרופון של Assistant"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"הסרת ההרשאות כשלא בשימוש"</string> <string name="unused_apps_label" msgid="2595428768404901064">"הסרת הרשאות ופינוי מקום אחסון"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"השהיית הפעילות באפליקציה אם אין בה שימוש"</string> - <string name="unused_apps_summary" msgid="8839466950318403115">"ההרשאות של האפליקציה יוסרו, הקבצים הזמניים יימחקו ותופסק קבלת ההתראות ממנה"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ניהול האפליקציה כשהיא לא בשימוש"</string> + <string name="unused_apps_summary" msgid="8839466950318403115">"הסרת ההרשאות, מחיקה של הקבצים הזמניים, הפסקה של קבלת ההתראות"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"הסרת ההרשאות, מחיקה של הקבצים הזמניים, הפסקה של קבלת ההתראות והעברת האפליקציה לארכיון"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"כדי להגן על הנתונים שלך, אם האפליקציה הזו לא תהיה בשימוש במשך מספר חודשים, ההרשאות שניתנו לה יוסרו."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"כדי להגן על הנתונים שלך, אם האפליקציה לא תהיה בשימוש במשך מספר חודשים, ההרשאות הבאות יוסרו: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"כדי להגן על הנתונים שלך, הוסרו הרשאות מאפליקציות שלא השתמשת בהן במשך מספר חודשים."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"הרשאה לניהול כל הקבצים"</string> <string name="ask_header" msgid="2633816846459944376">"יש לשאול בכל פעם"</string> <string name="denied_header" msgid="903209608358177654">"אין הרשאה"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> ב-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"לצפייה באפליקציות נוספות שיכולות לגשת לכל הקבצים"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{יום אחד}one{# ימים}two{יומיים}other{# ימים}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{שעה}one{# שעות}two{שעתיים}other{# שעות}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"אפליקציית פתקים"</string> <string name="role_notes_description" msgid="8496852798616883551">"אפליקציות שמאפשרות לך לרשום הערות במכשיר"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"הערות"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ברירת המחדל של אפליקציית הארנק"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"אפליקציית ארנק"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"אפליקציות ארנק מאחסנות את כרטיסי האשראי ואת כרטיסי מועדון הלקוחות שלך, את מפתחות הרכב ועוד כדי לעזור בסוגים שונים של עסקאות."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"להגדיר את <xliff:g id="APP_NAME">%1$s</xliff:g> כברירת המחדל של אפליקציית הארנק?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"אין צורך בהרשאות"</string> <string name="request_role_current_default" msgid="738722892438247184">"ברירת המחדל הנוכחית"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"לא לשאול שוב"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"הגדרה כברירת מחדל"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"עוד ברירות מחדל"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"פתיחת קישורים"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ברירת מחדל לעבודה"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ברירת מחדל עבור המרחב הפרטי"</string> <string name="default_app_none" msgid="9084592086808194457">"ללא"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ברירת מחדל של המערכת)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"אין אפליקציות"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"הצגת הזיהוי של הפעלת האסיסטנט"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"הצגת הסמל בשורת הסטטוס כשהמיקרופון בשימוש, לצורך הפעלת האסיסטנט"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> גישה לתמונות ולמדיה במכשיר שלך?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות ולמדיה במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לאנשי הקשר שלך?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לאנשי הקשר במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> <string name="permgrouprequest_location" msgid="6990232580121067883">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום המכשיר?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום של מכשיר <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"לאפליקציה תהיה גישה אל נתוני המיקום רק בזמן השימוש בה"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום המכשיר?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום של מכשיר <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ייתכן שהאפליקציה הזו תרצה לקבל גישה לנתוני המיקום שלך כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"לשנות את הרשאת הגישה למיקום של <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"לשנות את הרשאת הגישה של האפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> למיקום במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"האפליקציה הזו רוצה לקבל גישה לנתוני המיקום שלך כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"לאשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לאתר מכשירים קרובים, להתחבר אליהם ולזהות את מיקומם היחסי?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לאתר מכשירים קרובים, להתחבר אליהם ולזהות את מיקומם היחסי במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"לאשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לאתר מכשירים קרובים, להתחבר אליהם ולזהות את מיקומם היחסי? "<annotation id="link">"יש לתת הרשאה בהגדרות"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"לשנות את הרשאת הגישה של <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ממיקום משוער למיקום מדויק?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"לשנות את הרשאת הגישה של האפליקציה <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> למיקום במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b> מ\'מיקום משוער\' ל\'מיקום מדויק\'?"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום המשוער של המכשיר?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למיקום המשוער של מכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s?"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"מדויק"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"משוער"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה ליומן?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה ליומן במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לשלוח הודעות SMS ולהציג אותן?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לשלוח הודעות SMS ולראות אותן במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות, למדיה ולקבצים במכשיר?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות, למדיה ולקבצים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה <b>לתמונות, לסרטונים, למוזיקה ולאודיו</b> במכשיר?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה <b>לתמונות, לסרטונים, למוזיקה, לאודיו ולקבצים אחרים</b> במכשיר?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למוזיקה ולקובצי אודיו במכשיר?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה למוזיקה ולאודיו במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות ולסרטונים במכשיר?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות ולסרטונים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות ולסרטונים נוספים במכשיר?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לתמונות ולסרטונים נוספים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"לאשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> להקליט אודיו?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה להקליט אודיו במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"האפליקציה תוכל להקליט אודיו רק כאשר היא בשימוש"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה להקליט אודיו?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה להקליט אודיו במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ייתכן שהאפליקציה הזו תרצה להקליט אודיו כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"לשנות את הרשאת הגישה אל המיקרופון עבור <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"לשנות את הרשאת הגישה של האפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> למיקרופון במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"האפליקציה הזו רוצה להקליט אודיו כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"האם לאפשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> גישה לפעילות הגופנית שלך?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לנתונים של הפעילות הגופנית במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> <string name="permgrouprequest_camera" msgid="5123097035410002594">"לאשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לצלם תמונות וסרטונים?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לצלם תמונות וסרטונים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"האפליקציה תוכל לצלם תמונות וסרטונים רק כאשר היא בשימוש"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לצלם תמונות וסרטונים?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לצלם תמונות וסרטונים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ייתכן שהאפליקציה הזו תרצה לצלם תמונות וסרטונים כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"לשנות את הרשאת הגישה למצלמה של <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"לשנות את הרשאת הגישה למצלמה של האפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"האפליקציה זו רוצה לצלם תמונות ולהקליט סרטונים כל הזמן, גם כשהיא לא בשימוש. "<annotation id="link">"ניתן לאשר זאת בהגדרות."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה ליומני השיחות של הטלפון?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה ליומני השיחות של הטלפון במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> <string name="permgrouprequest_phone" msgid="1829234136997316752">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לבצע ולנהל שיחות טלפון?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לבצע התקשרות ולנהל את שיחות הטלפון במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לנתוני חיישנים העוקבים אחר הסימנים החיוניים שלך?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לנתוני החיישנים שמודדים את הסימנים החיוניים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"האפליקציה הזו מבקשת הרשאת גישה לנתוני החיישנים שמודדים את הסימנים החיוניים שלך כל הזמן, גם כשלא נעשה בה שימוש. כדי לשנות את ההגדרה הזו, "<annotation id="link">"צריך לעבור להגדרות"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"להעניק לאפליקציה <b/><xliff:g id="APP_NAME">%1$s</xliff:g><b> הרשאת גישה לנתוני החיישנים שמודדים את הסימנים החיוניים שלך?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאת גישה לנתוני החיישנים שמודדים את הסימנים החיוניים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"כדי לאפשר לאפליקציה הזו לגשת לנתונים של החיישנים הגופניים כל הזמן, גם כשהיא לא בשימוש, "<annotation id="link">"צריך להיכנס להגדרות."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"להמשיך לאפשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לגשת לנתונים של חיישני גוף כשהיא נמצאת בשימוש?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"להמשיך לאפשר לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> לגשת לנתונים של חיישנים גופניים במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b> כשהיא בשימוש?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לשלוח לך התראות?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"לתת לאפליקציה <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> הרשאה לשלוח לך התראות במכשיר <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"הרשאות בבקרה"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"לאפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> יש הרשאת גישה למיקום"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"הארגון שלך מאפשר לאפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> לגשת למיקום שלך"</string> @@ -541,6 +578,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ללא"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ב-24 השעות\nהאחרונות"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ב-7 הימים\nהאחרונים"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> אחוזים"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> מוגנת על ידי Android. השימוש של האפליקציה הזו בהרשאות לא מוצג בשורת הסטטוס או במרכז הבקרה להגדרות הפרטיות כי הנתונים שלך מעובדים במכשיר הזה."</string> <string name="exempt_info_label" msgid="6286190981253476699">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> מוגנת על ידי Android. השימוש של האפליקציה הזו בהרשאות לא מוצג במרכז הבקרה להגדרות הפרטיות כי הנתונים שלך מעובדים במכשיר הזה."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"המצלמה במכשיר חסומה"</string> @@ -549,6 +587,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"לאפליקציות ולשירותים"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"יכול להיות שהנתונים מהמיקרופון ישותפו בכל זאת בשיחה עם מספר חירום."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"שינוי"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"הגישה למצלמה מושבתת"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"לאפליקציות מידע ובידור"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"לאפליקציות נדרשות"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"האפליקציה הזו נדרשת"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"האפליקציה הזו נדרשת על ידי יצרן הרכב"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"אבטחה ופרטיות"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"סריקת המכשיר"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"סגירה"</string> @@ -648,4 +691,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"עדכונים לגבי שיתוף הנתונים"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"בחלק מהאפליקציות, השתנה האופן שבו הן עשויות לשתף את נתוני המיקום שלך"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"הגדרות"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"תאריך גישה: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"גישה אתמול: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"תאריך גישה: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> ב-<xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"הסיסמה החד-פעמית שלך היא 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"הגדרה מוגבלת"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"מטעמי אבטחה, ההגדרה הזו לא זמינה כרגע."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"בקשת הגישה של האפליקציה ל<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> נדחתה"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"האפליקציה ביקשה הרשאת גישה למידע רגיש שעלולה לסכן את המידע האישי והפיננסי שלך.<xliff:g id="ID_1"><br><br></xliff:g>יכול להיות שהאפליקציה לא תעבוד כמו שצריך ללא ההרשאה המוגבלת הזו. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>מידע נוסף על מתן גישה להרשאות</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"בקשת הגישה של האפליקציה לשמש כברירת המחדל של <xliff:g id="ROLE_NAME">%1$s</xliff:g> נדחתה"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"האפליקציה ביקשה הרשאת גישה למידע רגיש שעלולה לסכן את המידע האישי והפיננסי שלך.<xliff:g id="ID_1"><br><br></xliff:g>יכול להיות שהאפליקציה לא תעבוד כמו שצריך ללא ההרשאות המוגבלות האלו. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>מידע נוסף על מתן גישה להרשאות</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"בקשת הגישה של האפליקציה נדחתה"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"מתן גישה להרשאה הזו עלול לסכן את המידע האישי והפיננסי שלך.<xliff:g id="ID_1"><br><br></xliff:g>יכול להיות שהאפליקציה לא תעבוד כמו שצריך ללא ההרשאה המוגבלת הזו. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>מידע נוסף על מתן גישה להרשאות</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"מידע נוסף"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"הבנתי"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"בקשת ההרשאה בוטלה"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"האפליקציה הזו מבקשת הרשאות נוספות, אבל אי אפשר לתת הרשאות בזמן פעילות של סטרימינג. צריך לתת את ההרשאה קודם בטלפון."</string> </resources> diff --git a/PermissionController/res/values-ja-v33/strings.xml b/PermissionController/res/values-ja-v33/strings.xml index e735bb0f7..0669bd15d 100644 --- a/PermissionController/res/values-ja-v33/strings.xml +++ b/PermissionController/res/values-ja-v33/strings.xml @@ -19,7 +19,7 @@ <string name="role_dialer_request_description" msgid="6188305064871543419">"このアプリは、通知の送信と、カメラ、連絡先、マイク、電話、SMS へのアクセスが可能になります"</string> <string name="role_sms_request_description" msgid="1506966389698625395">"このアプリは、通知の送信と、カメラ、連絡先、ファイル、マイク、電話、SMS へのアクセスが可能になります"</string> <string name="permission_description_summary_storage" msgid="1917071243213043858">"この権限があるアプリは、このデバイス内のすべてのファイルにアクセスできます"</string> - <string name="work_policy_title" msgid="832967780713677409">"仕事に関するポリシーの情報"</string> + <string name="work_policy_title" msgid="832967780713677409">"仕事用ポリシーの情報"</string> <string name="work_policy_summary" msgid="3886113358084963931">"IT 管理者によって管理されている設定"</string> <string name="safety_center_entry_group_expand_action" msgid="5358289574941779652">"リストを開いて表示する"</string> <string name="safety_center_entry_group_collapse_action" msgid="1525710152244405656">"リストを閉じて設定を非表示にする"</string> diff --git a/PermissionController/res/values-ja-v34/strings.xml b/PermissionController/res/values-ja-v34/strings.xml index 1a27a1df1..bf8c8edf4 100644 --- a/PermissionController/res/values-ja-v34/strings.xml +++ b/PermissionController/res/values-ja-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"健康に関するデータへのアプリのアクセス権を管理します"</string> <string name="location_settings" msgid="8863940440881290182">"位置情報へのアクセス"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"アプリとサービスによるアクセス。この設定が OFF の場合でも、緊急通報番号に発信したときは、マイクのデータが共有されることがあります"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"アプリとサービスによるアクセス"</string> </resources> diff --git a/PermissionController/res/values-ja-watch/strings.xml b/PermissionController/res/values-ja-watch/strings.xml index f47df141c..edd0d5c64 100644 --- a/PermissionController/res/values-ja-watch/strings.xml +++ b/PermissionController/res/values-ja-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"変更不可"</string> <string name="generic_yes" msgid="2489207724988649846">"はい"</string> <string name="generic_cancel" msgid="2631708607129269698">"キャンセル"</string> + <string name="permission_access_always" msgid="2107115233573823032">"常時"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"アプリの使用中"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"常時"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"アプリの使用中"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"常時"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"アプリの使用中"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"常時"</string> </resources> diff --git a/PermissionController/res/values-ja/strings.xml b/PermissionController/res/values-ja/strings.xml index b861cbf0d..969aa8874 100644 --- a/PermissionController/res/values-ja/strings.xml +++ b/PermissionController/res/values-ja/strings.xml @@ -34,7 +34,7 @@ <string name="grant_dialog_button_more_info" msgid="213350268561945193">"詳細"</string> <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"すべて許可"</string> <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"常にすべて許可"</string> - <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"アクセス制限を許可する"</string> + <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"制限付きでアクセスを許可する"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"写真と動画を選択"</string> <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"さらに選択"</string> <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"他を選択しない"</string> @@ -56,8 +56,8 @@ <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"おおよその位置情報を保持"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"今回のみ"</string> <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"常に許可"</string> - <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"すべてのファイルの管理を許可"</string> - <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"メディア ファイルへのアクセスを許可"</string> + <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"すべての管理を許可"</string> + <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"アクセスのみ許可"</string> <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"アプリ"</string> <string name="app_permissions" msgid="3369917736607944781">"アプリの権限"</string> <string name="unused_apps" msgid="2058057455175955094">"使用されていないアプリ"</string> @@ -86,7 +86,7 @@ <string name="app_permissions_group_summary" msgid="8788419008958284002">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> 個のアプリを許可"</string> <string name="app_permissions_group_summary2" msgid="4329922444840521150">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> 件のアプリを許可"</string> <string name="menu_show_system" msgid="4254021607027872504">"システムアプリを表示"</string> - <string name="menu_hide_system" msgid="3855390843744028465">"システムアプリを表示しない"</string> + <string name="menu_hide_system" msgid="3855390843744028465">"システムアプリを非表示"</string> <string name="menu_show_7_days_data" msgid="8979611198508523706">"過去 7 日間を表示"</string> <string name="menu_show_24_hours_data" msgid="8228054833323380780">"過去 24 時間を表示"</string> <string name="manage_permission" msgid="2895385393037061964">"権限の管理"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"すべての権限"</string> <string name="other_permissions" msgid="2901186127193849594">"その他のアプリ機能"</string> <string name="permission_request_title" msgid="8790310151025020126">"権限のリクエスト"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ではインストールやアンインストールはできません。"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可する権限の選択"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> が更新されました。このアプリに許可する権限を選択してください。"</string> <string name="review_button_cancel" msgid="2191147944056548886">"キャンセル"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"常にすべて許可"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"毎回確認する"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"許可しない"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"正確な現在地"</string> <string name="approximate_image_description" msgid="938803699637069884">"おおよその現在地"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"正確な位置情報を使用"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"正確な位置情報がオフの場合、アプリはおおよその位置情報にアクセスできます"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>の権限"</string> <string name="app_permission_header" msgid="2951363137032603806">"このアプリによる<xliff:g id="PERM">%1$s</xliff:g>へのアクセス"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> でこのアプリに <xliff:g id="PERM">%1$s</xliff:g> へのアクセス権が付与されています"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"「<xliff:g id="APP">%1$s</xliff:g>」アプリの権限をすべて表示"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"この権限があるアプリをすべて表示"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"アシスタントのマイクの使用を表示"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"アプリが使用されていない場合に権限を削除"</string> <string name="unused_apps_label" msgid="2595428768404901064">"権限を削除して空き容量を増やす"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"使用していないアプリを一時停止する"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"使用していないアプリを管理する"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"権限と一時ファイルを削除し、通知を停止します"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"権限と一時ファイルを削除し、通知を停止し、アプリをアーカイブします"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"データ保護のため、このアプリが数か月使用されていない場合はアプリの権限が取り消されます。"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"データ保護のため、アプリが数か月使用されていない場合は以下の権限が取り消されます。<xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"データ保護のため、数か月使用していないアプリの権限を削除しました。"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"すべてのファイルの管理が許可されたアプリ"</string> <string name="ask_header" msgid="2633816846459944376">"毎回確認する"</string> <string name="denied_header" msgid="903209608358177654">"許可しない"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>(<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"すべてのファイルにアクセスできるアプリをもっと見る"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 日}other{# 日}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# 時間}other{# 時間}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"これらのアプリでは、画面、アクション、入力の表示、アクションの実行、ディスプレイの操作を行えます。"</string> <string name="role_assistant_label" msgid="4727586018198208128">"デフォルトのデジタル アシスタント アプリ"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"デジタル アシスタント アプリ"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"アシストアプリは、表示している画面の情報に基づいてアシスタントを提供します。一部のアプリはランチャーと音声入力サービスの両方に対応しており、統合されたアシスタントを提供します。"</string> + <string name="role_assistant_description" msgid="6622458130459922952">"アシストアプリは、表示している画面の情報に基づいてサポートを提供します。一部のアプリはランチャーと音声入力サービスの両方に対応しており、統合されたサポートを提供します。"</string> <string name="role_browser_label" msgid="2877796144554070207">"デフォルトのブラウザアプリ"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ブラウザアプリ"</string> <string name="role_browser_description" msgid="3465253637499842671">"インターネットにアクセスするためのアプリです。タップしたリンクは、このアプリで開きます。"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"メモアプリ"</string> <string name="role_notes_description" msgid="8496852798616883551">"デバイスでメモの作成に使うアプリ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"メモ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"デフォルトのウォレット アプリ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"ウォレット アプリ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"ウォレット アプリにクレジット カード、ポイントカード、車のキーなどの情報を保存して、さまざまな取引に対応できます。"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> をデフォルトのウォレット アプリに設定しますか?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"権限は必要ありません"</string> <string name="request_role_current_default" msgid="738722892438247184">"現在のデフォルト"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"次回から表示しない"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"デフォルトに設定"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"その他のデフォルト"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"リンクを開く"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"デフォルトの仕事用アプリ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"プライベート スペースのデフォルト"</string> <string name="default_app_none" msgid="9084592086808194457">"なし"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(システムのデフォルト)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"アプリなし"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"アシスタントのトリガー検出を表示"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"マイクを使って音声アシスタントを有効にする場合にステータスバーにアイコンを表示する"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"デバイス内の写真やメディアへのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の写真とメディアへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_contacts" msgid="8391550064551053695">"連絡先へのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の連絡先へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の写真とメディアへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_contacts" msgid="8391550064551053695">"連絡先へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の連絡先へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"このデバイスの位置情報へのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> の位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>の位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"このアプリは、ユーザーがアプリを使用している間のみ位置情報にアクセスできます"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"このデバイスの位置情報へのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> の位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>の位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"このアプリは、未使用時も含め、常に位置情報にアクセスする可能性があります。"<annotation id="link">"[設定] で許可してください。"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に対する位置情報へのアクセス許可を変更しますか?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> の位置情報に対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>の位置情報に対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"このアプリは、未使用時も含め、常に位置情報へのアクセスを試みます。"<annotation id="link">"[設定] で許可してください。"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"付近のデバイスの検出、接続、相対位置の特定を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> の <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に、付近のデバイスの検出、接続、相対位置の特定を許可しますか?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での付近のデバイスの検出、接続、相対位置の特定を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"付近のデバイスの検出、接続、相対位置の特定を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"<annotation id="link">"設定で許可してください。"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> の位置情報へのアクセスを「おおよそ」から「正確」に変更しますか?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> の位置情報へのアクセス権を「おおよそ」から「正確」に変更しますか?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>の位置情報に対する <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> のアクセス権を「おおよそ」から「正確」に変更しますか?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"このデバイスのおおよその位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> のおおよその位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>のおおよその位置情報へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"正確"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"おおよそ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"カレンダーへのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内のカレンダーへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内のカレンダーへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"SMS メッセージの送信と表示を「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での SMS メッセージの送信と表示を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での SMS メッセージの送信と表示を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"デバイス内の写真、メディア、ファイルへのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の写真、メディア、ファイルへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の写真、メディア、ファイルへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"このデバイス内の<b>写真、動画、音楽、音声</b>へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"このデバイス内の<b>写真、動画、音楽、音声など</b>へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"このデバイス内の音楽と音声へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の音楽と音声へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の音楽と音声へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"このデバイス内の写真と動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の写真と動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の写真と動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"このデバイス内の他の写真や動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の他の写真や動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内のその他の写真や動画へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"音声の録音を「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での音声の録音を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での録音を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"アプリは、ユーザーがアプリを使用している場合のみ音声を録音できます"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"音声の録音を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での音声の録音を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での録音を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)音声を録音する可能性があります。"<annotation id="link">"[設定] で許可してください。"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に対するマイクへのアクセス許可を変更しますか?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> のマイクに対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>のマイクに対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)音声を録音できる権限を求めています。"<annotation id="link">"[設定] で許可してください。"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"身体活動データへのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の身体活動データへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"写真と動画の撮影を「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の身体活動データへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"アプリは、ユーザーがアプリを使用している場合のみ写真や動画を撮影できます"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での写真と動画の撮影を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)写真や動画を撮影する可能性があります。"<annotation id="link">"[設定] で許可してください。"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に対するカメラへのアクセス許可を変更しますか?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> のカメラに対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>のカメラに対する <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> のアクセス権を変更しますか?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)写真や動画を撮影できる権限を求めています。"<annotation id="link">"[設定] で許可してください。"</annotation></string> - <string name="permgrouprequest_calllog" msgid="2065327180175371397">"通話履歴へのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内の通話履歴へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_phone" msgid="1829234136997316752">"電話の発信と管理を「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での電話の発信と管理を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_calllog" msgid="2065327180175371397">"通話履歴へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内の通話履歴へのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_phone" msgid="1829234136997316752">"電話の発信と管理を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での通話の発信と管理を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"バイタルサインに関するセンサーデータへのアクセスを「<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>」に許可しますか?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内のバイタルサインに関するセンサーデータへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内のバイタルサインに関するセンサーデータへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"このアプリは、未使用時も含め、常にバイタルサインに関するセンサーデータへのアクセスを試みます。これを変更するには、"<annotation id="link">"設定に移動"</annotation>"してください。"</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"バイタルサインに関するセンサーデータへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内のバイタルサインに関するセンサーデータへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内のバイタルサインに関するセンサーデータへのアクセスを <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"アプリの未使用時も、常にボディセンサー データにアクセスすることをこのアプリに許可するには、"<annotation id="link">"設定に移動"</annotation>"してください。"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ボディセンサー データへのアクセスを、引き続きアプリの使用時のみ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> 内のボディセンサー データへのアクセスを、引き続きアプリの使用時のみ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"アプリ使用中に <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> が<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>内のボディセンサー データにアクセスすることを引き続き許可しますか?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"通知の送信を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> での通知の送信を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>での通知の送信を <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> に許可しますか?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"権限は管理されています"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> は位置情報にアクセスできます"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"<xliff:g id="APP_NAME">%1$s</xliff:g> が位置情報にアクセスすることを組織が許可します"</string> @@ -541,6 +551,9 @@ <string name="privdash_label_none" msgid="5991866260360484858">"なし"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"過去 \n24 時間"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"過去\n7 日間"</string> + <!-- String.format failed for translation --> + <!-- no translation found for privdash_usage_percent (6893824766124414127) --> + <skip /> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> は Android によって保護されています。あなたのデータはこのデバイス上で処理されるため、このアプリの権限の使用状況はステータスバーやプライバシー ダッシュボードには表示されません。"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> は Android によって保護されています。あなたのデータはこのデバイス上で処理されるため、このアプリの権限の使用状況はプライバシー ダッシュボードには表示されません。"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"デバイスのカメラがブロックされています"</string> @@ -549,6 +562,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"アプリとサービスによるアクセス"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"緊急通報番号に発信したときは、マイクのデータが引き続き共有されることがあります。"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"変更"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"カメラへのアクセスは OFF です"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"対象: インフォテインメント アプリ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"対象: 必須アプリ"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"このアプリは必要です"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"このアプリは車のメーカーが必要としています"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"セキュリティとプライバシー"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"デバイスをスキャン"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"閉じる"</string> @@ -612,7 +630,7 @@ <string name="mic_toggle_description" msgid="9163104307990677157">"アプリとサービスによるアクセス。この設定が OFF の場合でも、緊急通報番号に発信したときは、マイクのデータが共有されることがあります。"</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"位置情報にアクセスできるアプリとサービスを確認"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"クリップボードへのアクセスを通知"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"クリップボードにコピーしたテキストや画像などにアプリがアクセスすると、メッセージが表示されます"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"クリップボードにコピーしたテキストや画像などにアプリがアクセスした際に、メッセージを表示します"</string> <string name="show_password_title" msgid="2877269286984684659">"パスワードを表示"</string> <string name="show_password_summary" msgid="1110166488865981610">"入力した文字を一瞬だけ表示します"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"このアプリは、位置情報をサードパーティと共有する可能性があります"</string> @@ -648,4 +666,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"データ共有に関する更新"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"ユーザーの位置情報を共有する方法が変更されたアプリがあります"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"設定"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> にアクセス"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"昨日の <xliff:g id="TIME_DATE">%1$s</xliff:g> にアクセス"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> にアクセス"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ワンタイム パスワードは 132435 です"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"制限付き設定"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"セキュリティ保護のため、この設定は現在利用できません。"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"アプリは<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>へのアクセスを拒否されました"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"機密情報に関わる権限へのアクセスをアプリがリクエストしました。この権限へのアクセスは、あなたの個人情報や財務情報を危険にさらす恐れがあります。<xliff:g id="ID_1"><br><br></xliff:g>この制限付きの権限がないとアプリは正しく動作しない可能性があります。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>アクセスを許可する方法の詳細</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"アプリはデフォルトの<xliff:g id="ROLE_NAME">%1$s</xliff:g>としてのアクセスを拒否されました"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"機密情報に関わる権限へのアクセスをアプリがリクエストしました。これらの権限へのアクセスは、あなたの個人情報や財務情報を危険にさらす恐れがあります。<xliff:g id="ID_1"><br><br></xliff:g>これらの制限付きの権限がないとアプリは正しく動作しない可能性があります。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>アクセスを許可する方法の詳細</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"アプリはアクセスを拒否されました"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"この権限へのアクセスは、あなたの個人情報や財務情報を危険にさらす恐れがあります。<xliff:g id="ID_1"><br><br></xliff:g>この制限付きの権限がないとアプリは正しく動作しない可能性があります。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>アクセスを許可する方法の詳細</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"詳細"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"権限のリクエストが抑制されています"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"このアプリは追加の権限を求めていますが、ストリーミング セッションでは権限を付与できません。スマートフォンで先に権限を付与してください。"</string> </resources> diff --git a/PermissionController/res/values-ka-v34/strings.xml b/PermissionController/res/values-ka-v34/strings.xml index c3e4c7715..e67e8ffa0 100644 --- a/PermissionController/res/values-ka-v34/strings.xml +++ b/PermissionController/res/values-ka-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ჯანმრთელობის მონაცემებზე აპის წვდომის მართვა"</string> <string name="location_settings" msgid="8863940440881290182">"მდებარეობაზე წვდომა"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"აპებისა და სერვისებისთვის. მიკროფონის მონაცემები, შესაძლოა, მაინც გაზიარდეს გადაუდებელი დახმარების სამსახურის ნომერზე დარეკვისას, როცა ეს პარამეტრი გამორთულია"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"აპებისა და სერვისებისთვის"</string> </resources> diff --git a/PermissionController/res/values-ka-watch/strings.xml b/PermissionController/res/values-ka-watch/strings.xml index f3ca03402..357e9cd00 100644 --- a/PermissionController/res/values-ka-watch/strings.xml +++ b/PermissionController/res/values-ka-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ვერ შეიცვლება"</string> <string name="generic_yes" msgid="2489207724988649846">"დიახ"</string> <string name="generic_cancel" msgid="2631708607129269698">"გაუქმება"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Მუდმივად"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"აპის გამოყენებისას"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Მუდმივად"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"აპის გამოყენებისას"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Მუდმივად"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"აპის გამოყენებისას"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Მუდმივად"</string> </resources> diff --git a/PermissionController/res/values-ka/strings.xml b/PermissionController/res/values-ka/strings.xml index b8bc6fd95..c0e1acb4b 100644 --- a/PermissionController/res/values-ka/strings.xml +++ b/PermissionController/res/values-ka/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ყველა ნებართვა"</string> <string name="other_permissions" msgid="2901186127193849594">"აპის სხვა შესაძლებლობები"</string> <string name="permission_request_title" msgid="8790310151025020126">"ნებართვის მოთხოვნა"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ინსტალაციის/დეინსტალაციის მოქმედებები არ არის მხარდაჭერილი Wear-ზე."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"აირჩიეთ, რაზე ჰქონდეს წვდომა <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> განახლდა. აირჩიეთ, რაზე ჰქონდეს წვდომა ამ აპს."</string> <string name="review_button_cancel" msgid="2191147944056548886">"გაუქმება"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ყოველთვის ყველას დაშვება"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ყოველთვის მკითხე"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"არ დაიშვას"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ზუსტი მდებარეობა"</string> <string name="approximate_image_description" msgid="938803699637069884">"მიახლოებითი მდებარეობა"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ზუსტი მდებარეობის გამოყენება"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"როდესაც ზუსტი მდებარეობა გამორთულია, აპებს თქვენს მიახლოებით მდებარეობაზე წვდომა შეუძლია"</string> <string name="app_permission_title" msgid="2090897901051370711">"ნებართვა: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>-ზე წვდომა ამ აპისთვის"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"(<xliff:g id="PERM">%1$s</xliff:g>) წვდომა ამ აპისთვის <xliff:g id="DEVICE_NAME">%2$s</xliff:g>-ზე"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ყველა ნებართვის ნახვა: <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ამ ნებართვის მქონე ყველა აპის ნახვა"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"ასისტენტის მიკროფონის გამოყენების ჩვენება"</string> - <string name="unused_apps_category_title" msgid="2988455616845243901">"აპის გამოუყენებელი პარამეტრები"</string> + <string name="unused_apps_category_title" msgid="2988455616845243901">"გამოუყენებელი აპის პარამეტრები"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"ნებართვების ამოშლა აპის გამოუყენებლობის შემთხვევაში."</string> <string name="unused_apps_label" msgid="2595428768404901064">"ნებართვების ამოშლა და მეხსიერების გათავისუფლება"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"დაპაუზდეს აპში აქტივობა, თუ არ იყენებენ"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"აპის მართვა გამოუყენებლობის შემთხვევაში"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ნებართვების ამოშლა, დროებითი ფაილების წაშლა და შეტყობინებების გამორთვა"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ნებართვების ამოშლა, დროებითი ფაილების წაშლა, შეტყობინებების გამორთვა და აპის დაარქივება"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"თქვენი მონაცემების დასაცავად ნებართვები ამოიშლება ამ აპიდან, თუ ის რამდენიმე თვის განმავლობაში არ გამოგიყენებიათ."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"თქვენი მონაცემების დაცვის მიზნით, თუ აპს რამდენიმე თვის განმავლობაში არ გამოიყენებთ, ამოიშლება შემდეგი ნებართვები: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"თქვენი მონაცემების დასაცავად ნებართვები ამოიშალა აპებიდან, რომლებიც რამდენიმე თვის განმავლობაში არ გამოგიყენებიათ."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"დაშვებულია ყველა ფაილის მართვა"</string> <string name="ask_header" msgid="2633816846459944376">"ყოველთვის მკითხე"</string> <string name="denied_header" msgid="903209608358177654">"არ არის დაშვებული"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"სხვა აპების ნახვა, რომლებსაც ყველა ფაილზე წვდომა შეუძლია"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 დღე}other{# დღე}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# საათი}other{# საათი}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"ჩანიშვნების აპი"</string> <string name="role_notes_description" msgid="8496852798616883551">"აპები, რომლებიც საშუალებას გაძლევთ, გააკეთოთ ჩანიშვნები თქვენს მოწყობილობაზე"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ჩანიშვნები"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ნაგულისხმევი საფულის აპი"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"საფულის აპი"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"საფულის აპებს შეუძლიათ საკრედიტო და ერთგული კლიენტის ბარათების, მანქანის გასაღებების და სხვა ნივთების შენახვა, რაც დაგეხმარებათ სხვადასხვა სახის ტრანზაქციებში."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"გსურთ დააყენოთ <xliff:g id="APP_NAME">%1$s</xliff:g> თქვენს ნაგულისხმევ საფულის აპად?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ნებართვები არ არის საჭირო"</string> <string name="request_role_current_default" msgid="738722892438247184">"ამჟამინდელი ნაგულისხმევი"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"აღარ მკითხოთ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ნაგულისხმ. დაყენება"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"მეტი ნაგულისხმევი"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ბმულების გახსნა"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ნაგულისხმევი სამსახურისთვის"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"კერძო სივრცისთვის ნაგულისხმევი აპები"</string> <string name="default_app_none" msgid="9084592086808194457">"არცერთი"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(სისტემის ნაგულისხმევი)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"აპები არ არის"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"ასისტენტის გაშვების ხატულის ჩვენება"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"მიკროფონის მეშვეობით ხმოვანი ასისტენტის გააქტიურებისას სტატუსის ზოლში ხატულის ჩვენება"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს თქვენს მოწყობილობაზე არსებულ ფოტოებსა და მედია-კონტენტზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა ფოტოებსა და მედიაზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა ფოტოებსა და მედიაზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> თქვენს კონტაქტებზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენს კონტაქტებზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა თქვენს კონტაქტებზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-ზე?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> ამ მოწყობილობის მდებარეობაზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენი <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>-ის</b> მდებარეობაზე?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-ის მდებარეობაზე?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ამ აპს მდებარეობაზე წვდომა მხოლოდ მაშინ ექნება, როცა თქვენ მას გამოიყენებთ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> ამ მოწყობილობის მდებარეობაზე წვდომის ნებართვა?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენი <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>-ის მდებარეობაზე?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-ის მდებარეობაზე?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"აპი ითხოვს თქვენს მდებარეობაზე წვდომას ნებისმიერ დროს, მაშინაც კი, როცა მას არ იყენებთ. "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის</b> მდებარეობაზე წვდომის შეცვლა?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"შეცვლით მდებარეობაზე წვდომას <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის მდებარეობაზე წვდომის შეცვლა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"აპი ითხოვს თქვენს მდებარეობაზე წვდომას ნებისმიერ დროს, მაშინაც კი, როცა მას არ იყენებთ. "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"მიეცეს საშუალება <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს იპოვოს ახლომახლო მოწყობილობები, დაუკავშირდეს მათ და დაადგინოს პოზიცია მათ მიმართ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, იპოვოს, დაუკავშირდეს და დაადგინოს ახლომახლო მოწყობილობების შედარებითი პოზიცია თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს ნებართვა იპოვოს ახლომახლო მოწყობილობები, დაუკავშირდეს მათ და დაადგინოს მათი შედარებითი პოზიცია <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"მიეცეს საშუალება <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს იპოვოს ახლომახლო მოწყობილობები, დაუკავშირდეს მათ და დაადგინოს პოზიცია მათ მიმართ? "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"შეიცვალოს <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-ის მდებარეობაზე წვდომა მიახლოებითის მაგიერ ზუსტით?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"შეცვლით <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-ის მდებარეობის (მიახლოებითს ზუსტით) წვდომას თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"გსურთ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> აპის დაშვებული წვდომის შეცვლა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ის მიახლოებითი მდებარეობიდან ზუსტზე?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> ამ მოწყობილობის მიახლოებით მდებარეობაზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენი <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ის მიახლოებით მდებარეობაზე?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-ის მიახლოებით მდებარეობაზე?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ზუსტი"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"მიახლოებითი"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> თქვენს კალენდარზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენს კალენდარზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა თქვენს კალენდარზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-ზე?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> SMS-შეტყობინებათა გაგზავნის და ნახვის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, გაგზავნოს და ნახოს SMS შეტყობინებები თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს დაშვება გააგზავნოს და ნახოს SMS შეტყობინებები <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> თქვენს მოწყობილობაზე არსებულ ფოტოებზე, მედია-კონტენტზე და ფაილებზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა ფოტოებზე, მედიასა და ფაილებზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა თქვენს ფოტოებზე, მედიასა და ფაილებზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"მიანიჭებთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს წვდომას ამ მოწყ. <b>ფოტოებზე, ვიდეოებზე, მუსიკასა და აუდიოფაილებზე</b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"მიანიჭებთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ის წვდომას თქვენი მოწყ. <b>ფოტოებზე, ვიდეოებზე, მუსიკაზე, აუდიო და სხვა </b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"მიანიჭებთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს წვდომას თქვენი მოწყობილობის მუსიკასა და აუდიოფაილებზე?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა მუსიკასა და აუდიოზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა მუსიკასა და აუდიოზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"მიანიჭებთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს წვდომას თქვენი მოწყობილობის ფოტოებსა და ვიდეოებზე?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა ფოტოებსა და ვიდეოებზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა ფოტოებსა და ვიდეოებზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"მიენიჭოს <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს წვდომა თქვენი მოწყობილობის ფოტოებსა და ვიდეოებზე?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა მეტ ფოტოსა და ვიდეოზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა მეტ ფოტოსა და ვიდეოზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> აუდიოს ჩაწერის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჩაწეროს აუდიო თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს აუდიოს ჩაწერის ნებართვა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ეს აპი აუდიოს ჩაწერას მხოლოდ მაშინ შეძლებს, როცა მას იყენებთ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> აუდიოს ჩაწერის ნებართვა?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჩაწეროს აუდიო თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს აუდიოს ჩაწერის ნებართვა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ამ აპს შეუძლია აუდიოს ჩაწერა ნებისმიერ დროს, მაშინაც კი, როცა აპს არ იყენებთ. "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის</b> მიკროფონის წვდომის შეცვლა?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"შეცვლით მიკროფონზე წვდომას <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის მიკროფონის წვდომის შეცვლა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ეს აპი აუდიოს ჩაწერს ნებისმიერ დროს, მაშინაც კი, როცა აპს არ იყენებთ. "<annotation id="link">"Allow in settings."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს თქვენს ფიზიკურ აქტივობაზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენს ფიზიკურ აქტივობაზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს თქვენს ფიზიკურ აქტივობაზე წვდომა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> სურათების გადაღების და ვიდეოების ჩაწერის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, გადაიღოს სურათები და ჩაწეროს ვიდეო თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს სურათების გადაღებისა და ვიდეოს ჩაწერის ნებართვა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ეს აპი სურათების გადაღებას და ვიდეოს ჩაწერას მხოლოდ მაშინ შეძლებს, როცა მას იყენებთ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> სურათების გადაღების და ვიდეოების ჩაწერის ნებართვა?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, გადაიღოს სურათები და ჩაწეროს ვიდეო თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს სურათების გადაღებისა და ვიდეოს ჩაწერის ნებართვა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ამ აპს შეუძლია სურათების გადაღება და ვიდეოს ჩაწერა ნებისმიერ დროს, მაშინაც კი, როცა აპს არ იყენებთ. "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ისთვის</b> კამერის წვდომის შეცვლა?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"შეცვლით კამერაზე წვდომას <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის კამერის წვდომის შეცვლა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ეს აპი სურათების გადაიღებს და ვიდეოს ჩაწერს ნებისმიერ დროს, მაშინაც კი, როცა აპს არ იყენებთ. "<annotation id="link">"დაუშვით პარამეტრებიდან."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს თქვენს ზარების ჟურნალებზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა თქვენი ტელ-ის ზარების ჟურნალზე <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს თქვენი ტელეფონის ზარების ჟურნალებზე წვდომა <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> სატელეფონო ზარების განხორციელების და მართვის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, განახორციელოს და მართოს სატელეფ. ზარები თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს დაშვება ზარების განხორციელებასა და მართვაზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</b> თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომის ნებართვა?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა სენსორის მონაცემებზე (სასიცოცხლო მაჩვენებლები) <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა თქვენი სასიცოცხლო მაჩვენებლების სენსორის მონაცემებზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ეს აპი ითხოვს თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომას ნებისმიერ დროს, მაშინაც კი, როცა აპს არ იყენებთ. ამ ცვლილებისთვის "<annotation id="link">"გადადით პარამეტრებზე."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"გსურთ, მიანიჭოთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომის ნებართვა?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, ჰქონდეს წვდომა სენსორის მონაცემებზე (სასიცოცხლო მაჩვენებლები) <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს წვდომა თქვენი სასიცოცხლო მაჩვენებლების სენსორის მონაცემებზე <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ამ აპისთვის სხეულის სენსორების მონაცემებზე მუდმივი წვდომის მისანიჭებლად (მაშინაც კი, როცა აპს არ იყენებთ), "<annotation id="link">"გადადით პარამეტრებზე."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"გსურთ გამოყენებისას <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს მიანიჭოთ სხეულის სენსორების მონაცემებზე წვდომა?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, გამოყენებისას ჰქონდეს წვდომა სხეულის სენსორების მონაცემებზე თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპისთვის სხეულის სენსორის მონაცემებზე წვდომის ნებართვის შენარჩუნება აპის გამოყენებისას <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"მისცემთ უფლებას <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-ს, გამოგიგზავნოთ შეტყობინებები?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"ნებას დართავთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს, გამოგიგზავნოთ შეტყობინებები თქვენს <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-ზე?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"გსურთ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> აპს ჰქონდეს დაშვება გამოგიგზავნოთ შეტყობინებები <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-ზე?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"კონტროლირებული ნებართვები"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ს მდებარეობაზე წვდომა აქვს"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"თქვენი ორგანიზაცია ნებას რთავს <xliff:g id="APP_NAME">%1$s</xliff:g>-ს, წვდომა ჰქონდეს თქვენ მდებარეობაზე"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"არცერთი"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"გასული\n24 საათი"</string> <string name="privdash_label_7d" msgid="5645301995348656931">\n"ბოლო 7 დღე"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> პროცენტი"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ს იცავს Android. ვინაიდან თქვენი მონაცემები მუშავდება ამ მოწყობილობაზე, ამ აპის ნებართვის გამოყენება არ აისახება სტატუსის ზოლში ან კონფიდენციალურობის საინფორმაციო დაფაზე."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ს იცავს Android. ვინაიდან თქვენი მონაცემები მუშავდება ამ მოწყობილობაზე, ამ აპის ნებართვის გამოყენება არ აისახება კონფიდენციალურობის საინფორმაციო დაფაზე."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"მოწყობილობის კამერა დაბლოკილია"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"აპებისა და სერვისებისთვის"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"მიკროფონის მონაცემები, შესაძლოა, მაინც გაზიარდეს გადაუდებელი დახმარების სამსახურის ნომერზე დარეკვისას."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"შეცვლა"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"კამერის წვდომა გამორთულია"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"საინფორმაციო-გასართობი აპებისათვის"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"სავალდებულო აპებისათვის"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ეს აპი სავალდებულოა"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ეს აპი მოთხოვნილია თქვენი მანქანის მწარმოებლის მიერ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"უსაფრთხ. და კონფიდენციალურობა"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"მოწყობილობის სკანირება"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"უარყოფა"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"მონაცემთა გაზიარების განახლება"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"ზოგიერთმა აპმა შეცვალა თქვენი მდებარეობის მონაც. გაზიარების გზები"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"პარამეტრები"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"წვდომა განხორციელდა: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"წვდომა განხორციელდა გუშინ: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"წვდომა განხორციელდა: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"თქვენი ერთჯერადი პაროლია: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"შეზღუდული პარამეტრი"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"თქვენივე უსაფრთხოებისთვის ეს პარამეტრი ამჟამად მიუწვდომელია."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"აპისთვის უარყოფილია ნებართვაზე წვდომა: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"აპმა სენსიტიურ ინფორმაციაზე წვდომა მოითხოვა, რაც თქვენს პირად და ფინანსურ ინფორმაციას საფრთხის ქვეშ აყენებს.<xliff:g id="ID_1"><br><br></xliff:g>შესაძლოა აპმა ამ შეზღუდული ნებართვის გარეშე სათანადოდ ვერ იმუშაოს. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>შეიტყვეთ მეტი ნებართვის დაშვების შესახებ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"აპისთვის ნაგულისხმევ როლზე (<xliff:g id="ROLE_NAME">%1$s</xliff:g>) წვდომა უარყოფილია"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"აპმა სენსიტიურ ინფორმაციაზე წვდომა მოითხოვა, რაც თქვენს პირად და ფინანსურ ინფორმაციას საფრთხის ქვეშ აყენებს.<xliff:g id="ID_1"><br><br></xliff:g>შესაძლოა აპმა ამ შეზღუდული ნებართვის გარეშე სათანადოდ ვერ იმუშაოს. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>შეიტყვეთ მეტი ნებართვის დაშვების შესახებ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"აპისთვის წვდომა უარყოფილია"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ამ ნებართვაზე წვდომა თქვენს პირად და ფინანსურ ინფორმაციას საფრთხის ქვეშ აყენებს.<xliff:g id="ID_1"><br><br></xliff:g>შესაძლოა აპმა ამ შეზღუდული ნებართვის გარეშე სათანადოდ ვერ იმუშაოს. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>შეიტყვეთ მეტი ნებართვის დაშვების შესახებ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"შეიტყვეთ მეტი"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"კარგი"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ნებართვის მოთხოვნა შეჩერებულია"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ეს აპი დამატებით ნებართვებს მოითხოვს, მაგრამ ნებართვების მიცემა შეუძლებელია სტრიმინგის სესიაში. თავდაპირველად მიანიჭეთ ნებართვა ტელეფონზე."</string> </resources> diff --git a/PermissionController/res/values-kk-v34/strings.xml b/PermissionController/res/values-kk-v34/strings.xml index 002624b5a..0e992048f 100644 --- a/PermissionController/res/values-kk-v34/strings.xml +++ b/PermissionController/res/values-kk-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Қолданбаның денсаулық деректерін пайдалану рұқсатын басқару"</string> <string name="location_settings" msgid="8863940440881290182">"Локацияны пайдалану рұқсаты"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Қолданбалар мен қызметтерге арналған. Бұл параметр өшірілсе де, құтқару қызметінің нөміріне қоңырау шалғанда, микрофон деректері жіберілуі мүмкін."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Қолданбалар мен қызметтерге арналған."</string> </resources> diff --git a/PermissionController/res/values-kk-watch/strings.xml b/PermissionController/res/values-kk-watch/strings.xml index 1adaab343..8cbb401c4 100644 --- a/PermissionController/res/values-kk-watch/strings.xml +++ b/PermissionController/res/values-kk-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Өзгерту мүмкін емес"</string> <string name="generic_yes" msgid="2489207724988649846">"Иә"</string> <string name="generic_cancel" msgid="2631708607129269698">"Бас тарту"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Әрдайым"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Қолданбаны пайдаланғанда"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Әрдайым"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Қолданбаны пайдаланғанда"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Әрдайым"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Қолданбаны пайдаланғанда"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Әрдайым"</string> </resources> diff --git a/PermissionController/res/values-kk/strings.xml b/PermissionController/res/values-kk/strings.xml index b39b229c3..a0985dadc 100644 --- a/PermissionController/res/values-kk/strings.xml +++ b/PermissionController/res/values-kk/strings.xml @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасына <xliff:g id="PERMISSION_NAME">%2$s</xliff:g> рұқсатын пайдалануға тыйым салдыңыз."</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Бүгін}=1{1 күн бұрын}other{# күн бұрын}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Қолданбаны өшіру"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"Бұл қолданбаны өшірсеңіз, Android жүйесі мен басқа қолданбалар тиісінше жұмыс істемеуі мүмкін. Бұл қолданба құрылғыға алдын ала орнатылатындықтан, оны жою мүмкін еместігін ескеріңіз. Өшіріп қою арқылы сіз бұл қолданбаны ажыратып, оны құрылғыда жасыра аласыз."</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"Бұл қолданбаны өшірсеңіз, Android жүйесі мен басқа қолданбалар тиісінше жұмыс істемеуі мүмкін. Құрылғыға алдын ала орнатылатындықтан, оны жою мүмкін еместігін ескеріңіз. Өшірілген қолданбаның жұмысы тоқтап, ол құрылғыда жасырын тұрады."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Рұқсат менеджері"</string> <string name="never_ask_again" msgid="4728762438198560329">"Қайта сұралмасын"</string> <string name="no_permissions" msgid="3881676756371148563">"Рұқсат жоқ"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Барлық рұқсаттар"</string> <string name="other_permissions" msgid="2901186127193849594">"Басқа қолданба мүмкіндіктері"</string> <string name="permission_request_title" msgid="8790310151025020126">"Рұқсат сұрау"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear жүйесінде \"Орнату\"/\"Жою\" әрекеттері қолданылмайды."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы қайда кіре алатынын таңдаңыз"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы жаңартылды. Бұл қолданбаның қайда кіре алатынын таңдаңыз."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Бас тарту"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Барлығына әрқашан рұқсат ету"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Әрдайым сұрау"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Рұқсат бермеу"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Нақты орын"</string> <string name="approximate_image_description" msgid="938803699637069884">"Шамамен алынған орын"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Нақты локацияны пайдалану"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Нақты локацияңыз өшірулі болған кезде, қолданбалар болжалды локацияңызды пайдалана алады."</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> рұқсаты"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: осы қолданбаның рұқсаты"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Құрылғыдағы (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) осы қолданбаның рұқсаты: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Барлық <xliff:g id="APP">%1$s</xliff:g> рұқсаттарын көру"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Осы рұқсатқа ие барлық қолданбаларды көру"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant микрофонының пайдаланылуын көрсету"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Қолданба пайдаланылмаса, рұқсаттарды өшіру"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Рұқсаттарды өшіру және орын босату"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Әрекетсіз қолданба жұмысын кідірту"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Пайдаланылмайтын қолданбалардың жұмысын кідірту"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Рұқсаттарды өшіру, уақытша файлдарды жою және хабарландыруларды тоқтату"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Рұқсаттарды өшіру, уақытша файлдарды жою, хабарландыруларды тоқтату және қолданбаны мұрағаттау"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Бұл қолданба бірнеше ай бойы пайдаланылмаса, деректеріңізді қорғау үшін оған берілген рұқсаттар өшіріледі."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Қолданба бірнеше ай бойы пайдаланылмаса, деректеріңізді қорғау үшін мына рұқсаттар өшіріледі: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Бірнеше ай бойы пайдаланылмаған қолданбаларға берілген рұқсаттар деректеріңізді қорғау үшін өшірілді."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Барлық файлдарды басқара алатын қолданбалар"</string> <string name="ask_header" msgid="2633816846459944376">"Әрдайым сұрау"</string> <string name="denied_header" msgid="903209608358177654">"Рұқсат берілмегендер"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Барлық файлды пайдалана алатын тағы басқа қолданбаларды көру"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 күн}other{# күн}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# сағат}other{# сағат}}"</string> @@ -388,7 +392,7 @@ <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Ешқандай рұқсат қажет емес."</string> <string name="role_call_screening_label" msgid="883935222060878724">"Нөмір мен спамды анықтаудың әдепкі қолданбасы"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"Нөмірді автоматты анықтау қызметі, спамды анықтау қолданбасы"</string> - <string name="role_call_screening_description" msgid="2349431420497468981">"Қоңырау шалушыны анықтауға, спамды және автоматты қоңырауларды және қажетсіз нөмірлерді бөгеуге мүмкіндік беретін қолданбалар"</string> + <string name="role_call_screening_description" msgid="2349431420497468981">"Қоңырау шалушыны анықтауға, спамды және автоматты қоңырауларды және қажетсіз нөмірлерді блоктауға мүмкіндік беретін қолданбалар"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"<xliff:g id="APP_NAME">%1$s</xliff:g> нөмірді автоматты анықтау қызметі мен спам анықтау қолданбасы болып орнатылсын ба?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Ешқандай рұқсат қажет емес."</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Әдепкі навигация қолданбасы"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Ескертпелер қолданбасы"</string> <string name="role_notes_description" msgid="8496852798616883551">"Құрылғыда ескертпелер жазуға арналған қолданбалар"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ескертпелер"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Әдепкі әмиян қолданбасы"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Әмиян қолданбасы"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Әмиян қолданбаларында несиелік және тұрақты клиент карталарын, көлік кілттерін, сондай-ақ басқа да транзакция түрлері үшін қолайлы заттарды сақтауға болады."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын әдепкі әмиян қолданбасы ретінде орнату керек пе?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Рұқсаттар қажет емес."</string> <string name="request_role_current_default" msgid="738722892438247184">"Ағымдағы әдепкі қолданба"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Қайта сұралмасын"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Әдепкі етіп орнату"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Басқа да әдепкі қолданбалар"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Сілтемелер ашу"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Жұмыс үшін әдепкі қолданба"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Құпия кеңістікке арналған әдепкі қолданбалар"</string> <string name="default_app_none" msgid="9084592086808194457">"Жоқ"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(жүйенің әдепкі қолданбасы)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Қолданба жоқ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Көмекшінің іске қосылғанын анықтауды көрсету"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Микрофон арқылы дауыс көмекшісін іске қосқанда, күй жолағында белгішені көрсету"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына құрылғыдағы суреттерді, медиафайлдарды пайдалануға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысындағы фотосуреттер мен медианы пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында фотосуреттер мен медиаконтент пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына контактілерді пайдалануға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында контактілерді пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында контактілерді пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғының локациясын пайдалануға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> құрылғысының локациясын пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> құрылғысының</b> локациясын пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Қолданбаны пайдалану кезінде ғана оған геодеректеріңізді көруге рұқсат етіледі."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғының локациясын пайдалануға рұқсат берілсін бе?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> құрылғысының локациясын пайдалану рұқсаты берілсін бе?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> құрылғысының</b> локациясын пайдалану рұқсаты берілсін бе?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Қолданбаны пайдаланбасаңыз да, ол үнемі геодеректеріңізді пайдаланғысы келуі мүмкін. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына геодеректі пайдалануға рұқсат етілсін бе?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында локацияны пайдалану рұқсатын өзгерту керек пе?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында локацияны пайдалану рұқсаты өзгертілсін бе?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Қолданбаны пайдаланбасаңыз да, ол үнемі геодеректеріңізді пайдаланғысы келеді. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына маңайдағы құрылғыларды табуға, олармен байланысуға және олардың орналасуын анықтауға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында маңайдағы құрылғыларды табу, олармен байланысу және қатысты локациясын анықтау рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында маңайдағы құрылғыларды табу, олармен байланысу және қатысты локациясын анықтау рұқсаты берілсін бе?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына маңайдағы құрылғыларды табуға, олармен байланысуға және олардың орналасуын анықтауға рұқсат берілсін бе? "<annotation id="link">"Параметрлерден рұқсат бере аласыз."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> қолданбасының болжалды емес, нақты локацияны пайдалануына рұқсат беру керек пе?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> қолданбасының <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында локацияны пайдалану рұқсатын болжалдыдан нақты локацияға өзгертесіз бе?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> қолданбасының <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында локацияны пайдалану рұқсаты болжалдыдан нақты локацияға өзгертілсін бе?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғының болжалды орнын пайдалануға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысының болжалды локациясын пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысының болжалды локациясын пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Нақты"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Болжалды"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына күнтізбеге кіруге рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында күнтізбені пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында күнтізбені пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына SMS хабарларын жіберуге және көруге рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында SMS хабарларын жіберу және көру рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында SMS хабарларын жіберу және көру рұқсаты берілсін бе?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына құрылғыдағы суреттерге, медиафайлдарға және басқа файлдарға кіруге рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысындағы фотосуреттерді, медиа және файлдарды пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында фотосуреттер, медиаконтент және файлдар пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғыдағы <b>фотосурет, бейне, музыка мен аудионы</b> пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғыдағы <b>фотосурет, бейне, музыка, аудио мен басқа файлдарды</b> пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғыдағы музыка мен аудионы пайдалану рұқсаты берілсін бе?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысындағы музыка мен аудионы пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында музыка мен аудионы пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына осы құрылғыдағы фотосурет пен бейнені пайдалану рұқсаты берілсін бе?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысындағы фотосуреттер мен бейнелерді пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында фотосуреттер мен бейнелерді пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы осы құрылғыдағы басқа фотосуреттер мен бейнелерді пайдалансын ба?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында басқа фотосуреттер мен бейнелерді пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында көбірек фотосуреттер мен бейнелер пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына дыбыс жазуға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында аудио жазу рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында аудио жазу рұқсаты берілсін бе?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Қолданба тек жұмыс кезінде ғана аудиомазмұн жаза алады."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына аудиомазмұн жазуға рұқсат берілсін бе?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында аудио жазу рұқсаты берілсін бе?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында аудио жазу рұқсаты берілсін бе?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Қолданбаны пайдаланбасаңыз да, ол кез келген уақытта бейнелерді жаза алады. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына микрофонды пайдалануға рұқсат етілсін бе?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында микрофонды пайдалану рұқсатын өзгерту керек пе?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында микрофонды пайдалану рұқсаты өзгертілсін бе?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Қолданбаны пайдаланбасаңыз да, ол кез келген уақытта аудиомазмұн жазғысы келеді. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына қимыл-қозғалыс дерегін алуға рұқсат етілсін бе?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында қимыл-қозғалыс деректерін пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында қимыл-қозғалыс деректерін пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына суретке түсіруге және бейне жазуға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында суретке түсіру және бейне жазу рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында суретке түсіру және бейне жазу рұқсаты берілсін бе?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Қолданба тек жұмыс кезінде ғана суретке түсіріп, бейне жаза алады."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына суретке түсіруге және бейне жазуға рұқсат берілсін бе?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында суретке түсіру және бейне жазу рұқсаты берілсін бе?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында суретке түсіру және бейне жазу рұқсаты берілсін бе?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Қолданбаны пайдаланбасаңыз да, ол кез келген уақытта суретке түсіріп, бейнелер жаза алады. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына камераны пайдалануға рұқсат етілсін бе?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысындағы камераны пайдалану рұқсатын өзгерту керек пе?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы үшін <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында камераны пайдалану рұқсаты өзгертілсін бе?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Қолданбаны пайдаланбасаңыз да, ол кез келген уақытта суретке түсіріп, бейне жазғысы келеді. "<annotation id="link">"Параметрлерден рұқсат беріңіз."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына телефонның қоңыраулар журналына кіруге рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында қоңырау журналдарын пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында қоңырау журналдарын пайдалану рұқсаты берілсін бе?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына қоңырау шалуға және қоңырауларды басқаруға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында қоңыраулар шалу және басқару рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында қоңырау шалу және басқару рұқсаты берілсін бе?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына негізгі физиологиялық көрсеткіштерді көрсететін сенсорлық деректерді пайдалануға рұқсат берілсін бе?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында тіршілік көрсеткіштеріне қатысты датчик деректерін пайдалану рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында тіршілік көрсеткіштеріне қатысты датчик деректерін пайдалану рұқсаты берілсін бе?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Қолданбаны пайдаланбасаңыз да, ол әрдайым тіршілік көрсеткіштері туралы датчик дерегін пайдалануға рұқсат сұрайды. Мұны өзгерту үшін "<annotation id="link">"параметрлерге өтіңіз."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына тіршілік көрсеткіштеріне қатысты датчик деректерін пайдалануға рұқсат берілсін бе?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында тіршілік көрсеткіштеріңіз туралы датчик деректерін пайдалану рұқсаты берілсін бе?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында тіршілік көрсеткіштеріңіз туралы датчик деректерін пайдалану рұқсаты берілсін бе?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Бұл қолданбаға кез келген уақытта (ол пайдаланылмаған кезде де) дене датчигінен алынған деректі пайдалануға рұқсат беру үшін "<annotation id="link">"параметрлерге өтіңіз."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Жұмыс кезінде <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы дене датчигінен алынған деректі одан әрі пайдалана берсін бе?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Жұмыс кезінде <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында дене датчигінен алынған деректі одан әрі пайдалана берсін бе?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Жұмыс кезінде <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында дене датчиктері деректерін одан әрі пайдалана берсін бе?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасы хабарландыру жіберсін бе?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE">%2$s</xliff:g></b> құрылғысында хабарландыру жіберу рұқсаты берілсін бе?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> қолданбасына <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> құрылғысында сізге хабарландырулар жіберу рұқсаты берілсін бе?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Басқарылатын рұқсаттар"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы локацияны пайдаланады"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Ұйымыңыз <xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасына локацияңызды пайдалануға рұқсат береді."</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Жоқ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Соңғы\n24 сағатта"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Соңғы\n7 күн"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> пайыз"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын Android қорғайды. Деректеріңіз осы құрылғыда өңделетіндіктен, бұл қолданба рұқсатының пайдаланылуы күй жолағында немесе құпиялық тақтасында көрсетілмейді."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасын Android қорғайды. Деректеріңіз осы құрылғыда өңделетіндіктен, бұл қолданба рұқсатының пайдаланылуы құпиялық тақтасында көрсетілмейді."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Құрылғы камерасы блокталған"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Қолданбалар мен қызметтер үшін"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Құтқару қызметінің нөміріне қоңырау шалу кезінде микрофон деректері әлі бөлісіліп жатуы мүмкін."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Өзгерту"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Камераны пайдалану рұқсаты өшірулі"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Ақпараттық-сауықтық қолданбалары"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Қажетті қолданбалар үшін"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Осы қолданба қажет"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Осы қолданба көлік өндірушісі үшін қажет."</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Қауіпсіздік және құпиялық"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Құрылғыны тексеру"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Жабу"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Деректерді бөлісуге қатысты жаңалық"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Кейбір қолданбалар локация деректеріңізді бөлісу жолын өзгертті."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Параметрлер"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Пайдаланылған уақыты: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Кеше пайдаланылған уақыты: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Пайдаланылған уақыты: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Бір реттік құпия сөзіңіз: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Шектелген параметр"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Қауіпсіздік мақсатында бұл параметрді қазір пайдалану мүмкін емес."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Қолданбаға <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> рұқсаты берілмеді"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Қолданба жеке және қаржылық ақпаратыңызға қауіп төндіруі мүмкін құпия ақпарат рұқсатын сұрады.<xliff:g id="ID_1"><br><br></xliff:g>Қолданба бұл шектеулі рұқсатсыз дұрыс жұмыс істемеуі мүмкін. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Рұқсат беру туралы ақпарат</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Қолданбаға әдепкі <xliff:g id="ROLE_NAME">%1$s</xliff:g> болу рұқсаты берілмеді"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Қолданба жеке және қаржылық ақпаратыңызға қауіп төндіруі мүмкін құпия ақпарат рұқсаттарын сұрады.<xliff:g id="ID_1"><br><br></xliff:g>Қолданба бұл шектеулі рұқсаттарсыз дұрыс жұмыс істемеуі мүмкін. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Рұқсат беру туралы ақпарат</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Қолданбаға рұқсат берілмеді"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Бұл рұқсатты берсеңіз, жеке және қаржылық ақпаратыңызға қауіп төнуі мүмкін.<xliff:g id="ID_1"><br><br></xliff:g>Қолданба бұл шектеулі рұқсатсыз дұрыс жұмыс істемеуі мүмкін. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Рұқсат беру туралы ақпарат</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Толық ақпарат"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Жарайды"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Рұқсат сұрауы блокталды"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Бұл қолданба қосымша рұқсаттар сұрап жатыр, бірақ трансляция жүріп жатқанда рұқсат беру мүмкін емес. Алдымен телефонда рұқсат беріңіз."</string> </resources> diff --git a/PermissionController/res/values-km-v34/strings.xml b/PermissionController/res/values-km-v34/strings.xml index ccf92d186..95bf039cd 100644 --- a/PermissionController/res/values-km-v34/strings.xml +++ b/PermissionController/res/values-km-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"គ្រប់គ្រងសិទ្ធិរបស់កម្មវិធីក្នុងការចូលប្រើទិន្នន័យសុខភាព"</string> <string name="location_settings" msgid="8863940440881290182">"ការចូលប្រើប្រាស់ទីតាំង"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"សម្រាប់កម្មវិធី និងសេវាកម្ម។ ប្រសិនបើការកំណត់នេះត្រូវបានបិទ ទិន្នន័យមីក្រូហ្វូននៅតែអាចត្រូវបានចែករំលែកដដែល នៅពេលអ្នកហៅទៅលេខសង្គ្រោះបន្ទាន់"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"សម្រាប់កម្មវិធី និងសេវាកម្ម"</string> </resources> diff --git a/PermissionController/res/values-km-watch/strings.xml b/PermissionController/res/values-km-watch/strings.xml index de12569e2..08504f8f1 100644 --- a/PermissionController/res/values-km-watch/strings.xml +++ b/PermissionController/res/values-km-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"មិនអាចប្តូរបានទេ"</string> <string name="generic_yes" msgid="2489207724988649846">"បាទ/ចាស"</string> <string name="generic_cancel" msgid="2631708607129269698">"បោះបង់"</string> + <string name="permission_access_always" msgid="2107115233573823032">"គ្រប់ពេល"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ពេលកំពុងប្រើកម្មវិធី"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"គ្រប់ពេល"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ពេលកំពុងប្រើកម្មវិធី"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"គ្រប់ពេល"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ពេលកំពុងប្រើកម្មវិធី"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"គ្រប់ពេល"</string> </resources> diff --git a/PermissionController/res/values-km/strings.xml b/PermissionController/res/values-km/strings.xml index d1b60ad11..8746f927d 100644 --- a/PermissionController/res/values-km/strings.xml +++ b/PermissionController/res/values-km/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ការអនុញ្ញាតទាំងអស់"</string> <string name="other_permissions" msgid="2901186127193849594">"សមត្ថភាពកម្មវិធីផ្សេងទៀត"</string> <string name="permission_request_title" msgid="8790310151025020126">"សំណើសុំការអនុញ្ញាត"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"សកម្មភាពដំឡើង/លុបចេញមិនអាចប្រើនៅលើ Wear បានទេ។"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"ជ្រើសរើសអ្វីដែលត្រូវអនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ត្រូវបានដំឡើងជំនាន់។ ជ្រើសរើសអ្វីដែលត្រូវអនុញ្ញាតឱ្យកម្មវិធីនេះចូលប្រើ។"</string> <string name="review_button_cancel" msgid="2191147944056548886">"បោះបង់"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"អនុញ្ញាតទាំងអស់ជានិច្ច"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"សួរគ្រប់ពេល"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"មិនអនុញ្ញាត"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ទីតាំងជាក់លាក់"</string> <string name="approximate_image_description" msgid="938803699637069884">"ទីតាំងប្រហាក់ប្រហែល"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ប្រើទីតាំងជាក់លាក់"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"នៅពេលបិទទីតាំងជាក់លាក់ កម្មវិធីអាចចូលប្រើទីតាំងប្រហាក់ប្រហែលរបស់អ្នក"</string> <string name="app_permission_title" msgid="2090897901051370711">"ការអនុញ្ញាត<xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"ការចូលប្រើ<xliff:g id="PERM">%1$s</xliff:g>សម្រាប់កម្មវិធីនេះ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"សិទ្ធិចូលប្រើ <xliff:g id="PERM">%1$s</xliff:g> សម្រាប់កម្មវិធីនេះនៅលើ <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"មើលការអនុញ្ញាតទាំងអស់ឱ្យទៅ <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"មើលកម្មវិធីទាំងអស់ដែលមានការអនុញ្ញាតនេះ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"បង្ហាញការប្រើប្រាស់មីក្រូហ្វូនរបស់ជំនួយការ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ដកការអនុញ្ញាតចេញ ប្រសិនបើមិនប្រើប្រាស់កម្មវិធី"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ដកការអនុញ្ញាតចេញ និងបង្កើនទំហំផ្ទុក"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ផ្អាកសកម្មភាពកម្មវិធី ប្រសិនបើមិនប្រើ"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"គ្រប់គ្រងកម្មវិធី ប្រសិនបើមិនបានប្រើ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ដកការអនុញ្ញាតចេញ លុបឯកសារបណ្ដោះអាសន្ន និងបញ្ឈប់ការជូនដំណឹង"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ដកការអនុញ្ញាតចេញ លុបឯកសារបណ្ដោះអាសន្ន បញ្ឈប់ការជូនដំណឹង និងទុកកម្មវិធីក្នុងបណ្ណសារ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ដើម្បីការពារទិន្នន័យរបស់អ្នក ការអនុញ្ញាតសម្រាប់កម្មវិធីនេះនឹងត្រូវដកចេញ ប្រសិនបើមិនប្រើប្រាស់កម្មវិធីនេះរយៈពេលពីរបីខែ។"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ដើម្បីការពារទិន្នន័យរបស់អ្នក ការអនុញ្ញាតខាងក្រោមនឹងត្រូវដកចេញ ប្រសិនបើមិនប្រើប្រាស់កម្មវិធីនេះរយៈពេលពីរបីខែ៖ <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ដើម្បីការពារទិន្នន័យរបស់អ្នក ការអនុញ្ញាតត្រូវបានដកចេញពីកម្មវិធីដែលអ្នកមិនបានប្រើប្រាស់រយៈពេលពីរបីខែ។"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"បានអនុញ្ញាតឱ្យគ្រប់គ្រងឯកសារទាំងអស់"</string> <string name="ask_header" msgid="2633816846459944376">"សួរគ្រប់ពេល"</string> <string name="denied_header" msgid="903209608358177654">"មិនបានអនុញ្ញាត"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> នៅលើ <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"មើលកម្មវិធីច្រើនទៀតដែលអាចចូលប្រើឯកសារទាំងអស់បាន"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ថ្ងៃ}other{# ថ្ងៃ}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ម៉ោង}other{# ម៉ោង}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"កម្មវិធីកំណត់ចំណាំ"</string> <string name="role_notes_description" msgid="8496852798616883551">"កម្មវិធីដែលអនុញ្ញាតឱ្យអ្នកកត់ចំណាំនៅលើឧបករណ៍របស់អ្នក"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"កំណត់ចំណាំ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"កម្មវិធីកាបូបលំនាំដើម"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"កម្មវិធីកាបូប"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"កម្មវិធីកាបូបអាចរក្សាទុកកាតឥណទាននិងកាតសមាជិក សោរថយន្ត និងអ្វីៗផ្សេងទៀតរបស់អ្នក ដើម្បីជួយពាក់ព័ន្ធនឹងទម្រង់ផ្សេងៗរបស់ប្រតិបត្តិការ។"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"កំណត់ <xliff:g id="APP_NAME">%1$s</xliff:g> ជាកម្មវិធីកាបូបលំនាំដើមរបស់អ្នកឬ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"មិនត្រូវការការអនុញ្ញាតទេ"</string> <string name="request_role_current_default" msgid="738722892438247184">"លំនាំដើមបច្ចុប្បន្ន"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"កុំសួរទៀត"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"កំណត់ជាលំនាំដើម"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"លំនាំដើមច្រើនទៀត"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ការបើកតំណ"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"លំនាំដើមសម្រាប់ការងារ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"លំនាំដើមសម្រាប់លំហឯកជន"</string> <string name="default_app_none" msgid="9084592086808194457">"គ្មាន"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(លំនាំដើមប្រព័ន្ធ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"គ្មានកម្មវិធីទេ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"បង្ហាញការចាប់សញ្ញារបស់ជំនួយការ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"បង្ហាញរូបតំណាងនៅក្នុងរបារស្ថានភាព នៅពេលប្រើប្រាស់មីក្រូហ្វូន ដើម្បីបើកដំណើរការជំនួយការសំឡេង"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងមេឌៀនៅលើឧបករណ៍របស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងមេឌៀនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងមេឌៀនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទំនាក់ទំនងរបស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទំនាក់ទំនងរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទំនាក់ទំនងរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងរបស់ឧបករណ៍នេះដែរទេ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងនៃ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំង<b>របស់ <xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"កម្មវិធីនេះនឹងមានសិទ្ធិចូលប្រើទីតាំង នៅពេលអ្នកកំពុងប្រើកម្មវិធីនេះតែប៉ុណ្ណោះ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងរបស់ឧបករណ៍នេះដែរទេ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំង <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> របស់អ្នកឬ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំង<b>របស់ <xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"កម្មវិធីនេះប្រហែលជាចង់ចូលប្រើទីតាំងរបស់អ្នកគ្រប់ពេល ទោះបីជាអ្នកមិនកំពុងប្រើកម្មវិធីនេះក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"ប្ដូរសិទ្ធិចូលប្រើទីតាំងសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ដែរទេ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ប្ដូរសិទ្ធិចូលប្រើទីតាំងសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"ប្ដូរសិទ្ធិចូលប្រើទីតាំងសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"កម្មវិធីនេះចង់ចូលប្រើទីតាំងរបស់អ្នកគ្រប់ពេល ទោះបីជាអ្នកមិនកំពុងប្រើកម្មវិធីនេះក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ស្វែងរក ភ្ជាប់ទៅ និងកំណត់ទីតាំងដែលពាក់ព័ន្ធនៃឧបករណ៍ដែលនៅជិតឬ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ស្វែងរក ភ្ជាប់ទៅ និងកំណត់ទីតាំងដែលពាក់ព័ន្ធនៃឧបករណ៍នៅជិតនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ស្វែងរក ភ្ជាប់ទៅ និងកំណត់ទីតាំងដែលពាក់ព័ន្ធនៃឧបករណ៍នៅជិតនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ស្វែងរក ភ្ជាប់ទៅ និងកំណត់ទីតាំងដែលពាក់ព័ន្ធនៃឧបករណ៍ដែលនៅជិតឬ? "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"ផ្លាស់ប្ដូរការចូលប្រើទីតាំងរបស់ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ពីទីតាំងប្រហាក់ប្រហែលទៅជាក់លាក់ឬ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ប្ដូរសិទ្ធិចូលប្រើទីតាំងរបស់ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> នៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកពីប្រហាក់ប្រហែលទៅជាក់លាក់ឬ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"ប្ដូរសិទ្ធិចូលប្រើទីតាំងរបស់ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> នៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ពីប្រហាក់ប្រហែលទៅជាក់លាក់ឬ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងប្រហាក់ប្រហែលរបស់ឧបករណ៍នេះឬ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងប្រហាក់ប្រហែលនៃ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទីតាំងប្រហាក់ប្រហែលរបស់ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ជាក់លាក់"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ប្រហាក់ប្រហែល"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រតិទិនរបស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រតិទិនរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រតិទិនរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើ និងមើលសារ SMS ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើ និងមើលសារ SMS នៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើ និងមើលសារ SMS នៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត មេឌៀ និងឯកសារនៅលើឧបករណ៍របស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត មេឌៀ និងឯកសារនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត មេឌៀ និងឯកសារនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រាស់<b>រូបថត វីដេអូ តន្ត្រី និងសំឡេង</b>នៅលើឧបករណ៍នេះទេ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើ <b>រូបថត វីដេអូ តន្ត្រី សំឡេង និងឯកសារផ្សេងទៀត</b>នៅលើឧបករណ៍នេះទេ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រាស់តន្ត្រី និងសំឡេងនៅលើឧបករណ៍នេះទេ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើតន្ត្រី និងសំឡេងនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើតន្ត្រី និងសំឡេងនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រាស់រូបថត និងវីដេអូនៅលើឧបករណ៍នេះទេ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងវីដេអូនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងវីដេអូនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើប្រាស់រូបថត និងវីដេអូច្រើនទៀតនៅលើឧបករណ៍នេះឬ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងវីដេអូច្រើនទៀតនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើរូបថត និងវីដេអូច្រើនទៀតនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេង?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេងនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេងនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"កម្មវិធីនេះនឹងអាចថតសំឡេង នៅពេលអ្នកកំពុងប្រើប្រាស់កម្មវិធីតែប៉ុណ្ណោះ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេងឬ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេងនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតសំឡេងនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"កម្មវិធីនេះអាចចង់ថតសំឡេងគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើប្រាស់កម្មវិធីក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ប្ដូរសិទ្ធិចូលប្រើមីក្រូហ្វូនសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ឬ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ប្ដូរសិទ្ធិចូលប្រើមីក្រូហ្វូនសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"ប្ដូរសិទ្ធិចូលប្រើមីក្រូហ្វូនសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"កម្មវិធីនេះចង់ថតសំឡេងគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើប្រាស់កម្មវិធីក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើសកម្មភាពរាងកាយរបស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើសកម្មភាពរាងកាយរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើសកម្មភាពរាងកាយរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូប និងថតវីដេអូ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូបភាព និងថតវីដេអូនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូបភាព និងថតវីដេអូនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"កម្មវិធីនេះនឹងអាចថតរូប និងវីដេអូ នៅពេលអ្នកកំពុងប្រើប្រាស់កម្មវិធីតែប៉ុណ្ណោះ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូប និងថតវីដេអូឬ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូបភាព និងថតវីដេអូនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ថតរូបភាព និងថតវីដេអូនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"កម្មវិធីនេះអាចចង់ថតរូប និងវីដេអូគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើប្រាស់កម្មវិធីក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"ប្ដូរសិទ្ធិចូលប្រើកាមេរ៉ាសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ឬ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ប្ដូរសិទ្ធិចូលប្រើកាមេរ៉ាសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"ប្ដូរសិទ្ធិចូលប្រើកាមេរ៉ាសម្រាប់ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> នៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"កម្មវិធីនេះចង់ថតរូប និងវីដេអូគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើប្រាស់កម្មវិធីក៏ដោយ។ "<annotation id="link">"អនុញ្ញាតនៅក្នុងការកំណត់។"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើកំណត់ហេតុហៅទូរសព្ទរបស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើកំណត់ហេតុហៅទូរសព្ទរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើកំណត់ហេតុហៅទូរសព្ទរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> គ្រប់គ្រង និងធ្វើការហៅទូរសព្ទ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> គ្រប់គ្រង និងធ្វើការហៅទូរសព្ទនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ធ្វើការហៅទូរសព្ទ និងគ្រប់គ្រងការហៅទូរសព្ទនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នក?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័រអំពីសញ្ញាសរីរាង្គសំខាន់ៗរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័រអំពីសញ្ញាសរីរាង្គសំខាន់ៗរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"កម្មវិធីនេះចង់ចូលប្រើទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នកគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើកម្មវិធីនេះក៏ដោយ។ ដើម្បីធ្វើការផ្លាស់ប្ដូរនេះ សូម"<annotation id="link">"ចូលទៅកាន់ការកំណត់។"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នកឬ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័រអំពីសញ្ញាសរីរាង្គសំខាន់ៗរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័រអំពីសញ្ញាសរីរាង្គសំខាន់ៗរបស់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ដើម្បីអនុញ្ញាតឱ្យកម្មវិធីនេះចូលប្រើទិន្នន័យឧបករណ៍ចាប់សញ្ញារាងកាយគ្រប់ពេល ទោះបីជានៅពេលអ្នកមិនកំពុងប្រើកម្មវិធីនេះក៏ដោយ "<annotation id="link">"សូមចូលទៅកាន់ការកំណត់។"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"បន្តអនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យឧបករណ៍ចាប់សញ្ញារាងកាយ ខណៈពេលកំពុងប្រើកម្មវិធីឬ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"បន្តអនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័ររាងកាយនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នក ពេលកំពុងប្រើកម្មវិធីឬ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"បន្តអនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ចូលប្រើទិន្នន័យសេនស័ររាងកាយនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ពេលកំពុងប្រើប្រាស់កម្មវិធីឬ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើការជូនដំណឹងឱ្យអ្នកឬ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើការជូនដំណឹងដល់អ្នកនៅលើ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> របស់អ្នកឬ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"អនុញ្ញាតឱ្យ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ផ្ញើការជូនដំណឹងដល់អ្នកនៅលើ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ឬ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ការអនុញ្ញាតដែលស្ថិតក្រោមការគ្រប់គ្រង"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> មានសិទ្ធិចូលប្រើទីតាំង"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ស្ថាប័នរបស់អ្នកអនុញ្ញាតឱ្យ <xliff:g id="APP_NAME">%1$s</xliff:g> ចូលប្រើទីតាំងរបស់អ្នក"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"គ្មាន"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 ម៉ោង\nចុងក្រោយ"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 ថ្ងៃ\nចុងក្រោយ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ភាគរយ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ត្រូវបានការពារដោយ Android។ ដោយសារទិន្នន័យរបស់អ្នកត្រូវបានដំណើរការនៅលើឧបករណ៍នេះ ការប្រើប្រាស់ការអនុញ្ញាតរបស់កម្មវិធីនេះមិនបង្ហាញនៅលើរបារស្ថានភាព ឬផ្ទាំងគ្រប់គ្រងឯកជនភាពរបស់អ្នកទេ។"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ត្រូវបានការពារដោយ Android។ ដោយសារទិន្នន័យរបស់អ្នកត្រូវបានដំណើរការនៅលើឧបករណ៍នេះ ការប្រើប្រាស់ការអនុញ្ញាតរបស់កម្មវិធីនេះមិនបង្ហាញនៅលើផ្ទាំងគ្រប់គ្រងឯកជនភាពរបស់អ្នកទេ។"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"កាមេរ៉ាឧបករណ៍ត្រូវបានទប់ស្កាត់"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"សម្រាប់កម្មវិធី និងសេវាកម្ម"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ទិន្នន័យមីក្រូហ្វូននៅតែអាចត្រូវបានចែករំលែកដដែល នៅពេលអ្នកហៅទៅលេខសង្គ្រោះបន្ទាន់។"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ផ្លាស់ប្ដូរ"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"សិទ្ធិចូលប្រើកាមេរ៉ាត្រូវបានបិទ"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"សម្រាប់កម្មវិធីព័ត៌មាននិងកម្សាន្ត"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"សម្រាប់កម្មវិធីដែលតម្រូវឱ្យមាន"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"តម្រូវឱ្យមានកម្មវិធីនេះ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ក្រុមហ៊ុនផលិតរថយន្តរបស់អ្នកតម្រូវឱ្យមានកម្មវិធីនេះ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"សុវត្ថិភាព និងឯកជនភាព"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ស្កេនឧបករណ៍"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ច្រានចោល"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"បច្ចុប្បន្នភាពការចែករំលែកទិន្នន័យ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"កម្មវិធីមួយចំនួនបានផ្លាស់ប្ដូររបៀបដែលវាអាចចែករំលែកទិន្នន័យទីតាំងរបស់អ្នក"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ការកំណត់"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"បានចូលប្រើនៅម៉ោង <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"បានចូលប្រើម្សិលមិញនៅម៉ោង <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"បានចូលប្រើនៅថ្ងៃទី <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ពាក្យសម្ងាត់ប្រើបានតែម្ដងរបស់អ្នកគឺ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ការកំណត់ដែលបានដាក់កំហិត"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ដើម្បីសុវត្ថិភាពរបស់អ្នក បច្ចុប្បន្នមិនអាចប្រើការកំណត់នេះបានទេ។"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"កម្មវិធីត្រូវបានបដិសេធមិនឱ្យចូលប្រើ<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"កម្មវិធីបានស្នើសុំសិទ្ធិចូលប្រើការអនុញ្ញាតដែលមានលក្ខណៈរសើប ដែលអាចធ្វើឱ្យព័ត៌មានហិរញ្ញវត្ថុ និងព័ត៌មានផ្ទាល់ខ្លួនរបស់អ្នកប្រឈមនឹងហានិភ័យ។<xliff:g id="ID_1"><br><br></xliff:g>កម្មវិធីអាចនឹងមិនដំណើរការបានត្រឹមត្រូវទេ ប្រសិនបើគ្មានការអនុញ្ញាតដែលមានការរឹតបន្តឹងនេះ។ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ស្វែងយល់អំពីរបៀបផ្ដល់សិទ្ធិចូលប្រើ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"កម្មវិធីត្រូវបានបដិសេធមិនឱ្យចូលប្រើជា<xliff:g id="ROLE_NAME">%1$s</xliff:g>លំនាំដើម"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"កម្មវិធីបានស្នើសុំសិទ្ធិចូលប្រើការអនុញ្ញាតដែលមានលក្ខណៈរសើប ដែលអាចធ្វើឱ្យព័ត៌មានហិរញ្ញវត្ថុ និងព័ត៌មានផ្ទាល់ខ្លួនរបស់អ្នកប្រឈមនឹងហានិភ័យ។<xliff:g id="ID_1"><br><br></xliff:g>កម្មវិធីអាចនឹងមិនដំណើរការបានត្រឹមត្រូវទេ ប្រសិនបើគ្មានការអនុញ្ញាតដែលមានការរឹតបន្តឹងទាំងនេះ។ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ស្វែងយល់អំពីរបៀបផ្ដល់សិទ្ធិចូលប្រើ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"កម្មវិធីត្រូវបានបដិសេធមិនឱ្យចូលប្រើ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"សិទ្ធិចូលប្រើការអនុញ្ញាតនេះអាចនាំឱ្យព័ត៌មានផ្ទាល់ខ្លួន និងព័ត៌មានហិរញ្ញវត្ថុរបស់អ្នកប្រឈមនឹងហានិភ័យ។<xliff:g id="ID_1"><br><br></xliff:g>កម្មវិធីអាចនឹងមិនដំណើរការបានត្រឹមត្រូវទេ ប្រសិនបើគ្មានការអនុញ្ញាតដែលមានការរឹតបន្តឹងនេះ។ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ស្វែងយល់អំពីរបៀបផ្ដល់សិទ្ធិចូលប្រើ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ស្វែងយល់បន្ថែម"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"យល់ព្រម"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"បានទប់ស្កាត់សំណើសុំការអនុញ្ញាត"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"កម្មវិធីនេះកំពុងស្នើសុំការអនុញ្ញាតបន្ថែម ប៉ុន្តែមិនអាចផ្តល់ការអនុញ្ញាតក្នុងវគ្គផ្សាយបានទេ។ ផ្តល់ការអនុញ្ញាតនៅលើទូរសព្ទរបស់អ្នកជាមុនសិន។"</string> </resources> diff --git a/PermissionController/res/values-kn-v34/strings.xml b/PermissionController/res/values-kn-v34/strings.xml index 34a939459..0e0a442d9 100644 --- a/PermissionController/res/values-kn-v34/strings.xml +++ b/PermissionController/res/values-kn-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ಆರೋಗ್ಯದ ಡೇಟಾಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ ಆ್ಯಪ್ನ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ"</string> <string name="location_settings" msgid="8863940440881290182">"ಸ್ಥಳದ ಆ್ಯಕ್ಸೆಸ್"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ಆ್ಯಪ್ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗಾಗಿ. ಈ ಸೆಟ್ಟಿಂಗ್ ಆಫ್ ಆಗಿದ್ದಾಗಲೂ, ನೀವು ತುರ್ತು ಸಂಖ್ಯೆಯೊಂದಕ್ಕೆ ಕರೆ ಮಾಡಿದಾಗ ಮೈಕ್ರೊಫೋನ್ ಡೇಟಾವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ಆ್ಯಪ್ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗಾಗಿ"</string> </resources> diff --git a/PermissionController/res/values-kn-watch/strings.xml b/PermissionController/res/values-kn-watch/strings.xml index a05c39b72..1aae70857 100644 --- a/PermissionController/res/values-kn-watch/strings.xml +++ b/PermissionController/res/values-kn-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ಬದಲಿಸಲಾಗುವುದಿಲ್ಲ"</string> <string name="generic_yes" msgid="2489207724988649846">"ಹೌದು"</string> <string name="generic_cancel" msgid="2631708607129269698">"ರದ್ದುಮಾಡಿ"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ಯಾವಾಗಲೂ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ಆ್ಯಪ್ ಬಳಸುವಾಗ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ಯಾವಾಗಲೂ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ಆ್ಯಪ್ ಬಳಸುವಾಗ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ಯಾವಾಗಲೂ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ಆ್ಯಪ್ ಬಳಸುವಾಗ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ಯಾವಾಗಲೂ"</string> </resources> diff --git a/PermissionController/res/values-kn/strings.xml b/PermissionController/res/values-kn/strings.xml index 547116264..bb9f0f732 100644 --- a/PermissionController/res/values-kn/strings.xml +++ b/PermissionController/res/values-kn/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ಎಲ್ಲಾ ಅನುಮತಿಗಳು"</string> <string name="other_permissions" msgid="2901186127193849594">"ಇತರ ಆ್ಯಪ್ ಸಾಮರ್ಥ್ಯಗಳು"</string> <string name="permission_request_title" msgid="8790310151025020126">"ಅನುಮತಿಯ ವಿನಂತಿ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ನಲ್ಲಿ ಇನ್ಸ್ಟಾಲ್/ಅನ್ಇನ್ಸ್ಟಾಲ್ ಕ್ರಿಯೆಗಳು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗೆ ಪ್ರವೇಶಿಸಲು ಯಾವುದನ್ನು ಅನುಮತಿಸಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಲಾಗಿದೆ. ಈ ಆ್ಯಪ್ಗೆ ಪ್ರವೇಶಿಸಲು ಯಾವುದನ್ನು ಅನುಮತಿಸಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string> <string name="review_button_cancel" msgid="2191147944056548886">"ರದ್ದುಮಾಡಿ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ಯಾವಾಗಲೂ ಎಲ್ಲವನ್ನೂ ಅನುಮತಿಸಿ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ಪ್ರತಿ ಬಾರಿ ಕೇಳಿ"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ಅನುಮತಿಸಬೇಡಿ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ನಿಖರವಾದ ಸ್ಥಾನ"</string> <string name="approximate_image_description" msgid="938803699637069884">"ಅಂದಾಜು ಸ್ಥಳ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ನಿಖರವಾದ ಸ್ಥಳವನ್ನು ಬಳಸಿ"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ನಿಖರವಾದ ಸ್ಥಳ ಆಫ್ ಆಗಿರುವಾಗ, ಆ್ಯಪ್ಗಳು ನಿಮ್ಮ ಅಂದಾಜು ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> ಅನುಮತಿ"</string> <string name="app_permission_header" msgid="2951363137032603806">"ಈ ಆ್ಯಪ್ಗಾಗಿ <xliff:g id="PERM">%1$s</xliff:g> ಆ್ಯಕ್ಸೆಸ್"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ನಲ್ಲಿ ಈ ಆ್ಯಪ್ಗಾಗಿ <xliff:g id="PERM">%1$s</xliff:g> ಆ್ಯಕ್ಸೆಸ್"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ಎಲ್ಲಾ <xliff:g id="APP">%1$s</xliff:g> ಅನುಮತಿಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ಈ ಅನುಮತಿಯನ್ನು ಹೊಂದಿರುವ ಎಲ್ಲಾ ಆ್ಯಪ್ಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"ಅಸಿಸ್ಟೆಂಟ್ನ ಮೈಕ್ರೋಫೋನ್ ಬಳಕೆಯನ್ನು ತೋರಿಸಿ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ಆ್ಯಪ್ ಬಳಸದಿದ್ದರೆ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ಅನುಮತಿಗಳನ್ನು ತೆಗೆಯಿರಿ, ಸ್ಥಳ ಮುಕ್ತಗೊಳಿಸಿ"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ಬಳಸದಿದ್ದರೆ, ಆ್ಯಪ್ನ ಚಟುವಟಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ಬಳಸದಿದ್ದರೆ ಆ್ಯಪ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ತಾತ್ಕಾಲಿಕ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಿ ಹಾಗೂ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಲ್ಲಿಸಿ"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ತಾತ್ಕಾಲಿಕ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಿ, ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ನಿಲ್ಲಿಸಿ ಮತ್ತು ಆ್ಯಪ್ ಅನ್ನು ಆರ್ಕೈವ್ ಮಾಡಿ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ಆ್ಯಪ್ ಅನ್ನು ಕೆಲವು ತಿಂಗಳುಗಳ ಕಾಲ ಬಳಸದಿದ್ದರೆ, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು ಈ ಆ್ಯಪ್ನ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ಆ್ಯಪ್ ಅನ್ನು ಕೆಲವು ತಿಂಗಳುಗಳ ಕಾಲ ಬಳಸದಿದ್ದರೆ, ನಿಮ್ಮ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು, ಈ ಕೆಳಗಿನ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದು: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ನಿಮ್ಮ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು, ಕೆಲವು ತಿಂಗಳುಗಳಿಂದ ನೀವು ಬಳಸದಿರುವ ಆ್ಯಪ್ಗಳಿಂದ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅನುಮತಿಸಲಾಗಿದೆ"</string> <string name="ask_header" msgid="2633816846459944376">"ಪ್ರತಿ ಬಾರಿ ಕೇಳಿ"</string> <string name="denied_header" msgid="903209608358177654">"ಅನುಮತಿಸಿಲ್ಲದಿರುವುದು"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ನಲ್ಲಿನ <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದಾದ ಇನ್ನಷ್ಟು ಆ್ಯಪ್ಗಳನ್ನು ನೋಡಿ"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ದಿನ}one{# ದಿನಗಳು}other{# ದಿನಗಳು}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ಗಂಟೆ}one{# ಗಂಟೆಗಳು}other{# ಗಂಟೆಗಳು}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"ಟಿಪ್ಪಣಿಗಳು ಆ್ಯಪ್"</string> <string name="role_notes_description" msgid="8496852798616883551">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಟಿಪ್ಪಣಿಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಆ್ಯಪ್ಗಳು"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ಟಿಪ್ಪಣಿಗಳು"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ಡೀಫಾಲ್ಟ್ ವಾಲೆಟ್ ಆ್ಯಪ್"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet ಆ್ಯಪ್"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"ವಾಲೆಟ್ ಆ್ಯಪ್ಗಳು ನಿಮ್ಮ ಕ್ರೆಡಿಟ್ ಮತ್ತು ಲಾಯಲ್ಟಿ ಕಾರ್ಡ್ಗಳು, ಕಾರ್ ಕೀಗಳು ಮತ್ತು ವಿವಿಧ ವಹಿವಾಟುಗಳಿಗೆ ಸಹಾಯ ಮಾಡುವ ಇತರ ವಿಷಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಆ್ಯಪ್ ಅನ್ನು ನಿಮ್ಮ ಡೀಫಾಲ್ಟ್ ವಾಲೆಟ್ ಆ್ಯಪ್ ಆಗಿ ಸೆಟ್ ಮಾಡಬೇಕೆ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ಯಾವುದೇ ಅನುಮತಿಗಳ ಅಗತ್ಯವಿಲ್ಲ"</string> <string name="request_role_current_default" msgid="738722892438247184">"ಪ್ರಸ್ತುತ ಡೀಫಾಲ್ಟ್"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ಮತ್ತೆ ಕೇಳಬೇಡ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸೆಟ್ ಮಾಡಿ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"ಇನ್ನಷ್ಟು ಡೀಫಾಲ್ಟ್ಗಳು"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ಲಿಂಕ್ಗಳನ್ನು ತೆರೆಯುವುದು"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ಕೆಲಸದ ಕುರಿತಾದ ಡೀಫಾಲ್ಟ್ ಆ್ಯಪ್"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ನ ಡೀಫಾಲ್ಟ್"</string> <string name="default_app_none" msgid="9084592086808194457">"ಯಾವುದೂ ಬೇಡ"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ಸಿಸ್ಟಂ ಡಿಫಾಲ್ಟ್)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ಯಾವುದೇ ಆ್ಯಪ್ಗಳು ಇಲ್ಲ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"ಅಸಿಸ್ಟೆಂಟ್ ಮೈಕ್ರೋಫೋನ್ ಸಕ್ರಿಯವಾಗಿದೆ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ತೋರಿಸಿ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ಧ್ವನಿ ಅಸಿಸ್ಟೆಂಟ್ ಸಕ್ರಿಯಗೊಳಿಸಲು ಮೈಕ್ರೊಫೋನ್ ಬಳಸಿದಾಗ ಸ್ಥಿತಿ ಬಾರ್ನಲ್ಲಿ ಐಕಾನ್ ಅನ್ನು ತೋರಿಸಿ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿರುವ ಫೋಟೋಗಳು ಮತ್ತು ಮೀಡಿಯಾ ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ಮೀಡಿಯಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ಮೀಡಿಯಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ಈ ಸಾಧನದ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"ನಿಮ್ಮ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನ ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ಸಾಧನದ ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಬಳಸುವಾಗ, ಆ್ಯಪ್ ಮಾತ್ರ ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತದೆ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ಈ ಸಾಧನದ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"ನಿಮ್ಮ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ನ ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ಸಾಧನದ ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ನೀವು ಈ ಆ್ಯಪ್ ಅನ್ನು ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಯಾವಾಗಲೂ ನಿಮ್ಮ ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಲು ಆ್ಯಪ್ ಬಯಸಬಹುದು. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗಾಗಿ ಸ್ಥಳ ಪ್ರವೇಶವನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ನೀವು ಈ ಆ್ಯಪ್ ಅನ್ನು ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಯಾವಾಗಲೂ ನಿಮ್ಮ ಸ್ಥಳಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಲು ಆ್ಯಪ್ ಬಯಸುತ್ತದೆ. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"ಸಮೀಪದ ಸಾಧನಗಳನ್ನು ಹುಡುಕಲು, ಅವುಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಸ್ಥಾನವನ್ನು ನಿರ್ಧರಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಸಮೀಪದ ಸಾಧನ ಹುಡುಕಲು, ಕನೆಕ್ಟ್ ಆಗಲು, ಸಂಬಂಧಿತ ಸ್ಥಾನ ನಿರ್ಧರಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಸಮೀಪದ ಸಾಧನ ಹುಡುಕಲು, ಕನೆಕ್ಟ್ ಆಗಲು, ಸಂಬಂಧಿತ ಸ್ಥಾನ ನಿರ್ಧರಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"ಸಮೀಪದ ಸಾಧನಗಳನ್ನು ಹುಡುಕಲು, ಅವುಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಸ್ಥಾನವನ್ನು ನಿರ್ಧರಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ? "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ನ ಸ್ಥಳ ಪ್ರವೇಶವನ್ನು ಅಂದಾಜಿನಿಂದ ನಿಖರತೆಗೆ ಬದಲಾಯಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ನ ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು \'ಅಂದಾಜು\' ಎಂಬುದರಿಂದ \'ನಿಖರ\' ಎಂಬುದಕ್ಕೆ ಬದಲಾಯಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ನ ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು \'ಅಂದಾಜು\' ಎಂಬುದರಿಂದ \'ನಿಖರ\' ಎಂಬುದಕ್ಕೆ ಬದಲಾಯಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ಈ ಸಾಧನದ ಅಂದಾಜು ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನ ಅಂದಾಜು ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ಸಾಧನದ ಅಂದಾಜು ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ನಿಖರ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ಅಂದಾಜು"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ವೀಕ್ಷಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ಅವುಗಳನ್ನು ನೋಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಮತ್ತು ವೀಕ್ಷಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"ಸಾಧನದಲ್ಲಿ ಫೋಟೋಗಳು, ಮಾಧ್ಯಮ, ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು, ಮೀಡಿಯಾ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು, ಮೀಡಿಯಾ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ಈ ಸಾಧನದಲ್ಲಿರುವ <b>ಫೋಟೋಗಳು, ವೀಡಿಯೊಗಳು, ಸಂಗೀತ, ಆಡಿಯೊವನ್ನು</b> ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"ಈ ಸಾಧನದಲ್ಲಿರುವ <b>ಫೋಟೋಗಳು, ವೀಡಿಯೊಗಳು, ಸಂಗೀತ, ಆಡಿಯೋ, ಇತರ ಫೈಲ್ಗಳನ್ನು</b> ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ಈ ಸಾಧನದಲ್ಲಿರುವ ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೊವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೊವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೊವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ಈ ಸಾಧನದಲ್ಲಿರುವ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ಈ ಸಾಧನದಲ್ಲಿರುವ ಇನ್ನಷ್ಟು ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಇನ್ನಷ್ಟು ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಇನ್ನಷ್ಟು ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಆಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ನೀವು ಆ್ಯಪ್ ಬಳಸುತ್ತಿರುವಾಗ ಮಾತ್ರ ಆ್ಯಪ್ಗೆ ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಆಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ನೀವು ಈ ಆ್ಯಪ್ ಅನ್ನು ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಈ ಆ್ಯಪ್ ಯಾವಾಗಲೂ ಆಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಬಯಸಬಹುದು. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗಾಗಿ ಮೈಕ್ರೋಫೋನ್ ಪ್ರವೇಶವನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಮೈಕ್ರೊಫೋನ್ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಮೈಕ್ರೊಫೋನ್ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ನೀವು ಈ ಆ್ಯಪ್ ಅನ್ನು ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಈ ಆ್ಯಪ್ ಯಾವಾಗಲೂ ಆಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಬಯಸುತ್ತದೆ. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"ನಿಮ್ಮ ದೈಹಿಕ ಚಟುವಟಿಕೆಯನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ಕ್ಕೆ ಅನುಮತಿಸುವುದೇ?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ದಲ್ಲಿನ ದೈಹಿಕ ಚಟುವಟಿಕೆಯನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ದೈಹಿಕ ಚಟುವಟಿಕೆಯನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"ಚಿತ್ರಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವಾಗ ಮಾತ್ರ ಆ್ಯಪ್ಗೆ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ಚಿತ್ರಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ವೀಡಿಯೊ ರೆಕಾರ್ಡ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ನೀವು ಈ ಆ್ಯಪ್ ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಈ ಆ್ಯಪ್ ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ವೀಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಬಯಸಬಹುದು. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಆ್ಯಪ್ಗಾಗಿ ಕ್ಯಾಮರಾ ಪ್ರವೇಶವನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಕ್ಯಾಮರಾ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ನ ಕ್ಯಾಮರಾ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕೆ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ನೀವು ಈ ಆ್ಯಪ್ ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಈ ಆ್ಯಪ್ ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ಚಿತ್ರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ವೀಡಿಯೊವನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು ಬಯಸುತ್ತದೆ. "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"ನಿಮ್ಮ ಫೋನ್ ಕರೆಯ ಲಾಗ್ಗಳಿಗೆ ಆ್ಯಕ್ಸೆಸ್ ಪಡೆಯಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಫೋನ್ ಕರೆಯ ಲಾಗ್ಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಫೋನ್ ಕರೆಯ ಲಾಗ್ಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಹಾಗೂ ನಿರ್ವಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತು ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತ ಸೆನ್ಸಾರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಆರೋಗ್ಯ ಮಾಪನಗಳ ಕುರಿತ ಸೆನ್ಸಾರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ನೀವು ಆ್ಯಪ್ ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ನಿಮ್ಮ ಆರೋಗ್ಯ ಮಾಪನಗಳ ಕುರಿತು ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಈ ಆ್ಯಪ್ ಬಯಸುತ್ತದೆ. ಈ ಬದಲಾವಣೆಯನ್ನು ಮಾಡಲು, "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಹೋಗಿ."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"ನಿಮ್ಮ ಜೀವನಾಧಾರವಾಗಿರುವ ಲಕ್ಷಣಗಳ ಕುರಿತ ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತ ಸೆನ್ಸಾರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮ್ಮ ಆರೋಗ್ಯ ಮಾಪನಗಳ ಕುರಿತ ಸೆನ್ಸಾರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಬಳಸದಿರುವಾಗಲೂ ಸಹ, ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ದೇಹದ ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಈ ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸಲು, "<annotation id="link">"ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಹೋಗಿ."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ಆ್ಯಪ್ ಬಳಕೆಯಲ್ಲಿರುವಾಗ ದೇಹದ ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸುತ್ತಿರಬೇಕೇ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ಆ್ಯಪ್ ಬಳಸುವಾಗ ದೇಹದ ಸೆನ್ಸಾರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸುತ್ತಿರಬೇಕೇ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ಆ್ಯಪ್ ಬಳಸುವಾಗ ದೇಹದ ಸೆನ್ಸರ್ ಡೇಟಾ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸುತ್ತಿರಬೇಕೇ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"ನಿಮಗೆ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳುಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"ನಿಮ್ಮ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮಗೆ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳುಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ನಲ್ಲಿ ನಿಮಗೆ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳುಹಿಸಲು <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ಗೆ ಅನುಮತಿಸಬೇಕೆ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ನಿಯಂತ್ರಿತ ಅನುಮತಿಗಳು"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿದೆ"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ನಿಮ್ಮ ಸಂಸ್ಥೆಯು ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <xliff:g id="APP_NAME">%1$s</xliff:g> ಗೆ ಅನುಮತಿಸುತ್ತದೆ"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ಯಾವುದೂ ಅಲ್ಲ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ಕಳೆದ\n24 ಗಂಟೆಗಳು"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ಕಳೆದ\n7 ದಿನಗಳಲ್ಲಿ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ಶೇಕಡಾ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android ನಿಂದ ರಕ್ಷಣೆ ಪಡೆದಿದೆ. ಈ ಸಾಧನದಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿರುವುದರಿಂದ, ಈ ಆ್ಯಪ್ನ ಅನುಮತಿಯ ಬಳಕೆಯನ್ನು ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಅಥವಾ ನಿಮ್ಮ ಗೌಪ್ಯತಾ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ ತೋರಿಸಲಾಗುವುದಿಲ್ಲ."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android ನಿಂದ ರಕ್ಷಣೆ ಪಡೆದಿದೆ. ಈ ಸಾಧನದಲ್ಲಿ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿರುವುದರಿಂದ, ಈ ಆ್ಯಪ್ನ ಅನುಮತಿಯ ಬಳಕೆಯನ್ನು ನಿಮ್ಮ ಗೌಪ್ಯತಾ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ ತೋರಿಸಲಾಗುವುದಿಲ್ಲ."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ಸಾಧನದ ಕ್ಯಾಮರಾವನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ಆ್ಯಪ್ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗಾಗಿ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ನೀವು ತುರ್ತು ಸಂಖ್ಯೆಗೆ ಕರೆ ಮಾಡಿದಾಗ ಈಗಲೂ ನಿಮ್ಮ ಮೈಕ್ರೋಫೋನ್ ಡೇಟಾವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದಾದ ಸಾಧ್ಯತೆಯಿದೆ."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ಬದಲಾಯಿಸಿ"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ಕ್ಯಾಮರಾ ಆ್ಯಕ್ಸೆಸ್ ಆಫ್ ಆಗಿದೆ"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ಇನ್ಫೋಟೈನ್ಮೆಂಟ್ ಆ್ಯಪ್ಗಳಿಗಾಗಿ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ಅಗತ್ಯವಿರುವ ಆ್ಯಪ್ಗಳಿಗಾಗಿ"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ಈ ಆ್ಯಪ್ ಅಗತ್ಯವಿದೆ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ನಿಮ್ಮ ಕಾರ್ನ ತಯಾರಕರಿಗೆ ಈ ಆ್ಯಪ್ ಅಗತ್ಯವಿದೆ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ಭದ್ರತೆ ಮತ್ತು ಗೌಪ್ಯತೆ"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ಸಾಧನವನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ವಜಾಗೊಳಿಸಿ"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ಡೇಟಾ ಹಂಚಿಕೆ ಅಪ್ಡೇಟ್ಗಳು"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"ಕೆಲವು ಆ್ಯಪ್ಗಳು, ನಿಮ್ಮ ಸ್ಥಳ ಡೇಟಾವನ್ನು ಅವು ಹಂಚಿಕೊಳ್ಳಬಹುದಾದ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸಿವೆ"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> ಸಮಯಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲಾಗಿದೆ"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ನಿನ್ನೆ <xliff:g id="TIME_DATE">%1$s</xliff:g> ಸಮಯಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲಾಗಿದೆ"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> ಸಮಯಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲಾಗಿದೆ"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ನಿಮ್ಮ ಒನ್-ಟೈಮ್ ಪಾಸ್ವರ್ಡ್ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ನಿರ್ಬಂಧಿಸಲಾದ ಸೆಟ್ಟಿಂಗ್"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ನಿಮ್ಮ ಸುರಕ್ಷತೆಗಾಗಿ, ಈ ಸೆಟ್ಟಿಂಗ್ ಪ್ರಸ್ತುತ ಲಭ್ಯವಿಲ್ಲ."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ಗೆ ನಿರಾಕರಿಸಲಾಗಿದೆ"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮತ್ತು ಹಣಕಾಸಿನ ಮಾಹಿತಿಯನ್ನು ಅಪಾಯಕ್ಕೆ ಸಿಲುಕಿಸಬಹುದಾದ ಸೂಕ್ಷ್ಮ ಅನುಮತಿಗೆ ಆ್ಯಪ್ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ವಿನಂತಿಸಿದೆ.<xliff:g id="ID_1"><br><br></xliff:g>.ಈ ನಿರ್ಬಂಧಿತ ಅನುಮತಿಯಿಲ್ಲದೆ ಆ್ಯಪ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರುವ ಸಾಧ್ಯತೆಯಿದೆ. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೇಗೆ ಅನುಮತಿಸುವುದು ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ಡೀಫಾಲ್ಟ್ <xliff:g id="ROLE_NAME">%1$s</xliff:g> ಆಗಿರಲು ಆ್ಯಪ್ಗೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮತ್ತು ಹಣಕಾಸಿನ ಮಾಹಿತಿಯನ್ನು ಅಪಾಯಕ್ಕೆ ಸಿಲುಕಿಸಬಹುದಾದ ಸೂಕ್ಷ್ಮ ಅನುಮತಿಗಳಿಗೆ ಆ್ಯಪ್ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ವಿನಂತಿಸಿದೆ.<xliff:g id="ID_1"><br><br></xliff:g>ಈ ನಿರ್ಬಂಧಿತ ಅನುಮತಿಗಳಿಲ್ಲದೆ ಆ್ಯಪ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರುವ ಸಾಧ್ಯತೆಯಿದೆ. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೇಗೆ ಅನುಮತಿಸುವುದು ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ಆ್ಯಪ್ಗೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ಈ ಅನುಮತಿಗೆ ಆ್ಯಕ್ಸೆಸ್ ನೀಡುವುದರಿಂದ ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮತ್ತು ಹಣಕಾಸು ಮಾಹಿತಿಯು ಅಪಾಯಕ್ಕೆ ಸಿಲುಕಬಹುದು.<xliff:g id="ID_1"><br><br></xliff:g>ಈ ನಿರ್ಬಂಧಿತ ಅನುಮತಿಯಿಲ್ಲದೆ ಆ್ಯಪ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರುವ ಸಾಧ್ಯತೆಯಿದೆ. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೇಗೆ ಅನುಮತಿಸುವುದು ಎಂಬುದನ್ನು ತಿಳಿಯಿರಿ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ಸರಿ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ಅನುಮತಿ ವಿನಂತಿಯನ್ನು ನಿಗ್ರಹಿಸಲಾಗಿದೆ"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ಈ ಆ್ಯಪ್ ಹೆಚ್ಚುವರಿ ಅನುಮತಿಗಳನ್ನು ವಿನಂತಿಸುತ್ತಿದೆ, ಆದರೆ ಸ್ಟ್ರೀಮಿಂಗ್ ಸೆಶನ್ನಲ್ಲಿ ಅನುಮತಿಗಳನ್ನು ನೀಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮೊದಲು ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿ ಅನುಮತಿ ನೀಡಿ."</string> </resources> diff --git a/PermissionController/res/values-ko-v34/strings.xml b/PermissionController/res/values-ko-v34/strings.xml index 7b3091170..6e3b42dbb 100644 --- a/PermissionController/res/values-ko-v34/strings.xml +++ b/PermissionController/res/values-ko-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"건강 데이터에 대한 앱 액세스 제어"</string> <string name="location_settings" msgid="8863940440881290182">"위치 정보 액세스"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"앱 및 서비스에 적용됩니다. 설정이 꺼져 있어도 긴급 전화번호로 전화를 걸 때 마이크 데이터가 계속 공유될 수 있습니다."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"앱 및 서비스에 적용"</string> </resources> diff --git a/PermissionController/res/values-ko-watch/strings.xml b/PermissionController/res/values-ko-watch/strings.xml index fbe07c16c..89299a26f 100644 --- a/PermissionController/res/values-ko-watch/strings.xml +++ b/PermissionController/res/values-ko-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"변경할 수 없음"</string> <string name="generic_yes" msgid="2489207724988649846">"예"</string> <string name="generic_cancel" msgid="2631708607129269698">"취소"</string> + <string name="permission_access_always" msgid="2107115233573823032">"항상"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"앱을 사용 중일 때"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"항상"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"앱을 사용 중일 때"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"항상"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"앱을 사용 중일 때"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"항상"</string> </resources> diff --git a/PermissionController/res/values-ko/strings.xml b/PermissionController/res/values-ko/strings.xml index cc06d56d7..e08245cef 100644 --- a/PermissionController/res/values-ko/strings.xml +++ b/PermissionController/res/values-ko/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"모든 권한"</string> <string name="other_permissions" msgid="2901186127193849594">"다른 앱 기능"</string> <string name="permission_request_title" msgid="8790310151025020126">"권한 요청"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear에서는 설치/제거 작업이 지원되지 않습니다"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 액세스하도록 허용할 항목 선택"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>이(가) 업데이트되었습니다. 이 앱에서 액세스하도록 허용할 항목을 선택하세요."</string> <string name="review_button_cancel" msgid="2191147944056548886">"취소"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"항상 모두 허용"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"항상 확인"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"허용 안함"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"정확한 위치"</string> <string name="approximate_image_description" msgid="938803699637069884">"대략적인 위치"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"정확한 위치 사용"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"정확한 위치가 사용 중지된 경우 앱이 대략적인 위치 정보에 액세스할 수 있습니다."</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> 액세스 권한"</string> <string name="app_permission_header" msgid="2951363137032603806">"이 앱의 <xliff:g id="PERM">%1$s</xliff:g> 액세스 권한"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"이 앱의 <xliff:g id="DEVICE_NAME">%2$s</xliff:g> <xliff:g id="PERM">%1$s</xliff:g> 액세스 권한"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> 권한 모두 보기"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"이 권한이 있는 앱 모두 보기"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"어시스턴트 마이크 사용 표시"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"앱이 사용되지 않는 경우 권한 삭제"</string> <string name="unused_apps_label" msgid="2595428768404901064">"권한을 삭제하고 여유 공간 확보"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"사용하지 않을 때 앱 활동 일시중지"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"사용하지 않는 앱 관리"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"권한 제거, 임시 파일 삭제, 알림 중지"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"권한 제거, 임시 파일 삭제, 알림 중지, 앱 보관처리"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"데이터 보호를 위해 몇 개월 동안 앱을 사용하지 않으면 앱의 권한이 삭제됩니다."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"데이터 보호를 위해 몇 개월 동안 앱을 사용하지 않으면 다음 권한이 삭제됩니다. <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"데이터 보호를 위해 몇 개월 동안 사용하지 않은 앱에서 권한이 삭제되었습니다."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"모든 파일을 관리하도록 허용됨"</string> <string name="ask_header" msgid="2633816846459944376">"항상 확인"</string> <string name="denied_header" msgid="903209608358177654">"허용되지 않음"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>의 <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"모든 파일에 액세스할 수 있는 앱 더보기"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1일}other{#일}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{#시간}other{#시간}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"이 앱이 내 화면, 작업, 입력 내용을 보고 작업을 실행하며 디스플레이를 제어할 수 있습니다."</string> <string name="role_assistant_label" msgid="4727586018198208128">"기본 디지털 어시스턴트 앱"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"디지털 어시스턴트 앱"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"지원 앱은 화면에 표시된 정보에 맞게 도움을 줄 수 있습니다. 일부 앱은 통합된 지원을 제공하기 위해 런처와 음성 입력 서비스를 모두 지원합니다."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"지원 앱은 화면에 표시된 정보를 기반으로 도움을 줄 수 있습니다. 일부 앱은 통합된 지원을 제공하기 위해 런처와 음성 입력 서비스를 모두 지원합니다."</string> <string name="role_browser_label" msgid="2877796144554070207">"기본 브라우저 앱"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"브라우저 앱"</string> <string name="role_browser_description" msgid="3465253637499842671">"인터넷에 액세스하고 탭하는 링크를 표시하는 앱"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"메모 앱"</string> <string name="role_notes_description" msgid="8496852798616883551">"이 기기에서 메모할 수 있게 해주는 앱"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"메모"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"기본 월렛 앱"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"월렛 앱"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"다양한 형태의 거래에 사용할 수 있도록 월렛 앱에 신용카드 및 포인트 카드, 자동차 키 등을 저장할 수 있습니다."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱을 기본 월렛 앱으로 설정하시겠습니까?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"권한 필요 없음"</string> <string name="request_role_current_default" msgid="738722892438247184">"현재 기본 앱"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"다시 묻지 않음"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"기본 앱으로 설정"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"기본 앱 더보기"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"링크 열기"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"직장용 기본 앱"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"비공개 스페이스의 기본값"</string> <string name="default_app_none" msgid="9084592086808194457">"없음"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(시스템 기본값)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"앱 없음"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"지원 앱 트리거 감지 표시"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"음성 어시스턴트 활성화를 위해 마이크가 사용되면 상태 표시줄에 아이콘 표시"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 사진 및 미디어에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 사진과 미디어에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 사진과 미디어에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 내 연락처에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 연락처에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 연락처에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 이 기기의 위치 정보에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>의 위치에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>의</b> 위치에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"앱을 사용할 때만 앱에서 위치에 액세스합니다."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 내 기기의 위치 정보에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>의 위치에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>의</b> 위치에 액세스하도록 허용하시겠습니까?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"앱을 사용하고 있지 않을 때도 앱에서 내 위치에 항상 액세스하려고 할 수 있습니다. "<annotation id="link">"설정에서 액세스를 허용"</annotation>"하세요."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>의 위치 액세스 권한을 변경하시겠습니까?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 위치 액세스 권한을 변경하시겠습니까?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 위치 액세스 권한을 변경하시겠습니까?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"앱을 사용하고 있지 않을 때도 앱에서 내 위치에 항상 액세스하려고 합니다. "<annotation id="link">"설정에서 액세스를 허용"</annotation>"하세요."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 근처에 있는 기기를 찾아 연결하고 기기 간 상대적 위치를 파악하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 근처 기기의 상대 위치를 찾고, 연결하고, 확인하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 근처 기기의 상대 위치를 찾고, 연결하고, 확인하도록 허용하시겠습니까?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 근처 기기를 찾아 연결하고 기기 간 상대적 위치를 파악하도록 허용하시겠습니까? "<annotation id="link">"설정에서 허용하세요."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>의 위치 정보 액세스 권한을 대략적인 위치에서 정확한 위치로 변경하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> 앱의 위치 액세스를 대략적인 위치에서 정확한 위치로 변경하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> 기기에서 <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>의 위치 액세스를 대략적인 위치에서 정확한 위치로 변경하시겠습니까?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 대략적인 위치에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>의 대략적인 위치에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 대략적인 위치에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"정확한 위치"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"대략적인 위치"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 내 캘린더에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 캘린더에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 캘린더에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 SMS 메시지를 전송하고 보도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 SMS 메시지를 전송하고 확인하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 SMS 메시지를 보내고 확인하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 사진, 미디어, 파일에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 사진, 미디어, 파일에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 사진, 미디어, 파일에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 <b>사진, 동영상, 음악, 오디오</b>에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 <b>사진, 동영상, 음악, 오디오, 기타 파일</b>에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 음악과 오디오에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 음악과 오디오에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 음악과 오디오에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기의 사진과 동영상에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 사진 및 동영상에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 사진과 동영상에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 기기에 있는 더 많은 사진과 동영상에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 더 많은 사진 및 동영상에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 더 많은 사진과 동영상에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"앱을 사용하고 있는 동안에만 앱에서 오디오를 녹음할 수 있습니다."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 오디오를 녹음하도록 허용하시겠습니까?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"앱을 사용하고 있지 않을 때도 앱에서 항상 오디오를 녹음하고자 할 수 있습니다. "<annotation id="link">"설정에서 액세스를 허용하세요"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>의 마이크 액세스 권한을 변경하시겠습니까?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 마이크 액세스 권한을 변경하시겠습니까?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 마이크 액세스 권한을 변경하시겠습니까?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"앱을 사용하고 있지 않을 때도 앱에서 항상 오디오를 녹음하려고 합니다. "<annotation id="link">"설정에서 액세스를 허용하세요"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 내 신체 활동 정보에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 신체 활동에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 신체 활동에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 사진을 촬영하고 동영상을 녹화하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 사진을 찍고 동영상을 녹화하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 사진을 촬영하고 동영상을 녹화하도록 허용하시겠습니까?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"앱을 사용하고 있는 동안에만 앱에서 사진을 촬영하고 동영상을 녹화할 수 있습니다."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 사진을 촬영하고 동영상을 녹화하도록 허용하시겠습니까?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 사진을 찍고 동영상을 녹화하도록 허용하시겠습니까?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 사진을 촬영하고 동영상을 녹화하도록 허용하시겠습니까?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"앱을 사용하고 있지 않을 때도 앱에서 항상 사진을 촬영하고 동영상을 녹화하고자 할 수 있습니다. "<annotation id="link">"설정에서 액세스를 허용하세요"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>의 카메라 액세스 권한을 변경하시겠습니까?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 카메라 액세스 권한을 변경하시겠습니까?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱의 카메라 액세스 권한을 변경하시겠습니까?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"앱을 사용하고 있지 않을 때도 앱에서 항상 사진을 촬영하고 동영상을 녹화하려고 합니다. "<annotation id="link">"설정에서 액세스를 허용하세요"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 통화 기록에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 통화 기록에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 휴대전화 통화 기록에 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 전화를 걸고 관리하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 전화를 걸고 관리하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 전화를 걸고 전화 통화를 관리하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"앱이 사용되고 있지 않을 때도 항상 생체 신호 센서 데이터에 액세스하고자 합니다. 권한을 변경하려면 "<annotation id="link">"설정으로 이동"</annotation>"하세요."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"앱을 사용하지 않을 때도 앱이 항상 생체 신호 센서 데이터에 액세스하도록 허용하려면 "<annotation id="link">"설정으로 이동"</annotation>"하세요"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱을 사용하는 중에만 생체 신호 센서 데이터에 액세스하도록 허용하는 설정을 유지하시겠습니까?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 사용 중일 때 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>의 생체 신호 센서에 액세스하도록 계속 허용하시겠습니까?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"앱을 사용하는 동안 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 생체 신호 센서 데이터에 계속 액세스하도록 허용하시겠습니까?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>에서 알림을 보내도록 허용하시겠습니까?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE">%2$s</xliff:g></b>에서 알림을 보내도록 허용하시겠습니까?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 앱이 <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>에서 알림을 보내도록 허용하시겠습니까?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"관리 대상 권한"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱이 위치 액세스 권한을 보유함"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"조직에서 <xliff:g id="APP_NAME">%1$s</xliff:g> 앱이 내 위치에 액세스하도록 허용했습니다."</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"없음"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"지난\n24시간"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"지난\n7일"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g>퍼센트"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱은 Android에 의해 보호됩니다. 데이터가 이 기기에서 처리되므로 앱 권한 사용 내역이 상태 표시줄이나 개인 정보 대시보드에 표시되지 않습니다."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱은 Android에 의해 보호됩니다. 데이터가 이 기기에서 처리되므로 앱 권한 사용 내역이 개인 정보 대시보드에 표시되지 않습니다."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"기기 카메라 차단됨"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"앱 및 서비스의 경우"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"긴급 전화번호로 전화를 걸 때도 마이크 데이터가 공유될 수 있습니다."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"변경"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"카메라 액세스 권한이 사용 중지됨"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"인포테인먼트 앱"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"필수 앱"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"필수 앱"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"자동차 제조업체에서 요구한 필수 앱"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"보안 및 개인 정보 보호"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"기기 스캔"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"닫기"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"데이터 공유 업데이트"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"일부 앱에서 위치 데이터 공유 방법이 변경되었습니다."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"설정"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>에 액세스함"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"어제 <xliff:g id="TIME_DATE">%1$s</xliff:g>에 액세스함"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>에 액세스함"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"일회용 비밀번호는 132435입니다"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"제한된 설정"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"보안을 위해 이 설정은 현재 사용할 수 없습니다."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>에 대한 앱의 액세스가 거부됨"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"앱에서 개인 정보 및 금융 정보가 위험에 노출될 수 있는 민감한 권한에 대한 액세스를 요청했습니다.<xliff:g id="ID_1"><br><br></xliff:g>이 제한된 권한 없이는 앱이 제대로 작동하지 않을 수 있습니다. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>액세스 허용 방법 알아보기</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"앱을 기본 <xliff:g id="ROLE_NAME">%1$s</xliff:g>으로 사용하기 위한 앱의 액세스가 거부됨"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"앱에서 개인 정보 및 금융 정보가 위험에 노출될 수 있는 민감한 권한에 대한 액세스를 요청했습니다.<xliff:g id="ID_1"><br><br></xliff:g>이 제한된 권한 없이는 앱이 제대로 작동하지 않을 수 있습니다. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>액세스 허용 방법 알아보기</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"앱의 액세스가 거부됨"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"이 권한에 액세스하면 개인 정보 및 금융 정보가 위험에 노출될 수 있습니다.<xliff:g id="ID_1"><br><br></xliff:g>이 제한된 권한 없이는 앱이 제대로 작동하지 않을 수 있습니다. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>액세스 허용 방법 알아보기</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"자세히 알아보기"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"확인"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"권한 요청 거부됨"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"앱에서 추가 권한을 요청합니다. 그러나 스트리밍 세션에서는 권한을 부여할 수 없습니다. 휴대전화에서 먼저 권한을 부여하세요."</string> </resources> diff --git a/PermissionController/res/values-ky-v34/strings.xml b/PermissionController/res/values-ky-v34/strings.xml index 15fc8424e..0753f01af 100644 --- a/PermissionController/res/values-ky-v34/strings.xml +++ b/PermissionController/res/values-ky-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Колдонмо үчүн ден соолукка байланыштуу нерселердин жеткиликтүүлүгүн тескейсиз"</string> <string name="location_settings" msgid="8863940440881290182">"Жайгашкан жерди көрсөтүү"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Колдонмолор жана кызматтар үчүн. Бул параметр өчүп турса да, кырсыктаганда жардамга келчү кызматтын номерине чалганыңызда микрофондогу нерселер өткөрүлүшү мүмкүн."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Колдонмолор жана кызматтар үчүн"</string> </resources> diff --git a/PermissionController/res/values-ky-watch/strings.xml b/PermissionController/res/values-ky-watch/strings.xml index d6ca47fc1..84b891bee 100644 --- a/PermissionController/res/values-ky-watch/strings.xml +++ b/PermissionController/res/values-ky-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Өзгөртүүгө болбойт"</string> <string name="generic_yes" msgid="2489207724988649846">"Ооба"</string> <string name="generic_cancel" msgid="2631708607129269698">"Жок"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Ар дайым"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Колдонмону пайдаланууда"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Ар дайым"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Колдонмону пайдаланууда"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Ар дайым"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Колдонмону пайдаланууда"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Ар дайым"</string> </resources> diff --git a/PermissionController/res/values-ky/strings.xml b/PermissionController/res/values-ky/strings.xml index 1f1ee13a1..51384d249 100644 --- a/PermissionController/res/values-ky/strings.xml +++ b/PermissionController/res/values-ky/strings.xml @@ -48,7 +48,7 @@ <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"Тыюу салам жана экинчи суралбасын"</string> <string name="permission_revoked_count" msgid="4785082705441547086">"<xliff:g id="COUNT">%1$d</xliff:g> өчүрүлгөн"</string> <string name="permission_revoked_all" msgid="3397649017727222283">"баары өчүрүлгөн"</string> - <string name="permission_revoked_none" msgid="9213345075484381180">"эч бири өчүрүлгөн жок"</string> + <string name="permission_revoked_none" msgid="9213345075484381180">"эч бири өчкөн жок"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Уруксат берүү"</string> <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Бардык учурда уруксат берилет"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Колдонмо ачылып турганда"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Бардык уруксаттар"</string> <string name="other_permissions" msgid="2901186127193849594">"Колдонмонун башка мүмкүнчүлүктөрү"</string> <string name="permission_request_title" msgid="8790310151025020126">"Уруксат суроо"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Орнотуу/чыгарып салуу аракеттери Android Wear\'де колдоого алынбайт."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу үчүн уруксаттарды тандаңыз"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> жаңырды. Ал үчүн уруксаттарды тандаңыз."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Жок"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Ар дайым баарына уруксат берүү"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Ар дайым суралсын"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Жок"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Так жайгашкан жери"</string> <string name="approximate_image_description" msgid="938803699637069884">"Болжолдуу жайгашкан жери"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Турган жерди так аныктоо"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Жайгашкан жерди тагыраак аныктоо мүмкүнчүлүгү өчүрүлгөн болсо, колдонмолор турган жериңизди болжолдоп аныктай алышат"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> уруксаттары"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: бул колдонмого уруксат берүү"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> түзмөгүндө бул колдонмо үчүн <xliff:g id="PERM">%1$s</xliff:g> уруксаты"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Бардык <xliff:g id="APP">%1$s</xliff:g> уруксаттарын көрүү"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ушундай уруксат берилген бардык колдонмолорду көрүү"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Кошумча микрофондун иштешин көрсөтүү"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Эгер колдонмо пайдаланылбаса, уруксаттар өчүрүлсүн"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Уруксаттарды өчүрүп, орун бошотуу"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Колдонулбаган колдонмолордун ишин тындыруу"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Колдонмо колдонулбаса, аны тескеңиз"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Уруксаттар өчүрүлүп, убактылуу файлдар тазаланып, билдирмелер келбей калат"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Уруксаттарды алып салып, убактылуу файлдарды жок кылып, билдирмелерди токтотуңуз жана колдонмону архивдеңиз"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Эгер колдонмо бир нече ай пайдаланылбаса, жеке маалыматтарыңызды коргоо үчүн бул колдонмого берилген уруксаттар өчүрүлөт."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Эгер колдонмо бир нече ай пайдаланылбаса, жеке дайын-даректериңизди коргоо максатында төмөнкү уруксаттар өчүрүлөт: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Жеке дайын-даректериңизди коргоо максатында, бир нече айдан бери ачылбаган колдонмолордогу уруксаттар өчүрүлдү."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Бардык файлдарды башкарууга уруксат берилген"</string> <string name="ask_header" msgid="2633816846459944376">"Ар дайым суралсын"</string> <string name="denied_header" msgid="903209608358177654">"Тыюу салынган"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>–<xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Дагы кайсы колдонмолорго бардык файлдар жеткиликтүү?"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 күн}other{# күн}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# саат}other{# саат}}"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"өзгөчө кырдаалда"</string> <string name="role_home_label" msgid="3871847846649769412">"Демейки башкы экран"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Home колдонмосу"</string> - <string name="role_home_description" msgid="7997371519626556675">"Android түзмөгүңүздө башкы экрандын ордуна колдонулган, функциялар менен колдонмолорду издеп таап, иштеткен колдонмолор"</string> + <string name="role_home_description" msgid="7997371519626556675">"Android түзмөгүңүздө башкы экрандын ордуна колдонулуп, функциялар менен колдонмолорду издеп таап, иштеткен колдонмолор"</string> <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосун демейки \"үй\" колдонмосу катары коёсузбу?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Уруксаттардын кереги жок"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"жүргүзгүч"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Кыска жазуулар колдонмосу"</string> <string name="role_notes_description" msgid="8496852798616883551">"Түзмөгүңүздө кыска жазууларды терүү мүмкүнчүлүгүн берген колдонмолор"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"кыска жазуулар"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Демейки капчык колдонмосу"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Капчык колдонмосу"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Капчык колдонмосунда насыя жана туруктуу кардардын карталары, унаанын ачкычтары сыяктуу санарип нерселер сакталат. Алардын жардамы менен ар кандай транзакцияларды аткара аласыз."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> демейки капчык колдонмоңуз катары тууралансынбы?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Уруксаттардын кереги жок"</string> <string name="request_role_current_default" msgid="738722892438247184">"Учурдагы демейки колдонмо"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Экинчи суралбасын"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Демейки катары коюу"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Кошумча демейки колдонмолор"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Шилтемелерди ачуу"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Жумуш үчүн демейки жөндөөлөр"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Жеке мейкиндик үчүн демейки колдонмолор"</string> <string name="default_app_none" msgid="9084592086808194457">"Жок"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Демейки тутум)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Бир да колдонмо жок"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Үн жардамчысынын иштегенин чагылдырган сүрөтчөнү көрсөтүү"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Үн жардамчысын иштетүү үчүн микрофон колдонулганда, абал тилкесинде сүрөтчө көрүнөт"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу үчүн түзмөгүңүздөгү сүрөттөр менен мультимедиа файлдарын иштетесизби?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздөгү сүрөттөр менен мультимедиага мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү сүрөттөр менен медиа файлдарын пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна байланыштарыңызды жеткиликтүү кыласызбы?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө байланыштарыңызды көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө байланыштарды пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна бул түзмөктүн жайгашкан жерин көрүүгө уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүңүздүн турган жерин көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн жайгашкан жерин пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Колдонмону колдонуп жаткан маалда гана, ал сиздин кайда жүргөнүңүздү билип турат."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна бул түзмөктүн жайгашкан жерин көрүүгө уруксат бересизби?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> түзмөгүңүздүн турган жерин көрүүгө уруксат бересизби?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн жайгашкан жерин пайдаланууга уруксат бересизби?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Бул колдонмо кайда жүргөнүңүздү ар дайым, колдонмону пайдаланбай турганда да, көрүүгө уруксат сурашы мүмкүн. "<annotation id="link">"Параметрлерден уруксат бериңиз."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу үчүн түзмөктүн жайгашкан жерин пайдалануу мүмкүнчүлүгү өзгөртүлсүнбү?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздүн турган жерин көрүү мүмкүнчүлүгүн өзгөртөсүзбү?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн турган жерин көрүү мүмкүнчүлүгүн өзгөртөсүзбү?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Бул колдонмо кайда жүргөнүңүздү ар дайым, колдонмону пайдаланбай турганда да, көрүүгө уруксат сурап жатат. "<annotation id="link">"Параметрлерден уруксат бериңиз."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> жакын жердеги түзмөктөрдү таап, аларга туташып жана абалын аныктай берсинби?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө жакын жердеги түзмөктөрдү таап, туташып, абалын аныктай алсынбы?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө жакын жердеги түзмөктөрдү таап, туташып, абалын аныктай берсинби?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> жакын жердеги түзмөктөрдү таап, аларга туташып жана абалын аныктай алсынбы? "<annotation id="link">"Параметрлерден уруксат берүү."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> колдонмосунда жайгашкан жер болжолдуу эмес, так аныкталсынбы?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздүн болжолдуу эмес, так жайгашкан жерин көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн болжолдуу эмес, так жайгашкан жерин көрүүгө уруксат бересизби?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна бул түзмөктүн болжолдуу жайгашкан жерин пайдаланууга уруксат берилсинби?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздүн болжолдуу турган жерин көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн болжолдуу турган жерин көрүүгө уруксат бересизби?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Так"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Болжолдуу"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна жылнаамаңызды пайдаланууга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө жылнаамаңызга кирүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө жылнааманы пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна SMS билдирүүлөрдү жөнөтүүгө жана окууга уруксат берилсинби?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө SMS билдирүүлөрдү көрүп жана жөнөтүүгө мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө SMS билдирүүлөрдү жөнөтүп, көрүүгө уруксат бересизби?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна түзмөгүңүздөгү сүрөттөрдү жана башка мультимедиа файлдарын пайдаланууга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздөгү сүрөттөр, мультимедиа жана файлдарга мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү сүрөттөр менен медиа файлдарды пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна ушул түзмөктөгү <b>сүрөттөрдү, видеолорду, ырларды жана аудио файлдарды</b> жеткиликтүү кыласызбы?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна ушул түзмөктөгү <b>сүрөттөрдү, видеолорду, ырларды, аудио файлдарды жана башка нерселерди</b> жеткиликтүү кыласызбы?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна ушул түзмөктөгү ырлар менен аудио файлдарды жеткиликтүү кыласызбы?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздөгү ырлар менен аудио файлдарга мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү ырлар менен аудио файлдарга кирүүгө уруксат бересизби?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна ушул түзмөктөгү сүрөттөр менен видеолорду жеткиликтүү кыласызбы?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздөгү сүрөттөр менен видеолорго мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү сүрөттөр менен видеолорго кирүүгө уруксат бересизби?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна ушул түзмөктөгү дагы башка сүрөттөр менен видеолорду жеткиликтүү кыласызбы?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө башка сүрөт жана видеолорду көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү сүрөттөр менен видеолорду пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна аудио файлдарды жаздырганга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө аудио жаздырууга уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө аудио жаздырууга уруксат бересизби?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Колдонмону колдонуп жатканда гана, ал аудио жаздыра алат"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна аудио файлдарды жаздырууга уруксат бересизби?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө аудио жаздырууга уруксат бересизби?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө аудио жаздырууга уруксат бересизби?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Бул колдонмону колдонбой турсаңыз деле, ал такай аудио жаздыра берет. "<annotation id="link">"Ага жөндөөлөрдөн уруксат бериңиз."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу үчүн микрофонду пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө микрофонду пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн микрофонун пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Бул колдонмону колдонбой турсаңыз деле, ал такай аудио жаздыра берет. "<annotation id="link">"Ага жөндөөлөрдөн уруксат бериңиз."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна кыймыл-аракеттериңизге көз салып турганга мүмкүнчүлүк бересизби?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө кыймыл-аракеттериңизди көрүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө кыймыл-аракеттериңизди көрүүгө уруксат бересизби?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна сүрөттөр менен видеолорду тартканга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө сүрөт менен видео тартууга уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> менен сүрөттөрдү тартууга жана видео жаздырууга уруксат бересизби?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Колдонмону колдонуп жатканда гана, ал сүрөт жана видео тарта алат"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна сүрөт менен видео тартууга уруксат бересизби?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө сүрөт менен видео тартууга уруксат бересизби?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> менен сүрөттөрдү тартууга жана видео жаздырууга уруксат бересизби?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Бул колдонмону колдонбой турсаңыз деле, ал такай сүрөт жана видео тарта берет. "<annotation id="link">"Ага жөндөөлөрдөн уруксат бериңиз."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу үчүн камераны пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө камераны пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> үчүн <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүнүн камерасын пайдалануу мүмкүнчүлүгүн өзгөртөсүзбү?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Бул колдонмону колдонбой турсаңыз деле, ал такай сүрөт жана видео тарта берет. "<annotation id="link">"Ага жөндөөлөрдөн уруксат бериңиз."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна телефондогу чалуулар тизмесин пайдаланууга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө телефон чалуулардын тизмесин көрүүгө мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү чалуулар тизмесин пайдаланууга уруксат бересизби?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна телефон чалууга жана чалууларды башкарууга уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө телефон чалып жана чалууларды башкара алсынбы?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө чалып, чалууларды тескей берсинби?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна организмдин абалына көз салган сенсордун көрсөткүчтөрүн көрүүгө уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздөгү дене-бой сенсорлорунун маалыматына мүмкүнчүлүк алсынбы?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө организмдин негизги көрсөткүчтөрү тууралуу cенсордун дайындарын көрө берсинби?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Бул колдонмону иштетпей турсаңыз деле, ал такай организмдин негизги көрсөткүчтөрү тууралуу cенсордун дайындарын жаздыра алат. Муну өзгөртүү үчүн "<annotation id="link">"параметрлерге өтүңүз."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна дене-бой сенсорлорунун көрсөткүчтөрүн көрүүгө уруксат бересизби?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө дене-бой сенсорлорунун маалыматын көрүүгө мүмкүнчүлүк алсынбы?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө организмдин негизги көрсөткүчтөрү тууралуу cенсордун дайындарын пайдаланууга уруксат бересизби?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Бул колдонмого дене сенсорлорунун көрсөткүчтөрүн көрүү мүмкүнчүлүгүн берүү үчүн (колдонмо колдонулбай турганда да) "<annotation id="link">"параметрлерди өзгөртүңүз."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу колдонулуп жатканда дене бой сенсорлорунун көрсөткүчтөрүн көрүү мүмкүнчүлүгүн бересизби?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Колдонулуп жатканда <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дене сенсорлорунун маалыматына кире берсинби?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонулуп жатканда ал <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндөгү дене сенсорлорунун дайындарын пайдалана берсинби?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна сизге билдирмелерди жөнөтүүгө уруксат бересизби?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосуна <b><xliff:g id="DEVICE">%2$s</xliff:g></b> түзмөгүңүздө сизге билдирмелерди жөнөтүүгө уруксат бересизби?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> колдонмосу <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> түзмөгүндө сизге билдирмелерди жөнөтө берсинби?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Көзөмөлдөнгөн уруксаттар"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> жүргөн жериңизди аныктай алат"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Уюмуңуз <xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосуна жүргөн жериңизди аныктоого уруксат берет"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Жок"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Акыркы\n24 саат"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Акыркы\n7 күндө"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> пайыз"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android тарабынан корголот. Колдонмодогу нерселериңиз ушул түзмөктө иштетилгендиктен, бул колдонмонун уруксаттарды пайдалануу статистикасы абал тилкесинде же купуялык тактаңызда көрүнбөйт."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android тарабынан корголот. Колдонмодогу нерселериңиз ушул түзмөктө иштетилгендиктен, бул колдонмонун уруксаттарды пайдалануу статистикасы купуялык тактаңызда көрүнбөйт."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Түзмөктүн камерасы бөгөттөлгөн"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Колдонмолор жана кызматтар үчүн"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Кырсыктаганда жардамга келчү кызматка чалганда микрофондогу нерселер өткөрүлүшү мүмкүн"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Өзгөртүү"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Камераны колдонуу мүмкүнчүлүгү өчүк"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Инфозоок колдонмолору үчүн"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Талап кылынган колдонмолор үчүн"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Бул колдонмо талап кылынат"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Бул колдонмо унааны өндүрүүчү тарабынан талап кылынат"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Коопсуздук жана купуялык"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Түзмөктү текшерүү"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Жабуу"</string> @@ -610,7 +626,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Микрофонду колдонуу"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Колдонмолор жана кызматтар үчүн"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Кырсыктаганда жардамга келчү кызматка чалганда, микрофондогу нерселер бөлүшүлүшү мүмкүн."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Кайда жүргөнүңүздү көрүүгө уруксаты бар колдонмолорду жана кызматтарды көрүү"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Кайда жүргөнүңүздү көрө алган колдонмолор менен кызматтардын тизмеси"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Алмашуу буферин пайдалануу мүмкүнчүлүгүн көрсөтүү"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Колдонмолор көчүрүлгөн текстти, сүрөттөрдү же башка нерселерди пайдаланганда билдирүүлөр көрүнөт"</string> <string name="show_password_title" msgid="2877269286984684659">"Сырсөз көрүнсүн"</string> @@ -639,13 +655,29 @@ <string name="data_sharing_updates_title" msgid="7996933386875213859">"Турган жериңизди билдирүү ыкмасын жаңыртуу"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Жүргөн жериңизди көрсөткөн ыкманы өзгөрткөн колдонмолорду карап чыксаңыз болот"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Бул колдонмолор жүргөн жериңиз тууралуу маалыматты бөлүшүү ыкмасын өзгөрттү. Алар бул маалыматты мурда бөлүшпөй же азыр жарнамалоо же маркетинг максаттарында бөлүшүшү мүмкүн."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Бул колдонмолорду иштеп чыгуучулар нерселерди бөлүшүү тууралуу маалыматты колдонмолор дүкөнүнө беришти. Алар бул маалыматты жаңыртып турушу мүмкүн.\n\nМаалыматтарды бөлүшүү ыкмасы колдонмонун версиясына, колдонулушуна, регионго жана курагыңызга жараша айырмаланышы мүмкүн."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Бул колдонмолорду иштеп чыккандар дүкөнгө маалымат бөлүшүү ыкмасын беришти. Бул маалыматтар такай жаңырып турушу мүмкүн.\n\nМаалыматтар бөлүшүү ыкмасы колдонмонун версиясына, анын колдонулушуна, өлкөгө жана курагыңызга жараша айырмаланышы мүмкүн."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Маалыматтарды бөлүшүү жөнүндө кеңири маалымат"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Жүргөн жериңиз тууралуу маалымат үчүнчү тараптар менен бөлүшүлүп жатат"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Жүргөн жериңизди үчүнчү тараптар жарнамалоо же маркетинг максатында билип турушат"</string> - <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Кечээ жаңыртылды}=1{Кечээ жаңыртылды}other{# күн мурда жаңыртылды}}"</string> + <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Кечээ жаңырды}=1{Кечээ жаңырды}other{# күн мурда жаңырды}}"</string> <string name="no_updates_at_this_time" msgid="9031085635689982935">"Азырынча жаңыртуулар жок"</string> <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Маалыматты бөлүшүү жаңыртуулары"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Айрым колдонмолор турган жериңизди билдирүү ыкмасын өзгөрттү"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Параметрлер"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Cаат <xliff:g id="TIME_DATE">%1$s</xliff:g> колдонулду"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Кечээ саат <xliff:g id="TIME_DATE">%1$s</xliff:g> колдонулду"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> саат <xliff:g id="TIME_DATE_1">%2$s</xliff:g> колдонулду"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Бир жолу гана колдонулуучу кодуңуз: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Чектелген функция"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Коопсуздук максатында бул параметр азырынча иштебейт."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Колдонмого <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> параметрин колдонууга тыюу салынды"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Колдонмо жеке жана каржы маалыматыңыздын коопсуздугуна коркунуч жаратышы мүмкүн болгон купуя маалыматты көрүүгө уруксат сурады.<xliff:g id="ID_1"><br><br></xliff:g>Мындай чектелген уруксат берилбесе, колдонмо ойдогудай иштебеши ыктымал. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Мүмкүнчүлүк берүү жөнүндө кеңири маалымат</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Колдонмого демейки <xliff:g id="ROLE_NAME">%1$s</xliff:g> ролун колдонууга тыюу салынды"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Колдонмо жеке жана каржы маалыматыңыздын коопсуздугуна коркунуч жаратышы мүмкүн болгон купуя маалыматты көрүүгө уруксаттарды сурады.<xliff:g id="ID_1"><br><br></xliff:g>Мындай чектелген уруксаттар берилбесе, колдонмо ойдогудай иштебеши ыктымал. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Мүмкүнчүлүк берүү жөнүндө кеңири маалымат</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Колдонмого мүмкүнчүлүк алууга тыюу салынды"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Бул уруксатты берсеңиз, жеке жана каржы маалыматыңыздын коопсуздугуна коркунуч жаралышы мүмкүн.<xliff:g id="ID_1"><br><br></xliff:g>Мындай чектелген уруксат берилбесе, колдонмо ойдогудай иштебеши ыктымал. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Мүмкүнчүлүк берүү жөнүндө кеңири маалымат</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Кеңири маалымат"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Жарайт"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Уруксат берүү сурамы четке кагылды"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Бул колдонмо кошумча уруксаттарды берүүнү суранып жатат, бирок алып ойнотуу сеансында уруксаттарды берүүгө болбойт. Адегенде телефондо уруксат бериңиз."</string> </resources> diff --git a/PermissionController/res/values-lo-v34/strings.xml b/PermissionController/res/values-lo-v34/strings.xml index 431b80ec1..07e965359 100644 --- a/PermissionController/res/values-lo-v34/strings.xml +++ b/PermissionController/res/values-lo-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ຈັດການສິດເຂົ້າເຖິງຂອງແອັບຫາຂໍ້ມູນສຸຂະພາບ"</string> <string name="location_settings" msgid="8863940440881290182">"ສິດເຂົ້າເຖິງສະຖານທີ່"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ສຳລັບແອັບ ແລະ ບໍລິການຕ່າງໆ. ຫາກປິດການຕັ້ງຄ່ານີ້ໄວ້, ຂໍ້ມູນໄມໂຄຣໂຟນອາດຍັງຖືກແບ່ງປັນເມື່ອທ່ານໂທຫາເບີໂທສຸກເສີນ"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ສຳລັບແອັບ ແລະ ບໍລິການຕ່າງໆ"</string> </resources> diff --git a/PermissionController/res/values-lo-watch/strings.xml b/PermissionController/res/values-lo-watch/strings.xml index f0c39134f..bc1fbad9f 100644 --- a/PermissionController/res/values-lo-watch/strings.xml +++ b/PermissionController/res/values-lo-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ບໍ່ສາມາດປ່ຽນແປງໄດ້"</string> <string name="generic_yes" msgid="2489207724988649846">"ໄປ"</string> <string name="generic_cancel" msgid="2631708607129269698">"ຍົກເລີກ"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ຕະຫຼອດເວລາ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ໃນເວລາໃຊ້ແອັບ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ຕະຫຼອດເວລາ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ໃນເວລາໃຊ້ແອັບ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ຕະຫຼອດເວລາ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ໃນເວລາໃຊ້ແອັບ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ຕະຫຼອດເວລາ"</string> </resources> diff --git a/PermissionController/res/values-lo/strings.xml b/PermissionController/res/values-lo/strings.xml index b78db29c8..c315bb3bb 100644 --- a/PermissionController/res/values-lo/strings.xml +++ b/PermissionController/res/values-lo/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ທຸກການອະນຸຍາດ"</string> <string name="other_permissions" msgid="2901186127193849594">"ຄວາມສາມາດອື່ນຂອງແອັບ"</string> <string name="permission_request_title" msgid="8790310151025020126">"ການຮ້ອງຂໍການອະນຸຍາດ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ຕິດຕັ້ງ/ຖອນການຕິດຕັ້ງ ຄຳສັ່ງທີ່ບໍ່ຮອງຮັບຢູ່ Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"ເລືອກວ່າຈະອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຫຍັງໄດ້ແດ່"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"ອັບເດດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ແລ້ວ. ກະລຸນາເລືອກວ່າຈະໃຫ້ແອັບນີ້ເຂົ້າເຖິງຫຍັງໄດ້ແດ່."</string> <string name="review_button_cancel" msgid="2191147944056548886">"ຍົກເລີກ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ອະນຸຍາດທັງໝົດຕະຫຼອດ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ຖາມທຸກເທື່ອ"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ບໍ່ອະນຸຍາດ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ສະຖານທີ່ແບບລະອຽດ"</string> <string name="approximate_image_description" msgid="938803699637069884">"ສະຖານທີ່ໂດຍປະມານ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ໃຊ້ສະຖານທີ່ແບບລະອຽດ"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ເມື່ອປິດສະຖານທີ່ແບບລະອຽດໄວ້ແລ້ວ, ແອັບຕ່າງໆຈະສາມາດເຂົ້າເຖິງສະຖານທີ່ໂດຍປະມານຂອງທ່ານໄດ້"</string> <string name="app_permission_title" msgid="2090897901051370711">"ສິດອະນຸຍາດ <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"ສິດເຂົ້າເຖິງ <xliff:g id="PERM">%1$s</xliff:g> ສຳລັບແອັບນີ້"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> ເຂົ້າເຖິງແອັບນີ້ຢູ່ <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ເບິ່ງສິດອະນຸຍາດ <xliff:g id="APP">%1$s</xliff:g> ທັງໝົດ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ເບິ່ງແອັບທັງໝົດທີ່ມີສິດອະນຸຍາດນີ້"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"ສະແດງການໃຊ້ໄມໂຄຣໂຟນຂອງຜູ້ຊ່ວຍ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ລຶບສິດອະນຸຍາດຫາກບໍ່ໄດ້ໃຊ້ແອັບ"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ລຶບການອະນຸຍາດອອກ ແລະ ສ້າງພື້ນທີ່ຫວ່າງ"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ຢຸດການເຄື່ອນໄຫວແອັບຊົ່ວຄາວຫາກບໍ່ໄດ້ໃຊ້"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ຈັດການແອັບຫາກບໍ່ໄດ້ໃຊ້"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ລຶບການອະນຸຍາດອອກ, ລຶບໄຟລ໌ຊົ່ວຄາວ ແລະ ຢຸດການແຈ້ງເຕືອນ"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ລຶບການອະນຸຍາດອອກ, ລຶບໄຟລ໌ຊົ່ວຄາວ, ຢຸດການແຈ້ງເຕືອນ ແລະ ເກັບແອັບໄວ້ໃນແຟ້ມ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ເພື່ອປົກປ້ອງຂໍ້ມູນຂອງທ່ານ, ສິດອະນຸຍາດສຳລັບແອັບນີ້ຈະຖືກລຶບອອກຫາກບໍ່ໄດ້ໃຊ້ແອັບສອງສາມເດືອນ."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ເພື່ອປົກປ້ອງຂໍ້ມູນຂອງທ່ານ, ຫາກບໍ່ໄດ້ໃຊ້ແອັບສອງສາມເດືອນ, ສິດອະນຸຍາດຕໍ່ໄປນີ້ຈະຖືກລຶບອອກ: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ເພື່ອປົກປ້ອງຂໍ້ມູນຂອງທ່ານ, ລະບົບໄດ້ລຶບສິດອະນຸຍາດອອກຈາກແອັບຕ່າງໆທີ່ທ່ານບໍ່ໄດ້ໃຊ້ສອງສາມເດືອນແລ້ວ."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ອະນຸຍາດໃຫ້ຈັດການໄຟລ໌ທັງໝົດແລ້ວ"</string> <string name="ask_header" msgid="2633816846459944376">"ຖາມທຸກເທື່ອ"</string> <string name="denied_header" msgid="903209608358177654">"ບໍ່ອະນຸຍາດ"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> ໃນ <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ເບິ່ງແອັບເພີ່ມເຕີມທີ່ສາມາດເຂົ້າເຖິງໄຟລ໌ທັງໝົດໄດ້"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ມື້}other{# ມື້}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ຊົ່ວໂມງ}other{# ຊົ່ວໂມງ}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"ແອັບຂຽນບັນທຶກ"</string> <string name="role_notes_description" msgid="8496852798616883551">"ແອັບທີ່ອະນຸຍາດໃຫ້ທ່ານຈົດບັນທຶກຢູ່ອຸປະກອນຂອງທ່ານ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ບັນທຶກ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ແອັບ Wallet ເລີ່ມຕົ້ນ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"ແອັບ Wallet"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"ແອັບ Wallet ສາມາດຈັດເກັບບັດເຄຣດິດ ແລະ ບັດສະມາຊິກ, ກະແຈລົດ ແລະ ສິ່ງອື່ນໆຂອງທ່ານເພື່ອຊ່ວຍໃນການເຮັດທຸລະກຳຮູບແບບຕ່າງໆ."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"ຕັ້ງ <xliff:g id="APP_NAME">%1$s</xliff:g> ເປັນແອັບ Wallet ເລີ່ມຕົ້ນຂອງທ່ານບໍ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ບໍ່ຈຳເປັນຕ້ອງມີການອະນຸຍາດ"</string> <string name="request_role_current_default" msgid="738722892438247184">"ຄ່າເລີ່ມຕົ້ນປັດຈຸບັນ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ບໍ່ຕ້ອງຖາມອີກ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"ຄ່າເລີ່ມຕົ້ນເພີ່ມເຕີມ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ການເປີດລິ້ງ"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ຄ່າເລີ່ມຕົ້ນສຳລັບບ່ອນເຮັດວຽກ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ຄ່າເລີ່ມຕົ້ນສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນ"</string> <string name="default_app_none" msgid="9084592086808194457">"ບໍ່ມີ"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ບໍ່ມີແອັບ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"ສະແດງການກວດຫາຕົວເປີດຜູ້ຊ່ວຍ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ສະແດງໄອຄອນໃນແຖບສະຖານະເມື່ອໃຊ້ໄມໂຄຣໂຟນເພື່ອເປີດໃຊ້ຜູ້ຊ່ວຍແບບສຽງ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງຮູບພາບ ແລະ ມີເດຍຢູ່ອຸປະກອນຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ສື່ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ສື່ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງສະຖານທີ່ຂອງອຸປະກອນບໍ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ແອັບຈະມີສິດເຂົ້າເຖິງສະຖານທີ່ໃນເວລາທີ່ທ່ານກຳລັງໃຊ້ແອັບຢູ່ເທົ່ານັ້ນ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງສະຖານທີ່ຂອງອຸປະກອນບໍ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ຂອງທ່ານບໍ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ແອັບນີ້ອາດຕ້ອງການເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"ປ່ຽນສິດອະນຸຍາດເຂົ້າເຖິງສຳລັບ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບໍ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ປ່ຽນແປງສິດເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"ປ່ຽນແປງສິດເຂົ້າເຖິງສະຖານທີ່ຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ແອັບນີ້ຕ້ອງການເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຊອກຫາ, ເຊື່ອມຕໍ່ຫາ ແລະ ກຳນົດຕຳແໜ່ງທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງບໍ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຊອກຫາ, ເຊື່ອມຕໍ່ ແລະ ລະບຸສະຖານທີ່ທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຊອກຫາ, ເຊື່ອມຕໍ່ ແລະ ລະບຸສະຖານທີ່ທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຊອກຫາ, ເຊື່ອມຕໍ່ຫາ ແລະ ກຳນົດຕຳແໜ່ງທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງບໍ? "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"ປ່ຽນການເຂົ້າເຖິງສະຖານທີ່ຂອງ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ຈາກໂດຍປະມານເປັນແບບລະອຽດບໍ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ປ່ຽນສິດເຂົ້າເຖິງສະຖານທີ່ຂອງ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານຈາກສະຖານທີ່ໂດຍປະມານເປັນສະຖານທີ່ແບບລະອຽດບໍ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"ປ່ຽນສິດເຂົ້າເຖິງສະຖານທີ່ຂອງ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ຈາກສະຖານທີ່ໂດຍປະມານເປັນສະຖານທີ່ແບບລະອຽດບໍ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ໂດຍປະມານຂອງອຸປະກອນນີ້ບໍ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ໂດຍປະມານຂອງ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງສະຖານທີ່ໂດຍປະມານຂອງ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ແບບລະອຽດ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ໂດຍປະມານ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງປະຕິທິນຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງປະຕິທິນຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງປະຕິທິນຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ສົ່ງ ແລະ ອ່ານຂໍ້ຄວາມ SMS ບໍ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ສົ່ງ ແລະ ເບິ່ງຂໍ້ຄວາມ SMS ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ສົ່ງ ແລະ ເບິ່ງຂໍ້ຄວາມ SMS ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງຮູບພາບ, ມີເດຍ ແລະ ໄຟລ໌ຢູ່ອຸປະກອນຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ, ສື່ ແລະ ໄຟລ໌ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ, ສື່ ແລະ ໄຟລ໌ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງ <b>ຮູບພາບ, ວິດີໂອ, ເພງ ແລະ ສຽງ</b> ຢູ່ອຸປະກອນນີ້ບໍ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງ <b>ຮູບພາບ, ວິດີໂອ, ເພງ, ສຽງ ແລະ ໄຟລ໌ອື່ນໆ</b> ຢູ່ອຸປະກອນນີ້ບໍ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງເພງ ແລະ ສຽງຢູ່ອຸປະກອນນີ້ບໍ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງເພງ ແລະ ສຽງຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງເພງ ແລະ ສຽງຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອຢູ່ອຸປະກອນນີ້ບໍ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອເພີ່ມເຕີມຢູ່ອຸປະກອນນີ້ບໍ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອເພີ່ມເຕີມຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອເພີ່ມເຕີມຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ບັນທຶກສຽງບໍ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບັນທຶກສຽງຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບັນທຶກສຽງຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ແອັບນີ້ສາມາດບັນທຶກສຽງໃນຂະນະທີ່ທ່ານກຳລັງໃຊ້ແອັບເທົ່ານັ້ນ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ບັນທຶກສຽງບໍ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບັນທຶກສຽງຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບັນທຶກສຽງຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ແອັບນີ້ອາດຕ້ອງການບັນທຶກສຽງຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ປ່ຽນສິດເຂົ້າເຖິງໄມໂຄຣໂຟນສຳລັບ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບໍ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ປ່ຽນແປງສິດເຂົ້າເຖິງໄມໂຄຣໂຟນຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"ປ່ຽນແປງສິດເຂົ້າເຖິງໄມໂຄຣໂຟນຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ແອັບນີ້ຕ້ອງການບັນທຶກສຽງຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງກິດຈະກຳທາງກາຍະພາບຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງກິດຈະກຳທາງກາຍະພາບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງກິດຈະກຳທາງກາຍະພາບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອບໍ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ແອັບຈະສາມາດຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອໄດ້ສະເພາະໃນເວລາທີ່ທ່ານກຳລັງໃຊ້ແອັບເທົ່ານັ້ນ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອບໍ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ແອັບນີ້ອາດຕ້ອງການຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"ປ່ຽນສິດເຂົ້າເຖິງກ້ອງສຳລັບ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ບໍ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ປ່ຽນແປງສິດເຂົ້າເຖິງກ້ອງຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"ປ່ຽນແປງສິດເຂົ້າເຖິງກ້ອງຂອງ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ແອັບອາດຕ້ອງການຖ່າຍຮູບ ແລະ ບັນທຶກວິດີໂອຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ໃຊ້ແອັບຢູ່ກໍຕາມ. "<annotation id="link">"ອະນຸຍາດໃນການຕັ້ງຄ່າ."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງບັນທຶກການໂທທັງໝົດຂອງທ່ານໄດ້ບໍ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງບັນທຶກການໂທໃນໂທລະສັບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງບັນທຶກການໂທໃນໂທລະສັບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ໂທ ແລະ ຈັດການການໂທບໍ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໂທ ແລະ ຈັດການການໂທຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໂທ ແລະ ຈັດການການໂທຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ແອັບນີ້ຕ້ອງການເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ກຳລັງໃຊ້ແອັບຢູ່ກໍຕາມ. ເພື່ອປ່ຽນແປງສິ່ງນີ້, "<annotation id="link">"ໃຫ້ເຂົ້າໄປການຕັ້ງຄ່າ."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານບໍ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ເພື່ອເຮັດໃຫ້ແອັບນີ້ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີຮ່າງກາຍໄດ້ຕະຫຼອດເວລາ, ເຖິງແມ່ນວ່າທ່ານຈະບໍ່ໄດ້ກຳລັງໃຊ້ແອັບຢູ່ກໍຕາມ, "<annotation id="link">"ໃຫ້ເຂົ້າໄປການຕັ້ງຄ່າ."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ສືບຕໍ່ອະນຸຍາດ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີຮ່າງກາຍໃນຂະນະທີ່ກຳລັງໃຊ້ແອັບຢູ່ບໍ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ສືບຕໍ່ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີຮ່າງກາຍຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານໃນລະຫວ່າງທີ່ໃຊ້ແອັບບໍ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີຮ່າງກາຍໄດ້ຕະຫຼອດໃນລະຫວ່າງທີ່ໃຊ້ແອັບຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ສົ່ງການແຈ້ງເຕືອນຫາທ່ານບໍ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ສົ່ງການແຈ້ງເຕືອນຫາທ່ານຢູ່ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ຂອງທ່ານບໍ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"ອະນຸຍາດໃຫ້ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານຢູ່ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ບໍ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ສິດອະນຸຍາດທີ່ມີການຄວບຄຸມ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ມີສິດເຂົ້າເຖິງສະຖານທີ່"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ອົງກອນຂອງທ່ານອະນຸຍາດ <xliff:g id="APP_NAME">%1$s</xliff:g> ໃຫ້ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານ"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ບໍ່ມີ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 ຊົ່ວໂມງ\nທີ່ຜ່ານມາ"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 ມື້\nທີ່ຜ່ານມາ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ເປີເຊັນ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ແມ່ນຖືກປົກປ້ອງໂດຍ Android. ເນື່ອງຈາກຂໍ້ມູນຂອງທ່ານຖືກປະມວນຜົນຢູ່ອຸປະກອນນີ້, ການນຳໃຊ້ການອະນຸຍາດຂອງແອັບນີ້ຈະບໍ່ສະແດງຢູ່ແຖບສະຖານະ ຫຼື ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວຂອງທ່ານ."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ແມ່ນຖືກປົກປ້ອງໂດຍ Android. ເນື່ອງຈາກຂໍ້ມູນຂອງທ່ານຖືກປະມວນຜົນຢູ່ອຸປະກອນນີ້, ການນຳໃຊ້ການອະນຸຍາດຂອງແອັບນີ້ຈະບໍ່ສະແດງຢູ່ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວຂອງທ່ານ."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ກ້ອງຖ່າຍຮູບອຸປະກອນຖືກບລັອກໄວ້"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ສຳລັບແອັບ ແລະ ບໍລິການ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ຂໍ້ມູນໄມໂຄຣໂຟນອາດຍັງຄົງຖືກແບ່ງປັນໃນເວລາທີ່ທ່ານໂທຫາເບີໂທສຸກເສີນ."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ປ່ຽນ"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ສິດເຂົ້າເຖິງກ້ອງຖ່າຍຮູບປິດຢູ່"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ສຳລັບແອັບສາລະບັນເທີງ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ສຳລັບແອັບທີ່ຈຳເປັນ"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ແອັບນີ້ຈຳເປັນ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ແອັບນີ້ຈຳເປັນໂດຍຜູ້ຜະລິດລົດຂອງທ່ານ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວ"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ສະແກນອຸປະກອນ"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ປິດໄວ້"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ການອັບເດດການແບ່ງປັນຂໍ້ມູນ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"ບາງແອັບໄດ້ປ່ຽນແປງວິທີທີ່ແອັບອາດແບ່ງປັນຂໍ້ມູນສະຖານທີ່ຂອງທ່ານແລ້ວ"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ການຕັ້ງຄ່າ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"ເຂົ້າເຖິງເມື່ອ <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ເຂົ້າເຖິງມື້ວານນີ້ເມື່ອ <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"ເຂົ້າເຖິງເມື່ອ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ລະຫັດຜ່ານແບບໃຊ້ໄດ້ເທື່ອດຽວຂອງທ່ານແມ່ນ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ການຕັ້ງຄ່າທີ່ຈຳກັດ"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ເພື່ອຄວາມປອດໄພຂອງທ່ານ, ຕອນນີ້ຈຶ່ງບໍ່ສາມາດໃຊ້ການຕັ້ງຄ່ານີ້ໄດ້."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"ແອັບຖືກປະຕິເສດສິດເຂົ້າເຖິງຫາ <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ແອັບໄດ້ຮ້ອງຂໍການສິດເຖິງການອະນຸຍາດທີ່ລະອຽດອ່ອນ ເຊິ່ງສາມາດເຮັດໃຫ້ຂໍ້ມູນສ່ວນຕົວ ແລະ ຂໍ້ມູນການເງິນຂອງທ່ານມີຄວາມສ່ຽງ.<xliff:g id="ID_1"><br><br></xliff:g>ມັນເປັນໄປໄດ້ວ່າແອັບດັ່ງກ່າວຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງໂດຍບໍ່ມີການອະນຸຍາດທີ່ຖືກຈຳກັດໄວ້ນີ້. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ສຶກສາວິທີອະນຸຍາດສິດເຂົ້າເຖິງ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ແອັບຖືກປະຕິເສດສິດເຂົ້າເຖິງໃຫ້ເປັນ <xliff:g id="ROLE_NAME">%1$s</xliff:g> ຄ່າເລີ່ມຕົ້ນ"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ແອັບໄດ້ຮ້ອງຂໍການສິດເຖິງການອະນຸຍາດທີ່ລະອຽດອ່ອນ ເຊິ່ງສາມາດເຮັດໃຫ້ຂໍ້ມູນສ່ວນຕົວ ແລະ ຂໍ້ມູນການເງິນຂອງທ່ານມີຄວາມສ່ຽງ.<xliff:g id="ID_1"><br><br></xliff:g>ມັນເປັນໄປໄດ້ວ່າແອັບດັ່ງກ່າວຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງໂດຍບໍ່ມີການອະນຸຍາດທີ່ຖືກຈຳກັດໄວ້ເຫຼົ່ານີ້. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ສຶກສາວິທີອະນຸຍາດສິດເຂົ້າເຖິງ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ແອັບຖືກປະຕິເສດສິດເຂົ້າເຖິງ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ເຂົ້າເຖິງການອະນຸຍາດນີ້ສາມາດເຮັດໃຫ້ຂໍ້ມູນສ່ວນຕົວ ແລະ ຂໍ້ມູນການເງິນຂອງທ່ານມີຄວາມສ່ຽງ.<xliff:g id="ID_1"><br><br></xliff:g>ມັນເປັນໄປໄດ້ວ່າແອັບດັ່ງກ່າວຈະບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງໂດຍບໍ່ມີການອະນຸຍາດທີ່ຖືກຈຳກັດໄວ້ນີ້. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ສຶກສາວິທີອະນຸຍາດສິດເຂົ້າເຖິງ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ສຶກສາເພີ່ມເຕີມ"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ຕົກລົງ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ຄຳຮ້ອງຂໍການອະນຸຍາດຖືກລະງັບ"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ແອັບນີ້ກຳລັງຮ້ອງຂໍການອະນຸຍາດເພີ່ມເຕີມ, ແຕ່ບໍ່ສາມາດໃຫ້ການອະນຸຍາດໃນເຊດຊັນການສະຕຣີມໄດ້. ກະລຸນາໃຫ້ການອະນຸຍາດໃນໂທລະສັບຂອງທ່ານກ່ອນ."</string> </resources> diff --git a/PermissionController/res/values-lt-v34/strings.xml b/PermissionController/res/values-lt-v34/strings.xml index f7a60d198..2546f96e5 100644 --- a/PermissionController/res/values-lt-v34/strings.xml +++ b/PermissionController/res/values-lt-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Programos prieigos prie sveikatos duomenų tvarkymas"</string> <string name="location_settings" msgid="8863940440881290182">"Prieiga prie vietovės"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Programos ir paslaugos. Jei šis nustatymas išjungtas, mikrofono duomenys vis tiek gali būti bendrinami, skambinant pagalbos numeriu"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Programos ir paslaugos"</string> </resources> diff --git a/PermissionController/res/values-lt-watch/strings.xml b/PermissionController/res/values-lt-watch/strings.xml index c852a6508..b875ee94e 100644 --- a/PermissionController/res/values-lt-watch/strings.xml +++ b/PermissionController/res/values-lt-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Negalima pakeisti"</string> <string name="generic_yes" msgid="2489207724988649846">"Taip"</string> <string name="generic_cancel" msgid="2631708607129269698">"Atšaukti"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Visą laiką"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Kai programa naudojama"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Visą laiką"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Kai programa naudojama"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Visą laiką"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Kai programa naudojama"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Visą laiką"</string> </resources> diff --git a/PermissionController/res/values-lt/strings.xml b/PermissionController/res/values-lt/strings.xml index d7fbc6af8..35c3671e0 100644 --- a/PermissionController/res/values-lt/strings.xml +++ b/PermissionController/res/values-lt/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Visi leidimai"</string> <string name="other_permissions" msgid="2901186127193849594">"Kitos programos galimybės"</string> <string name="permission_request_title" msgid="8790310151025020126">"Leidimo užklausa"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Diegimo / pašalinimo veiksmai nepalaikomi sistemoje „Wear“."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Pasirinkite, ką norite leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Programa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> buvo atnaujinta. Pasirinkite, ką norite leisti šiai programai pasiekti."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Atšaukti"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Visada leisti viską"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Klausti kaskart"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Neleisti"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Tiksli vietovė"</string> <string name="approximate_image_description" msgid="938803699637069884">"Apytikslė vietovė"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Tikslios vietovės naudojimas"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kai tikslios vietovės nustatymo parinktis išjungta, programos gali pasiekti apytikslės vietovės duomenis"</string> <string name="app_permission_title" msgid="2090897901051370711">"Leidimas: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: šios programos prieiga"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g> prieiga šiai programai „<xliff:g id="DEVICE_NAME">%2$s</xliff:g>“"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Žr. visus „<xliff:g id="APP">%1$s</xliff:g>“ leidimus"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Žr. visas programas, kurioms suteiktas šis leidimas"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Rodyti Padėjėjo mikrofono naudojimą"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Pašalinti leidimus, jei programa nenaudojama"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Pašalinti leidimus ir atlaisvinti vietos"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pristabdyti nenaudojamų programų veiklą"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Tvarkyti programą, jei nenaudojama"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Pašalinkite leidimus, ištrinkite laikinus failus ir sustabdykite pranešimus"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Pašalinti leidimus, ištrinti laikinus failus, sustabdyti pranešimus ir archyvuoti programą"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Siekiant apsaugoti duomenis, šios programos leidimai bus pašalinti, jei programos nenaudosite kelis mėnesius."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Siekiant apsaugoti duomenis, jei programos nenaudosite kelis mėnesius, bus pašalinti nurodyti leidimai: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Siekiant apsaugoti duomenis, leidimai buvo pašalinti iš programų, kurių nenaudojote kelis mėnesius"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Leidžiama valdyti visus failus"</string> <string name="ask_header" msgid="2633816846459944376">"Klausti kaskart"</string> <string name="denied_header" msgid="903209608358177654">"Neleidžiama"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> „<xliff:g id="DEVICE_NAME">%2$s</xliff:g>“"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Peržiūrėti daugiau programų, galinčių pasiekti visus failus"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 diena}one{# diena}few{# dienos}many{# dienos}other{# dienų}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# valanda}one{# valanda}few{# valandos}many{# valandos}other{# valandų}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Užrašų programa"</string> <string name="role_notes_description" msgid="8496852798616883551">"Programos, leidžiančios rašyti užrašus jūsų įrenginyje"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"užrašai"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Numatytoji piniginės programa"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Piniginės programa"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Piniginės programos gali saugoti jūsų kredito ir lojalumo kortelių, automobilių raktų ir kitus duomenis, kad lengviau atliktumėte įvairias operacijas."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Nustatyti „<xliff:g id="APP_NAME">%1$s</xliff:g>“ kaip numatytąją piniginės programą?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nereikia jokių leidimų"</string> <string name="request_role_current_default" msgid="738722892438247184">"Dabartinė numatytoji"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Daugiau neklausti"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Nustatyti numatytąja"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Daugiau numatytųjų programų"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Nuorodų atidarymas"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Numatytosios darbo programos"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Privačios erdvės numatytosios programos"</string> <string name="default_app_none" msgid="9084592086808194457">"Nėra"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sistemos numatytoji programa)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nėra programų"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Rodyti padėjėjo aktyviklio aptikimą"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Rodyti piktogramą būsenos juostoje, kai naudojant mikrofoną aktyvinama pagalba balsu"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Suteikti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> galimybę pasiekti įrenginio nuotraukas ir mediją?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti įrenginio nuotraukas ir mediją jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas ir mediją įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kontaktus?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kontaktus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kontaktus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti įrenginio vietovę?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jūsų <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> vietovės informaciją?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti įrenginio <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> vietovę?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Programa galės pasiekti vietovę, tik kai ją naudosite"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti įrenginio vietovę?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jūsų <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> vietovės informaciją?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti įrenginio <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> vietovę?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ši programa gali norėti pasiekti jūsų vietovę visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Pakeisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie vietovės duomenų?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Keisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie vietovės jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Keisti programos <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie vietovės įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ši programa nori pasiekti jūsų vietovę visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> rasti netoliese esančius įrenginius, prisijungti prie jų ir nustatyti apytikslį atstumą?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> rasti apytikslę įrenginių netoliese poziciją, aptikti juos ir prisijungti jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> rasti apytikslę įrenginių netoliese vietą, aptikti juos ir prisijungti įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> rasti netoliese esančius įrenginius, prisijungti prie jų ir nustatyti apytikslį atstumą? "<annotation id="link">"Leiskite nustatymuose."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Pakeisti <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> vietovės pasiekiamumą iš apytikslės į tikslią?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Leisti „<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>“ prieigą prie vietovės informacijos jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b> iš apytikslės į tikslią?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Leisti programos „<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>“ prieigą prie vietovės informacijos įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> iš apytikslės į tikslią?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti apytikslę šio įrenginio vietovę?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b> apytikslę vietovę?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti apytikslę įrenginio <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> vietovę?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Tiksli"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Apytikslė"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Suteikti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> galimybę pasiekti kalendorių?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kalendorių jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kalendorių įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti ir peržiūrėti SMS pranešimus?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti ir peržiūrėti SMS pranešimus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti ir peržiūrėti SMS pranešimus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Suteikti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> galimybę pasiekti įrenginio nuotraukas, mediją ir failus?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas, mediją ir failus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas, mediją ir failus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti <b>nuotraukas, vaizdo, garso įrašus ir muziką</b> šiame įrenginyje?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti <b>nuotrauk., vaizdo, garso įrašus, muziką, kitus failus</b> įrenginyje?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti muziką ir garso failus šiame įrenginyje?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti muziką ir garso failus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti muziką ir garso failus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas ir vaizdo įrašus šiame įrenginyje?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas ir vaizdo įrašus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas ir vaizdo įrašus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti nuotraukas ir vaizdo įrašus šiame įrenginyje?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti daugiau nuotraukų ir vaizdo įrašų jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti daugiau nuotraukų ir vaizdo įrašų įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Programa galės įrašyti garsą, tik kai ją naudosite"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> įrašyti garsą įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ši programa gali norėti įrašyti garsą visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Pakeisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie mikrofono?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Keisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie mikrofono jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Keisti programos <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie mikrofono įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ši programa nori įrašyti garsą visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti fizinės veiklos duomenis?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti fizinės veiklos duomenis jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti fizinės veiklos duomenis įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir įrašyti vaizdo įrašus?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir įrašyti vaizdo įrašus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir filmuoti įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Programa galės fotografuoti ir įrašyti vaizdo įrašų, tik kai ją naudosite"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir įrašyti vaizdo įrašus?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir įrašyti vaizdo įrašus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografuoti ir filmuoti įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ši programa gali norėti fotografuoti ir įrašyti vaizdo įrašų visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Pakeisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie fotoaparato?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Keisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie fotoaparato jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Keisti programos <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prieigą prie fotoaparato įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ši programa nori fotografuoti ir įrašyti vaizdo įrašų visą laiką, net kai programos nenaudojate. "<annotation id="link">"Leiskite skiltyje „Nustatymai“."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jūsų telefono skambučių žurnalus?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti telefonų skambučių žurnalus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti telefonų skambučių žurnalus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> skambinti ir tvarkyti telefono skambučius?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> skambinti ir tvarkyti telefonų skambučius jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> skambinti ir tvarkyti telefonų skambučius įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Suteikti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> galimybę pasiekti jutiklių duomenis apie gyvybinius ženklus?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jutiklių duomenis apie gyvybinių funkcijų rodiklius jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jutiklių duomenis apie gyvybinių funkcijų rodiklius įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ši programa nori pasiekti jutiklių duomenis apie jūsų gyvybinių funkcijų rodiklius visą laiką, net kai programos nenaudojate. Kad atliktumėte šį pakeitimą, "<annotation id="link">"eikite į skiltį „Nustatymai“."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Suteikti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> galimybę pasiekti jutiklių duomenis apie gyvybinių funkcijų rodiklius?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jutiklių duomenis apie gyvybinių funkcijų rodiklius jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti jutiklių duomenis apie gyvybinių funkcijų rodiklius įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Jei norite leisti šiai programai pasiekti kūno jutiklių duomenis visą laiką, net kai nenaudojate programos, "<annotation id="link">"eikite į „Nustatymų“ skiltį"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Toliau leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kūno jutiklių duomenis, kai programa naudojama?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Toliau leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kūno jutiklių duomenis jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>, kai programa naudojama?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Toliau leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pasiekti kūno jutiklių duomenis įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, kol naudojama programa?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti jums pranešimus?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Leisti <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti jums pranešimus jūsų <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Leisti programai <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> siųsti jums pranešimus įrenginyje <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Valdomi leidimai"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ gali pasiekti vietovę"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Jūsų organizacija leidžia programai „<xliff:g id="APP_NAME">%1$s</xliff:g>“ pasiekti jūsų vietovę"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nėra"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Pastarosios\n24 val."</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Pastarosios\n7 dienos"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> proc."</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ apsaugota „Android“. Kadangi duomenys apdorojami šiame įrenginyje, šios programos leidimo naudojimas nerodomas būsenos juostoje ar privatumo informacijos suvestinėje."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ apsaugota „Android“. Kadangi duomenys apdorojami šiame įrenginyje, šios programos leidimo naudojimas nerodomas privatumo informacijos suvestinėje."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Įrenginio vaizdo kamera užblokuota"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Programos ir paslaugos"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofono duomenys vis tiek gali būti bendrinami, skambinant pagalbos numeriu."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Pakeisti"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Prieiga prie vaizdo kameros išjungta"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Skirta informacinės pramoginės sistemos programoms"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Skirta būtinoms programoms"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ši programa yra būtina"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Šios programos reikalauja automobilio gamintojas"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sauga ir privatumas"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Nuskaityti įrenginį"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Atsisakyti"</string> @@ -638,7 +654,7 @@ <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Ši programa nurodė, kad gali bendrinti vietovės duomenis su trečiosiomis šalimis"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Duomenų bendrinimo atnaujinimai pagal vietovę"</string> <string name="data_sharing_updates_summary" msgid="764113985772233889">"Peržiūrėkite programas, kuriose pakeisti vietovės duomenų bendrinimo metodai"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Šiose programose pakeisti vietovės duomenų bendrinimo metodai Gali būti, kad anksčiau jie nebuvo bendrinami, arba dabar jie gali būti bendrinami reklamavimo ar rinkodaros tikslais."</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Šiose programose pakeisti vietovės duomenų bendrinimo metodai. Gali būti, kad anksčiau jie nebuvo bendrinami, arba dabar jie gali būti bendrinami reklamavimo ar rinkodaros tikslais."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Šių programų kūrėjai pateikė informacijos apie savo duomenų bendrinimo praktikos metodus programų parduotuvėje. Jie gali ją atnaujinti per laiką.\n\nDuomenų bendrinimo praktikos metodai gali skirtis atsižvelgiant į programos versiją, naudojimą, regioną ir amžių."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Sužinokite apie duomenų bendrinimą"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Jūsų vietovės duomenys dabar bendrinami su trečiosiomis šalimis"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Duomenų bendrinimo naujiniai"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Kai kuriose programose pakeisti vietovės duomenų bendrinimo metodai"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Nustatymai"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Pasiekta <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Pasiekta vakar <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Pasiekta <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jūsų vienkartinis slaptažodis yra 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Apribotas nustatymas"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Šis nustatymas šiuo metu nepasiekiamas dėl jūsų saugumo."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Programai prieiga nesuteikta:<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Programa pateikė leidimo pasiekti neskelbtiną informaciją, dėl kurio gali kilti pavojus jūsų asmens ir finansinei informacijai, užklausą.<xliff:g id="ID_1"><br><br></xliff:g>Gali būti, kad be šio apriboto leidimo programa neveiks tinkamai. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Sužinokite, kaip suteikti prieigą</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Programai nesuteikta prieiga kaip numatytojo šio vaidmens: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Programa pateikė leidimo pasiekti neskelbtiną informaciją, dėl kurio gali kilti pavojus jūsų asmens ir finansinei informacijai, užklausą.<xliff:g id="ID_1"><br><br></xliff:g>Gali būti, kad be šių apribotų leidimų programa neveiks tinkamai. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Sužinokite, kaip suteikti prieigą</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Programai prieiga nesuteikta"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Prieiga prie šio leidimo gali kelti pavojų jūsų asmens ir finansinei informacijai.<xliff:g id="ID_1"><br><br></xliff:g>Gali būti, kad be šio apriboto leidimo programa neveiks tinkamai. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Sužinokite, kaip suteikti prieigą</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Sužinokite daugiau"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Gerai"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Leidimo užklausa atmesta"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ši programa prašo papildomų leidimų, bet jų negalima suteikti per srautinio perdavimo seansą. Leidimą pirmiausia suteikite telefone."</string> </resources> diff --git a/PermissionController/res/values-lv-v34/strings.xml b/PermissionController/res/values-lv-v34/strings.xml index 3c99e3275..649416a32 100644 --- a/PermissionController/res/values-lv-v34/strings.xml +++ b/PermissionController/res/values-lv-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Pārvaldiet lietotņu piekļuvi veselības datiem."</string> <string name="location_settings" msgid="8863940440881290182">"Piekļuve atrašanās vietai"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Lietotnēm un pakalpojumiem. Ja šis iestatījums ir izslēgts, mikrofona dati joprojām var tikt kopīgoti, kad zvanīsiet uz ārkārtas numuru."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Lietotnēm un pakalpojumiem"</string> </resources> diff --git a/PermissionController/res/values-lv-watch/strings.xml b/PermissionController/res/values-lv-watch/strings.xml index 7ee4ab980..b3ca497f6 100644 --- a/PermissionController/res/values-lv-watch/strings.xml +++ b/PermissionController/res/values-lv-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nevar mainīt"</string> <string name="generic_yes" msgid="2489207724988649846">"Jā"</string> <string name="generic_cancel" msgid="2631708607129269698">"Atcelt"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Vienmēr"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Izmantojot lietotni"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Vienmēr"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Izmantojot lietotni"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Vienmēr"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Izmantojot lietotni"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Vienmēr"</string> </resources> diff --git a/PermissionController/res/values-lv/strings.xml b/PermissionController/res/values-lv/strings.xml index 10b79f45d..eeccc29fc 100644 --- a/PermissionController/res/values-lv/strings.xml +++ b/PermissionController/res/values-lv/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Visas atļaujas"</string> <string name="other_permissions" msgid="2901186127193849594">"Citas lietotnes atļaujas"</string> <string name="permission_request_title" msgid="8790310151025020126">"Atļaujas pieprasījums"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ierīcē netiek atbalstīta instalēšana/atinstalēšana"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Izvēlieties, kādas piekļuves atļaujas piešķirt lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Lietotne <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ir atjaunināta. Izvēlieties, kādas piekļuves atļaujas tai piešķirt."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Atcelt"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Vienmēr atļaut visu"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Vaicāt katru reizi"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Neatļaut"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Precīza atrašanās vieta"</string> <string name="approximate_image_description" msgid="938803699637069884">"Aptuvena atrašanās vieta"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Izmantot precīzu atrašanās vietu"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Ja precīzās atrašanās vietas noteikšana ir izslēgta, lietotnes var piekļūt jūsu aptuvenajai atrašanās vietai."</string> <string name="app_permission_title" msgid="2090897901051370711">"Atļauja: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: šīs lietotnes piekļuve"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Šai lietotnei ir piešķirta piekļuves atļauja “<xliff:g id="PERM">%1$s</xliff:g>” šajā ierīcē: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Skatīt visas lietotnei <xliff:g id="APP">%1$s</xliff:g> piešķirtās atļaujas"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Skatīt visas lietotnes, kam ir šī atļauja"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Rādīt Asistenta mikrofona lietojumu"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Noņemt atļaujas, ja lietotne netiek izmantota"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Noņemt atļaujas un atbrīvot vietu"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Apturēt lietotni, ja tā netiek izmantota"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Pārvaldīt lietotni, ja tā netiek lietota"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Atsaukt atļaujas, dzēst pagaidu failus un izslēgt paziņojumus"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Noņemt atļaujas, dzēst pagaidu failus, apturēt paziņojumus un arhivēt lietotni"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Ja lietotni dažus mēnešus neizmantosiet, tai tiks noņemtas tālāk norādītās atļaujas, lai aizsargātu jūsu datus."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ja lietotni dažus mēnešus neizmantosiet, tai tiks noņemtas tālāk norādītās atļaujas, lai aizsargātu jūsu datus: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Lai aizsargātu jūsu datus, tika atsauktas atļaujas tām lietotnēm, kas nav izmantotas vairākus mēnešus."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Atļauts pārvaldīt visus failus"</string> <string name="ask_header" msgid="2633816846459944376">"Vaicāt katru reizi"</string> <string name="denied_header" msgid="903209608358177654">"Nav atļauts"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"Atļauja <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> šajā ierīcē: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Skatīt citas lietotnes, kas drīkst piekļūt visiem failiem"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 diena}zero{# dienu}one{# diena}other{# dienas}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# stunda}zero{# stundu}one{# stunda}other{# stundas}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Piezīmju lietotne"</string> <string name="role_notes_description" msgid="8496852798616883551">"Lietotnes, kas ļauj ierīcē veikt piezīmes"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"piezīmes"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Noklusējuma maka lietotne"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Maka lietotne"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Maka lietotnēs var glabāt informāciju par kredītkartēm un lojalitātes kartēm, automašīnas šifratslēgas un citu informāciju, kas palīdz veikt dažādu veidu darījumus."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Vai iestatīt lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> kā noklusējuma maka lietotni?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nav nepieciešamas nekādas atļaujas."</string> <string name="request_role_current_default" msgid="738722892438247184">"Pašreizējais noklusējums"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Nejautāt atkārtoti"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Iest. kā noklusējumu"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Citas noklusējuma lietotnes"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Saišu atvēršana"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Noklusējuma iestatījums darbam"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Noklusējums privātajai telpai"</string> <string name="default_app_none" msgid="9084592086808194457">"Nav"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sistēmas noklusējums)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nav lietotņu"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Rādīt asistenta aktivizētāja noteikšanu"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Rādīt ikonu statusa joslā, kad mikrofons tiek izmantots balss palīga aktivizēšanai"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un multivides saturam jūsu ierīcē?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un multivides saturam jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un multivides saturam ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu kontaktpersonām?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt kontaktpersonām jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu kontaktpersonām ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt šīs ierīces atrašanās vietai?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu ierīces (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>) atrašanās vietai?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ierīces <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> atrašanās vietai?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Lietotne varēs piekļūt atrašanās vietai tikai tad, kad izmantosiet šo lietotni"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt šīs ierīces atrašanās vietai?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu ierīces (<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>) atrašanās vietai?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ierīces <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> atrašanās vietai?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Iespējams, šī lietotne vēlēsies piekļūt jūsu atrašanās vietai vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vai mainīt lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļuvi atrašanās vietai?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Vai mainīt atrašanās vietas piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Vai mainīt atrašanās vietas piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Šī lietotne vēlas piekļūt jūsu atrašanās vietai vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Vai atļaut <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> atrast tuvumā esošas ierīces, veidot savienojumus ar tām un noteikt to relatīvo atrašanās vietu?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) atrast tuvumā esošas ierīces, veidot savienojumus ar tām un noteikt to relatīvo atrašanās vietu?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> atrast tuvumā esošas ierīces, veidot savienojumus ar tām un noteikt to relatīvo atrašanās vietu?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Vai atļaut <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> atrast tuvumā esošas ierīces, veidot savienojumus ar tām un noteikt to relatīvo atrašanās vietu? "<annotation id="link">"Varat to atļaut iestatījumos."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Vai mainīt lietotnes <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> piekļuvi atrašanās vietai no aptuvenās uz precīzo?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Vai mainīt lietotnes <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> atrašanās vietas piekļuves atļauju jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) no aptuvenas uz precīzu?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Vai mainīt lietotnes <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> atrašanās vietas piekļuves atļauju ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> no aptuvenas uz precīzu?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt aptuvenai šīs ierīces atrašanās vietai?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu ierīces (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>) aptuvenajai atrašanās vietai?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ierīces <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> aptuvenai atrašanās vietai?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Precīza"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aptuvena"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu kalendāram?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt kalendāram jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu kalendāram ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sūtīt un skatīt īsziņas?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sūtīt un skatīt īsziņas jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sūtīt un skatīt īsziņas ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem, multivides saturam un failiem jūsu ierīcē?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem, multivides saturam un failiem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem, multivides saturam un failiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt <b>foto, video, mūzikai un audio failiem</b> šajā ierīcē?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt <b>foto, video, mūzikai, audio u.c. failiem</b> ierīcē?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt mūzikai un audio failiem šajā ierīcē?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt mūzikai un audio jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt mūzikai un audio ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un video šajā ierīcē?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un video jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fotoattēliem un videoklipiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt citiem fotoattēliem un video šajā ierīcē?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt citiem fotoattēliem un video jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt citiem fotoattēliem un videoklipiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Lietotne varēs ierakstīt audio tikai tad, kad izmantosiet lietotni."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierakstīt audio ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Iespējams, šī lietotne vēlēsies ierakstīt audio vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vai mainīt lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļuvi mikrofonam?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Vai mainīt mikrofona piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Vai mainīt mikrofona piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Šī lietotne vēlas ierakstīt audio vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu fiziskajām aktivitātēm?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fizisko aktivitāšu datiem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt fizisko aktivitāšu datiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt fotoattēlus un ierakstīt videoklipus?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt attēlus un ierakstīt video jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt fotoattēlus un ierakstīt videoklipus ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Lietotne varēs uzņemt attēlus un ierakstīt videoklipus tikai tad, kad izmantosiet lietotni."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt fotoattēlus un ierakstīt videoklipus?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt attēlus un ierakstīt video jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uzņemt fotoattēlus un ierakstīt videoklipus ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Iespējams, šī lietotne vēlēsies uzņemt attēlus un ierakstīt videoklipus vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vai mainīt lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļuvi kamerai?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Vai mainīt kameras piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Vai mainīt kameras piekļuves atļauju lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Šī lietotne vēlas uzņemt attēlus un ierakstīt videoklipus vienmēr, pat ja neizmantojat lietotni. "<annotation id="link">"Atļauju varat piešķirt iestatījumos."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu tālruņa zvanu žurnāliem?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt tālruņa zvanu žurnāliem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt jūsu tālruņa zvanu žurnāliem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> veikt un pārvaldīt tālruņa zvanus?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> veikt un pārvaldīt tālruņa zvanus jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> veikt un pārvaldīt tālruņa zvanus ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt sensoru uztvertajiem veselības rādījumiem?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt sensoru datiem par veselības rādījumiem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt sensoru datiem par veselības rādījumiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Lietotne pieprasa atļauju piekļūt veselības rādījumu sensoru datiem vienmēr, pat ja neizmantojat lietotni. Lai veiktu šīs izmaiņas, "<annotation id="link">"pārejiet uz iestatījumiem"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt veselības rādītāju sensoru datiem?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt sensoru datiem par veselības rādījumiem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt sensoru datiem par veselības rādījumiem ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Lai atļautu šai lietotnei piekļūt ķermeņa sensoru datiem vienmēr (pat tad, kad neizmantojat lietotni), "<annotation id="link">"pārejiet uz iestatījumiem"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Vai joprojām atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ķermeņa sensoru datiem, kad izmantojat lietotni?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Vai joprojām atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ķermeņa sensoru datiem jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>), kad izmantojat lietotni?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vai arī turpmāk atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> piekļūt ierīces <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ķermeņa sensora datiem, kamēr lietotne tiek izmantota?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sūtīt jums paziņojumus?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nosūtīt jums paziņojumus jūsu ierīcē (<b><xliff:g id="DEVICE">%2$s</xliff:g></b>)?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Vai atļaut lietotnei <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sūtīt jums paziņojumus ierīcē <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrolētās atļaujas"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g> ir piekļuve atrašanās vietai"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Jūsu organizācija ļauj lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g> piekļūt jūsu atrašanās vietai."</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nav"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Pēdējās\n24 stundās"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Pēdējo 7 dienu\nlaikā"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>: procentuālā daļa ir <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> aizsargā Android. Tā kā jūsu dati tiek apstrādāti šajā ierīcē, šīs lietotnes atļauju lietojums netiek rādīts statusa joslā vai jūsu konfidencialitātes informācijas panelī."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Lietotni <xliff:g id="APP_NAME">%1$s</xliff:g> aizsargā Android. Tā kā jūsu dati tiek apstrādāti šajā ierīcē, šīs lietotnes atļauju lietojums netiek rādīts jūsu konfidencialitātes informācijas panelī."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Ierīces kamera ir bloķēta"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Lietotnēm un pakalpojumiem"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofona dati joprojām var tikt kopīgoti, kad zvanīsiet uz ārkārtas numuru."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Mainīt"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Piekļuve kamerai ir izslēgta"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Informatīvi izklaidējošās sistēmas lietotnēm"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Nepieciešamajām lietotnēm"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Šī lietotne ir nepieciešama"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Jūsu automašīnas ražotājs ir noteicis šo lietotni kā nepieciešamu"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Drošība un konfidencialitāte"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skenēt ierīci"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Noraidīt"</string> @@ -614,7 +630,7 @@ <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Rādīt paziņojumus par piekļuvi starpliktuvei"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Rādīt ziņojumu, kad lietotnes piekļūst jūsu nokopētajam tekstam, attēliem vai citam saturam"</string> <string name="show_password_title" msgid="2877269286984684659">"Rādīt paroles"</string> - <string name="show_password_summary" msgid="1110166488865981610">"Rakstot tiek īslaicīgi rādītas rakstzīmes"</string> + <string name="show_password_summary" msgid="1110166488865981610">"Rakstot īslaicīgi rādīt rakstzīmes"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"Lietotne norādīja, ka tā var kopīgot atrašanās vietas datus ar trešajām pusēm."</string> <string name="permission_rationale_location_title" msgid="2404797182678793506">"Datu kopīgošana un atrašanās vieta"</string> <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"Datu kopīgošanas informācijas avots"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Datu kopīgošanas atjauninājumi"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Dažās lietotnēs tika mainīti atrašanās vietas datu kopīgošanas veidi."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Iestatījumi"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Pēdējā piekļuves reize: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Pēdējā piekļuves reize vakar: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Pēdējā piekļuves reize: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jūsu vienreizējā parole ir 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ierobežots iestatījums"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Drošības apsvērumu dēļ šis iestatījums pašlaik nav pieejams."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Lietotnes piekļuve atļaujai “<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>” tika liegta"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Lietotne ir pieprasījusi piekļuvi sensitīvai atļaujai, kas var apdraudēt jūsu personas un finanšu informāciju.<xliff:g id="ID_1"><br><br></xliff:g>Iespējams, lietotne nedarbosies pareizi bez šīs ierobežotās atļaujas. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Uzziniet, kā piešķirt piekļuvi.</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Lietotnes piekļuve noklusējuma lomai “<xliff:g id="ROLE_NAME">%1$s</xliff:g>” tika liegta"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Lietotne ir pieprasījusi piekļuvi sensitīvai atļaujai, kas var apdraudēt jūsu personas un finanšu informāciju.<xliff:g id="ID_1"><br><br></xliff:g>Iespējams, lietotne nedarbosies pareizi bez šīm ierobežotajām atļaujām. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Uzziniet, kā piešķirt piekļuvi.</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Lietotnei tika liegta piekļuve"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Piekļuve šai atļaujai var apdraudēt jūsu personas un finanšu informāciju.<xliff:g id="ID_1"><br><br></xliff:g>Iespējams, lietotne nedarbosies pareizi bez šīs ierobežotās atļaujas. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Uzziniet, kā piešķirt piekļuvi.</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Uzzināt vairāk"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Labi"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Atļaujas pieprasījums bloķēts"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Šī lietotne pieprasa papildu atļaujas, taču atļaujas nevar piešķirt straumēšanas sesijā. Vispirms piešķiriet attiecīgo atļauju savā tālrunī."</string> </resources> diff --git a/PermissionController/res/values-mk-v34/strings.xml b/PermissionController/res/values-mk-v34/strings.xml index e8f9afc25..d2a9cc0de 100644 --- a/PermissionController/res/values-mk-v34/strings.xml +++ b/PermissionController/res/values-mk-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Управувајте со пристапот на апликациите до здравствените податоци"</string> <string name="location_settings" msgid="8863940440881290182">"Пристап до локацијата"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"За апликации и услуги. Ако поставкава е исклучена, податоците од микрофонот може сепак да се споделат кога ќе се јавите на број за итни случаи"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"За апликации и услуги"</string> </resources> diff --git a/PermissionController/res/values-mk-watch/strings.xml b/PermissionController/res/values-mk-watch/strings.xml index 5d37a6175..9b39c1ce1 100644 --- a/PermissionController/res/values-mk-watch/strings.xml +++ b/PermissionController/res/values-mk-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Не може да се смени"</string> <string name="generic_yes" msgid="2489207724988649846">"Да"</string> <string name="generic_cancel" msgid="2631708607129269698">"Откажи"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Цело време"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"При користење на аплик."</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Цело време"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"При користење на аплик."</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Цело време"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"При користење на аплик."</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Цело време"</string> </resources> diff --git a/PermissionController/res/values-mk/strings.xml b/PermissionController/res/values-mk/strings.xml index 3270a4ea6..2fb94344b 100644 --- a/PermissionController/res/values-mk/strings.xml +++ b/PermissionController/res/values-mk/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Сите дозволи"</string> <string name="other_permissions" msgid="2901186127193849594">"Други можности на апликацијата"</string> <string name="permission_request_title" msgid="8790310151025020126">"Барање за дозвола"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Дејствата „Инсталирај/деинсталирај“ не се поддржани на Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Изберете до што може да пристапува <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> е ажурирана. Изберете до што може да пристапува апликацијава."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Откажи"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Секогаш дозволувај ги сите"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Прашувај секогаш"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Не дозволувај"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Прецизна локација"</string> <string name="approximate_image_description" msgid="938803699637069884">"Приближна локација"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Користи прецизна локација"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Кога прецизната локација е исклучена, апликациите може да пристапуваат до приближната локација"</string> <string name="app_permission_title" msgid="2090897901051370711">"Дозвола за <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Пристап до <xliff:g id="PERM">%1$s</xliff:g> за апликацијава"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Пристап до <xliff:g id="PERM">%1$s</xliff:g> за апликацијава на <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Прикажи ги сите дозволи за <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Прикажи ги сите апликации со оваа дозвола"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Прикажи го користењето на микрофонот на „Помошникот“"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Отстрани ги дозволите ако апликацијата не се користи"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Отстранувај дозволи и ослободувај простор"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Паузирај некористени апликации"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Управување со апликацијата при некористење"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Отстранува дозволи, брише привремени датотеки и запира известувања"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Отстранува дозволи, брише привремени датотеки, сопира известувања и ја архивира апликацијата"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"За да се заштитат вашите податоци, дозволите за апликацијава ќе се отстранат ако апликацијата не се користи неколку месеци."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ако апликацијата не се користи неколку месеци, заради заштита на податоците, ќе се отстранат следниве дозволи: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"За заштита на податоците, отстранети се дозволите од апликациите што не сте ги користеле неколку месеци."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Со дозвола за управување со сите датотеки"</string> <string name="ask_header" msgid="2633816846459944376">"Прашувај секогаш"</string> <string name="denied_header" msgid="903209608358177654">"Без дозвола"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> на <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Прикажи уште апликации што имаат пристап до сите датотеки"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ден}one{# ден}other{# дена}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# час}one{# час}other{# часа}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Апликација за белешки"</string> <string name="role_notes_description" msgid="8496852798616883551">"Апликации што ви овозможуваат да запишувате белешки на вашиот уред"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"белешки"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Стандардна аплик. за паричник"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Апликација за паричник"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Апликациите за паричник може да ги складираат кредитните и картичките за лојалност, клучевите за автомобилот, како и други работи за олеснување на различните форми на трансакции."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Да се постави <xliff:g id="APP_NAME">%1$s</xliff:g> како стандардна апликација за Wallet?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Не се потребни дозволи"</string> <string name="request_role_current_default" msgid="738722892438247184">"Стандардна апликација сега"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Не прашувај повторно"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Нека биде стандардна"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Повеќе поставки"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"За отворање линкови"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Стандардно за работа"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Стандардно за „Приватен простор“"</string> <string name="default_app_none" msgid="9084592086808194457">"Нема"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Стандардно за системот)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Нема апликации"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Прикажувај го откривањето за активирање на помошникот"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Прикажувај икона во статусната лента кога микрофонот се користи за активирање на гласовниот помошник"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотографии и аудиовизуелни содржини на уредот?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотогр. и аудиовизуелните содржини на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до контактите?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до контактите на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> <string name="permgrouprequest_location" msgid="6990232580121067883">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до локацијата на уредов?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до локацијата на вашиот <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Апликацијата ќе има пристап до локацијата само додека ја користите"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до локацијата на уредов?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до локацијата на вашиот <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Апликацијава можеби ќе сака да пристапува до вашата локација цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во поставките."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Да се промени пристапот до локацијата за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Да се промени пристапот до локацијата за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Апликацијава сака да пристапува до вашата локација цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во поставките."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да наоѓа и да се поврзува со уреди во близина и да ја утврдува нивната релативна положба?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Да се доз. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ги наоѓа, да се поврзува со и да ја утврдува рел. позиција на уредите во близ. на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да наоѓа и да се поврзува со уреди во близина и да ја утврдува нивната релативна положба? "<annotation id="link">"Дозволете во „Поставки“."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Да се промени пристапот до локацијата на <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> од приближна на прецизна?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Да се промени пристапот до локацијата на <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b> од приближна на прецизна?"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до приближната локација на уредов?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до приближната локација на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Прецизна"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Приближна"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до календарот?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до календарот на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да испраќа и прегледува SMS-пораки?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да испраќа и прегледува SMS-пораки на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотографиите, аудиовизуелните содржини и датотеките на уредот?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотогр., аудиовизуел. содржини и датотеките на lt;b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до <b>фотографии, видеа, музика и аудио</b> на уредов?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до <b>фотографии, видеа, музика, аудио и други датотеки</b> на уредов?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до музика и аудиодатотеки на уредов?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до музиката и аудиото на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотографии и видеа на уредов?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до фотографиите и видеата на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до повеќе фотографии и видеа на уредов?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до повеќе фотографии и видеа на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да снима аудио?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да снима аудио на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Апликацијава ќе може да снима аудио само додека ја користите"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да снима аудио?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да снима аудио на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Апликацијава можеби ќе сака да снима аудио цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во „Поставки“."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Да се промени пристапот до микрофонот за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Да се промени пристапот до микрофонот за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Апликацијава сака да снима аудио цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во „Поставки“."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Дозволувате ли <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до вашата физичка активност?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до физичката активност на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да фотографира и да снима видео?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да фотографира и да снима видео на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Апликацијава ќе може да снима слики и видеа само додека ја користите"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да фотографира и да снима видео?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да фотографира и да снима видео на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Апликацијава можеби ќе сака да снима слики и видеа цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во „Поставки“."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Да се промени пристапот до камерата за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Да се промени пристапот за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Апликацијава сака да снима слики и видеа цело време, дури и кога не ја користите. "<annotation id="link">"Дозволете во „Поставки“."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до евиденцијата на повици?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до евиденцијата на повици на телефонот на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да упатува телефонски повици и да управува со нив?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да упатува и да управува со телефонските повици на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до податоците на сензорот за витални знаци?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до податоците од сензорите за виталните знаци на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Апликацијава сака да пристапува до податоците од сензорите за вашите витални знаци цело време, дури и кога не се користи. За да го промените ова, "<annotation id="link">"одете во „Поставки“."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Дали да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до податоците од сензорите за витални знаци?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да пристапува до податоците од сензорите за виталните знаци на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"За да дозволите апликацијава да пристапува до податоци од телесните сензори цело време, дури и кога не ја користите, "<annotation id="link">"одете во „Поставки“."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"И понатаму да се дозволи пристап на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до податоци од телесните сензори додека се користи апликацијата?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Да се продолжи со дозв. прис. на <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> до под. од тел. сенз. на <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дури се користи апл.?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ви испраќа известувања?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Да се дозволи <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> да ви испраќа известувања на вашиот <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"Контролирани дозволи"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> има пристап до локацијата"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Вашата организација дозволува <xliff:g id="APP_NAME">%1$s</xliff:g> да пристапува до вашата локација"</string> @@ -541,6 +578,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ништо"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Минатите\n24 часа"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Изминатите\n7 дена"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>: <xliff:g id="PERCENT">%2$d</xliff:g> процент"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> е заштитена од Android. Бидејќи вашите податоци се обработуваат на уредов, користењето на дозволата на апликацијава не е прикажано на лентата за статус или вашата контролна табла за приватност."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> е заштитена од Android. Бидејќи вашите податоци се обработуваат на уредов, користењето на дозволата на апликацијава не е прикажано на вашата контролна табла за приватност."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камерата на уредот е блокирана"</string> @@ -549,6 +587,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"За апликации и услуги"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Податоците за микрофонот може сепак да се споделат кога се јавувате на бројот за итни случаи."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Измени"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Пристапот до камерата е исклучен"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"За апликации за информации и забава"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"За задолжителните апликации"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Апликацијава е задолжителна"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Апликацијава ја бара производителот на вашиот автомобил"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Безбедност и приватност"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Скенирај го уредот"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Отфрли"</string> @@ -648,4 +691,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Промени во споделувањето податоци"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Некои апликации го сменија начинот на кој ја споделуваат вашата локација"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Поставки"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Пристапено: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Пристапено вчера: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Пристапено: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Вашата еднократна лозинка е 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ограничена поставка"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"За ваша безбедност, поставкава е недостапна во моментов."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Барањето за пристап на апликацијата до <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> е одбиено"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Апликацијата побара пристап до дозвола за чувствителни податоци што може да ја загрози безбедноста на вашите лични и финансиски податоци.<xliff:g id="ID_1"><br><br></xliff:g>Можно е апликацијата да не функционира правилно без ограниченава дозвола. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Дознајте повеќе како да дозволите пристап</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Барањето на апликацијата да биде стандарднa <xliff:g id="ROLE_NAME">%1$s</xliff:g> е одбиено"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Апликацијата побара пристап до дозволи за чувствителни податоци што може да ја загрози безбедноста на вашите лични и финансиски податоци.<xliff:g id="ID_1"><br><br></xliff:g>Можно е апликацијата да не функционира правилно без ограничениве дозволи. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Дознајте повеќе како да дозволите пристап</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Барањето за пристап на апликацијата е одбиено"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Пристапот до дозволава може да ја загрози безбедноста на вашите лични и финансиски податоци.<xliff:g id="ID_1"><br><br></xliff:g>Можно е апликацијата да не функционира правилно без ограниченава дозвола. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Дознајте повеќе како да дозволите пристап</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Дознајте повеќе"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Во ред"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Барањето за дозвола е потиснато"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Апликацијава бара дополнителни дозволи, но нив не може да ги доделите во сесија за стриминг. Прво доделете ја дозволата на вашиот телефон."</string> </resources> diff --git a/PermissionController/res/values-ml-v34/strings.xml b/PermissionController/res/values-ml-v34/strings.xml index 7f22bbf9c..74e8015ac 100644 --- a/PermissionController/res/values-ml-v34/strings.xml +++ b/PermissionController/res/values-ml-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"നിങ്ങളുടെ ആരോഗ്യം സംബന്ധിച്ച ഡാറ്റയിലേക്കുള്ള ആപ്പ് ആക്സസ് നിയന്ത്രിക്കുക"</string> <string name="location_settings" msgid="8863940440881290182">"ലൊക്കേഷൻ ആക്സസ്"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ആപ്പുകൾക്കും സേവനങ്ങൾക്കും. ഈ ക്രമീകരണം ഓഫാണെങ്കിൽ, നിങ്ങൾ അടിയന്തര നമ്പറിൽ വിളിക്കുമ്പോഴും മൈക്രോഫോൺ ഡാറ്റ തുടർന്നും പങ്കിട്ടേക്കാം"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ആപ്പുകൾക്കും സേവനങ്ങൾക്കും"</string> </resources> diff --git a/PermissionController/res/values-ml-watch/strings.xml b/PermissionController/res/values-ml-watch/strings.xml index 37ef4e919..2851731c9 100644 --- a/PermissionController/res/values-ml-watch/strings.xml +++ b/PermissionController/res/values-ml-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"മാറ്റാനാവില്ല"</string> <string name="generic_yes" msgid="2489207724988649846">"അതെ"</string> <string name="generic_cancel" msgid="2631708607129269698">"റദ്ദാക്കുക"</string> + <string name="permission_access_always" msgid="2107115233573823032">"എപ്പോഴും"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ആപ്പ് ഉപയോഗിക്കുമ്പോൾ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"എപ്പോഴും"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ആപ്പ് ഉപയോഗിക്കുമ്പോൾ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"എപ്പോഴും"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ആപ്പ് ഉപയോഗിക്കുമ്പോൾ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"എപ്പോഴും"</string> </resources> diff --git a/PermissionController/res/values-ml/strings.xml b/PermissionController/res/values-ml/strings.xml index 2403dc6d3..85be8749e 100644 --- a/PermissionController/res/values-ml/strings.xml +++ b/PermissionController/res/values-ml/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"എല്ലാ അനുമതികളും"</string> <string name="other_permissions" msgid="2901186127193849594">"മറ്റ് ആപ്പ് ശേഷികൾ"</string> <string name="permission_request_title" msgid="8790310151025020126">"അനുമതി അഭ്യർത്ഥന"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ഇൻസ്റ്റാൾ/അൺഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് Wear-ൽ പിന്തുണയില്ല."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"എന്തൊക്കെ ആക്സസ് ചെയ്യാനാണ് <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കേണ്ടതെന്ന് തിരഞ്ഞെടുക്കുക"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> അപ്ഡേറ്റ് ചെയ്തിരിക്കുന്നു. എന്തൊക്കെ ആക്സസ് ചെയ്യാൻ ഈ ആപ്പിനെ അനുവദിക്കണമെന്ന് തിരഞ്ഞെടുക്കുക."</string> <string name="review_button_cancel" msgid="2191147944056548886">"റദ്ദാക്കുക"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"എപ്പോഴും എല്ലാം അനുവദിക്കുക"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"എപ്പോഴും ചോദിക്കുക"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"അനുവദിക്കരുത്"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"കൃത്യമായ ലൊക്കേഷൻ"</string> <string name="approximate_image_description" msgid="938803699637069884">"ഉപകരണത്തിന്റെ ഏകദേശ ലൊക്കേഷൻ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"കൃത്യമായ ലൊക്കേഷൻ ഉപയോഗിക്കുക"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"കൃത്യമായ ലൊക്കേഷൻ ഓഫാകുമ്പോൾ, ആപ്പുകൾക്ക് നിങ്ങളുടെ ഏകദേശ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാനാകും"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> അനുമതി"</string> <string name="app_permission_header" msgid="2951363137032603806">"ഈ ആപ്പിനുള്ള <xliff:g id="PERM">%1$s</xliff:g> ആക്സസ്"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> എന്നതിലെ ഈ ആപ്പിനുള്ള <xliff:g id="PERM">%1$s</xliff:g> ആക്സസ്"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"എല്ലാ <xliff:g id="APP">%1$s</xliff:g> അനുമതികളും കാണുക"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ഈ അനുമതിയുള്ള എല്ലാ ആപ്പുകളും കാണുക"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"സഹായ മൈക്രോഫോൺ ഉപയോഗം കാണിക്കുക"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ഉപയോഗിക്കാത്ത ആപ്പാണെങ്കിൽ അനുമതികൾ നീക്കം ചെയ്യുക"</string> <string name="unused_apps_label" msgid="2595428768404901064">"അനുമതികൾ നീക്കം ചെയ്ത് ഇടം സൃഷ്ടിക്കുക"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ഉപയോഗിച്ചിട്ടില്ലെങ്കിൽ ആപ്പ് ആക്റ്റിവിറ്റി പോസ് ചെയ്യുക"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ഉപയോഗിക്കാത്തപ്പോൾ ആപ്പ് മാനേജ് ചെയ്യൂ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"അനുമതികൾ നീക്കം ചെയ്യുക, താൽക്കാലിക ഫയലുകൾ ഇല്ലാതാക്കുക, അറിയിപ്പുകൾ നിർത്തുക"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"അനുമതികൾ നീക്കം ചെയ്യുക, താൽക്കാലിക ഫയലുകൾ ഇല്ലാതാക്കുക, അറിയിപ്പുകൾ നിർത്തുക, ആപ്പ് ആർക്കൈവ് ചെയ്യുക"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"മാസങ്ങളായി ഈ ആപ്പ് ഉപയോഗിക്കുന്നില്ലെങ്കിൽ നിങ്ങളുടെ ഡാറ്റ സംരക്ഷിക്കുന്നതിന്, ഈ ആപ്പിനുള്ള അനുമതികൾ നീക്കം ചെയ്യുന്നതായിരിക്കും."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"കുറച്ച് മാസം ആപ്പ് ഉപയോഗിച്ചില്ലെങ്കിൽ, നിങ്ങളുടെ ഡാറ്റ സംരക്ഷിക്കുന്നതിന്, ഇനിപ്പറയുന്ന അനുമതികൾ നീക്കം ചെയ്യുന്നതായിരിക്കും: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"നിങ്ങളുടെ ഡാറ്റ സംരക്ഷിക്കുന്നതിന്, കുറച്ച് മാസങ്ങളായി ഉപയോഗിക്കാത്ത ആപ്പുകളിൽ നിന്ന് അനുമതികൾ നീക്കം ചെയ്തിരിക്കുന്നു."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"എല്ലാ ഫയലുകളും മാനേജ് ചെയ്യാൻ അനുവദിച്ചവ"</string> <string name="ask_header" msgid="2633816846459944376">"എപ്പോഴും ചോദിക്കുക"</string> <string name="denied_header" msgid="903209608358177654">"അനുവദിച്ചിട്ടില്ല"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> എന്നതിലെ <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"എല്ലാ ഫയലുകളും ആക്സസ് ചെയ്യാൻ കഴിയുന്ന കൂടുതൽ ആപ്പുകൾ കാണുക"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{ഒരു ദിവസം}other{# ദിവസം}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# മണിക്കൂർ}other{# മണിക്കൂർ}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"കുറിപ്പ് ആപ്പ്"</string> <string name="role_notes_description" msgid="8496852798616883551">"നിങ്ങളുടെ ഉപകരണത്തിൽ കുറിപ്പുകൾ രേഖപ്പെടുത്താൻ അനുവദിക്കുന്ന ആപ്പുകൾ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"കുറിപ്പുകൾ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ഡിഫോൾട്ട് വാലറ്റ് ആപ്പ്"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet ആപ്പ്"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"വ്യത്യസ്ത തരത്തിലുള്ള ഇടപാടുകളിൽ സഹായിക്കുന്നതിന് Wallet ആപ്പുകൾക്ക് നിങ്ങളുടെ ക്രെഡിറ്റ്, ലോയൽറ്റി കാർഡുകൾ, കാർ കീകൾ, മറ്റ് ഇനങ്ങൾ എന്നിവ സംഭരിക്കാൻ കഴിയും."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>, നിങ്ങളുടെ ഡിഫോൾട്ട് വാലറ്റ് ആപ്പ് ആക്കി സജ്ജീകരിക്കണോ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"അനുമതികളൊന്നും ആവശ്യമില്ല"</string> <string name="request_role_current_default" msgid="738722892438247184">"നിലവിലെ ഡിഫോൾട്ട്"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"വീണ്ടും ആവശ്യപ്പെടരുത്"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ഡിഫോൾട്ടായി സജ്ജമാക്കൂ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"കൂടുതൽ ഡിഫോൾട്ടുകൾ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ലിങ്കുകൾ തുറക്കൽ"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ജോലി ആവശ്യങ്ങൾക്ക് ഡിഫോൾട്ട്"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"സ്വകാര്യ സ്പേസിനായുള്ള ഡിഫോൾട്ട്"</string> <string name="default_app_none" msgid="9084592086808194457">"ഒന്നുമില്ല"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(സിസ്റ്റം ഡിഫോൾട്ട്)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ആപ്പുകൾ ഒന്നുമില്ല"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"അസിസ്റ്റന്റ് ട്രിഗർ കണ്ടെത്തൽ കാണിക്കുക"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ശബ്ദ സഹായം സജീവമാക്കാൻ മൈക്രോഫോൺ ഉപയോഗിക്കുമ്പോൾ സ്റ്റാറ്റസ് ബാറിൽ ഐക്കൺ കാണിക്കുക"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"നിങ്ങളുടെ ഉപകരണത്തിലെ ഫോട്ടോകളും മീഡിയയും ഫയലുകളും ആക്സസ് ചെയ്യാൻ <b> <xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിലെ ഫോട്ടോകളും മീഡിയയും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഫോട്ടോകളും മീഡിയയും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"നിങ്ങളുടെ കോണ്ടാക്റ്റുകള് ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ കോൺടാക്റ്റുകൾ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ കോൺടാക്റ്റുകൾ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ഈ ഉപകരണത്തിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"നിങ്ങളുടെ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കുമ്പോൾ മാത്രമേ അതിന് ലൊക്കേഷൻ ആക്സസ് ലഭിക്കൂ."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ഈ ഉപകരണത്തിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"നിങ്ങളുടെ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും, എല്ലാ സമയത്തും ഈ ആപ്പിന് നിങ്ങളുടെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യേണ്ടതുണ്ട്. "<annotation id="link">"ക്രമീകരണത്തിൽ"</annotation>" അനുവദിക്കുക."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് മാറ്റണോ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനുള്ള ലൊക്കേഷൻ ആക്സസ് മാറ്റണോ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനുള്ള ലൊക്കേഷൻ ആക്സസ് മാറ്റണോ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ആപ്പ് നിങ്ങൾ ഉപയോഗിക്കാത്തപ്പോഴടക്കം, എല്ലാ സമയത്തും ഈ ആപ്പ് നിങ്ങളുടെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നു. "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"സമീപത്തെ ഉപകരണങ്ങൾ കണ്ടെത്താനും കണക്റ്റ് ചെയ്യാനും ആപേക്ഷിക സ്ഥാനം നിർണ്ണയിക്കാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ സമീപ ഉപകരണം കണ്ടെത്താനും കണക്റ്റ് ചെയ്യാനും ആപേക്ഷിക സ്ഥാനം നിർണ്ണയിക്കാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> -നെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ സമീപ ഉപകരണങ്ങളുടെ ആപേക്ഷിക സ്ഥാനം കണ്ടെത്താനും കണക്റ്റ് ചെയ്യാനും നിർണ്ണയിക്കാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"സമീപത്തെ ഉപകരണങ്ങൾ കണ്ടെത്തി കണക്റ്റ് ചെയ്ത് ആപേക്ഷിക സ്ഥാനം നിർണ്ണയിക്കാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ? "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് \'ഏകദേശം\' എന്നതിൽ നിന്ന് \'കൃത്യമായത്\' എന്നതിലേക്ക് മാറ്റണോ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ആപ്പിന്റെ ലൊക്കേഷൻ ആക്സസ്, ഏകദേശം എന്നതിൽ നിന്ന് കൃത്യം എന്നതായി മാറ്റണോ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> എന്നതിന്റെ ലൊക്കേഷൻ ആക്സസ് ഏകദേശം എന്നതിൽ നിന്ന് കൃത്യം എന്നതിലേക്ക് മാറ്റണോ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ഈ ഉപകരണത്തിന്റെ ഏകദേശ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിന്റെ ഏകദേശ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിന്റെ ഏകദേശ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"കൃത്യമായത്"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ഏകദേശം"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"നിങ്ങളുടെ കലണ്ടർ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ കലണ്ടർ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ കലണ്ടർ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"SMS സന്ദേശങ്ങൾ അയയ്ക്കാനും കാണാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ SMS സന്ദേശങ്ങൾ അയയ്ക്കാനും കാണാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ SMS സന്ദേശങ്ങൾ കാണാനും അയയ്ക്കാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"നിങ്ങളുടെ ഉപകരണത്തിലെ ഫോട്ടോകളും മീഡിയയും ഫയലുകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിലെ ഫോട്ടോകളും മീഡിയയും ഫയലുകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഫോട്ടോകളും മീഡിയയും ഫയലുകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ഇതിലെ </b>ഫോട്ടോകൾ, വീഡിയോ, സംഗീതം, ഓഡിയോ</b> എന്നിവ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b>ഫോട്ടോ, വീഡിയോ, സംഗീതം, ഓഡിയോ, മറ്റ് ഫയലുകൾ</b> എന്നിവയിലേക്ക് <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിന് ആക്സസ് നൽകണോ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ഈ ഉപകരണത്തിലെ സംഗീതവും ഓഡിയോയും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ സംഗീതവും ഓഡിയോയും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ സംഗീതവും ഓഡിയോയും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ഈ ഉപകരണത്തിലെ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b> <xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ഈ ഉപകരണത്തിലെ കൂടുതൽ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ കൂടുതൽ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ കൂടുതൽ ഫോട്ടോകളും വീഡിയോകളും ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കുമ്പോൾ മാത്രമേ അതിന് ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ കഴിയൂ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും ഈ ആപ്പിന് എപ്പോഴും ഓഡിയോ റെക്കോർഡ് ചെയ്യേണ്ടതുണ്ട്. "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനുള്ള മൈക്രോഫോൺ ആക്സസ് മാറ്റണോ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനുള്ള മൈക്രോഫോൺ ആക്സസ് മാറ്റണോ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനുള്ള മൈക്രോഫോൺ ആക്സസ് മാറ്റണോ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും ഈ ആപ്പിന് എപ്പോഴും ഓഡിയോ റെക്കോർഡ് ചെയ്യണം. "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ നിങ്ങളുടെ കായിക പ്രവർത്തനം ആക്സസ് ചെയ്യാൻ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ ശാരീരിക ആക്റ്റിവിറ്റി ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ ശാരീരിക ആക്റ്റിവിറ്റി ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"ചിത്രം എടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ചിത്രമെടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ചിത്രങ്ങൾ എടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കുമ്പോൾ മാത്രമേ അതിന് ചിത്രങ്ങളെടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാൻ കഴിയൂ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ചിത്രം എടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ചിത്രമെടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ചിത്രങ്ങൾ എടുക്കാനും വീഡിയോ റെക്കോർഡ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും, ഈ ആപ്പിന് വീഡിയോ റെക്കോർഡ് ചെയ്യുക, ചിത്രമെടുക്കുക എന്നിവ ചെയ്യേണ്ടതുണ്ട്. "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനുള്ള ക്യാമറാ ആക്സസ് മാറ്റണോ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനുള്ള ക്യാമറ ആക്സസ് മാറ്റണോ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനുള്ള ക്യാമറ ആക്സസ് മാറ്റണോ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും, ഈ ആപ്പിന് വീഡിയോ റെക്കോർഡ് ചെയ്യുക, ചിത്രമെടുക്കുക എന്നിവ ചെയ്യണം. "<annotation id="link">"ക്രമീകരണത്തിൽ അനുവദിക്കുക."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"നിങ്ങളുടെ ഫോൺ കോൾ ലോഗുകൾ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ ഫോൺ കോൾ ചരിത്രം ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ ഫോൺ കോൾ ലോഗുകൾ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"ഫോൺ കോളുകൾ ചെയ്യാനും അവ മാനേജ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"നിങ്ങളുടെ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ഫോൺ കോളുകൾ ചെയ്യാനും അവ മാനേജ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ഫോൺ കോളുകൾ ചെയ്യാനും മാനേജ് ചെയ്യാനും <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"നിങ്ങളുടെ പ്രധാന ആരോഗ്യ വിവരങ്ങളുടെ സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ പ്രധാന ആരോഗ്യ വിവര സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ പ്രധാന ആരോഗ്യ വിവര സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ആപ്പ് ഉപയോഗിക്കാത്തപ്പോൾ പോലും, നിങ്ങളുടെ പ്രധാന ആരോഗ്യ വിവര സൂചനകൾ സംബന്ധിച്ച സെൻസർ ഡാറ്റ ഈ ആപ്പിന് എപ്പോഴും ആക്സസ് ചെയ്യേണ്ടി വന്നേക്കാം. ഇത് മാറ്റാൻ, "<annotation id="link">"ക്രമീകരണത്തിലേക്ക് പോകുക"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"നിങ്ങളുടെ പ്രധാന ആരോഗ്യ വിവരങ്ങളുടെ സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ പ്രധാന ആരോഗ്യ വിവര സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങളുടെ ആരോഗ്യ വിവര സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"നിങ്ങൾ ആപ്പ് ഉപയോഗിക്കാത്ത സമയത്ത് ഉൾപ്പെടെ, എല്ലായ്പ്പോഴും ബോഡി സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ ഈ ആപ്പിനെ അനുവദിക്കുന്നതിന് "<annotation id="link">"ക്രമീകരണത്തിലേക്ക് പോകുക."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ആപ്പ് ഉപയോഗിക്കുമ്പോഴും ബോഡി സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കുന്നത് തുടരണോ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ ബോഡി സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കുന്നത് ആപ്പ് ഉപയോഗിക്കുമ്പോഴും തുടരണോ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ ആപ്പ് ഉപയോഗിക്കുമ്പോൾ ബോഡി സെൻസർ ഡാറ്റ ആക്സസ് ചെയ്യാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കുന്നത് തുടരണോ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ആപ്പിനെ അനുവദിക്കണോ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> എന്നതിൽ നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാൻ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> എന്നതിനെ അനുവദിക്കണോ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"നിയന്ത്രിത അനുമതികൾ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> എന്നതിന് ലൊക്കേഷൻ ആക്സസ് ഉണ്ട്"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"നിങ്ങളുടെ ലൊക്കേഷൻ ആക്സസ് ചെയ്യാൻ നിങ്ങളുടെ സ്ഥാപനം <xliff:g id="APP_NAME">%1$s</xliff:g> എന്നതിനെ അനുവദിക്കുന്നു"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ഒന്നുമില്ല"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"കഴിഞ്ഞ\n24 മണിക്കൂർ"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"കഴിഞ്ഞ\n7 ദിവസം"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ശതമാനം"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ആപ്പിന് Android സുരക്ഷയൊരുക്കുന്നു. നിങ്ങളുടെ ഡാറ്റ ഈ ഉപകരണത്തിൽ പ്രോസസ് ചെയ്യുന്നതിനാൽ, ഈ ആപ്പിന്റെ അനുമതി ഉപയോഗം നിങ്ങളുടെ സ്വകാര്യതാ ഡാഷ്ബോർഡിലെ സ്റ്റാറ്റസ് ബാറിൽ കാണിക്കില്ല."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ആപ്പിന് Android സുരക്ഷയൊരുക്കുന്നു. നിങ്ങളുടെ ഡാറ്റ ഈ ഉപകരണത്തിൽ പ്രോസസ് ചെയ്യുന്നതിനാൽ ഈ ആപ്പിന്റെ അനുമതി ഉപയോഗം നിങ്ങളുടെ സ്വകാര്യതാ ഡാഷ്ബോർഡിൽ കാണിക്കില്ല."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ഉപകരണത്തിന്റെ ക്യാമറ ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ആപ്പുകൾക്കും സേവനങ്ങൾക്കും"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"നിങ്ങൾ ഒരു അടിയന്തര നമ്പറിലേക്ക് കോൾ ചെയ്യുമ്പോൾ തുടർന്നും മൈക്രോഫോൺ ഡാറ്റ പങ്കിട്ടേക്കാം."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"മാറ്റുക"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ക്യാമറ ആക്സസ് ഓഫാണ്"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ഇൻഫോറ്റേയിൻമെന്റ് ആപ്പുകൾക്കായി"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ആവശ്യമായ ആപ്പുകൾക്കായി"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ഈ ആപ്പ് ആവശ്യമാണ്"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"കാറിൻ്റെ നിർമ്മാതാവ് ഈ ആപ്പ് ആവശ്യപ്പെടുന്നു"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"സുരക്ഷയും സ്വകാര്യതയും"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ഉപകരണം സ്കാൻ ചെയ്യുക"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ഡിസ്മിസ് ചെയ്യുക"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ഡാറ്റ പങ്കിടുന്നത് സംബന്ധിച്ച അപ്ഡേറ്റുകൾ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"നിങ്ങളുടെ ലൊക്കേഷൻ ഡാറ്റ പങ്കിടുന്ന രീതി ചില ആപ്പുകൾ മാറ്റി"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ക്രമീകരണം"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>-ന് ആക്സസ് ചെയ്തു"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ഇന്നലെ <xliff:g id="TIME_DATE">%1$s</xliff:g>-ന് ആക്സസ് ചെയ്തു"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>-ന് ആക്സസ് ചെയ്തു"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"നിങ്ങളുടെ ഒറ്റത്തവണ പാസ്വേഡ് 132435 ആണ്"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"നിയന്ത്രിത ക്രമീകരണം"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"നിങ്ങളുടെ സുരക്ഷയ്ക്ക്, ഈ ക്രമീകരണം നിലവിൽ ലഭ്യമല്ല."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"ആപ്പിന് <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> എന്നതിലേക്കുള്ള ആക്സസ് നിരസിച്ചു"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ആപ്പ് സെൻസിറ്റീവ് വിവരങ്ങൾക്കുള്ള അനുമതിയിലേക്ക് ആക്സസ് അഭ്യർത്ഥിച്ചു, ഇത് നിങ്ങളുടെ വ്യക്തിപരവും സാമ്പത്തികവുമായ വിവരങ്ങളെ അപകടത്തിലാക്കിയേക്കാം.<xliff:g id="ID_1"><br><br></xliff:g>ഈ നിയന്ത്രിത അനുമതിയില്ലാതെ ആപ്പ് ശരിയായി പ്രവർത്തിച്ചേക്കില്ല. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ആക്സസ് എങ്ങനെ അനുവദിക്കുന്നുവെന്നറിയുക</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ആപ്പിന് ഡിഫോൾട്ട് <xliff:g id="ROLE_NAME">%1$s</xliff:g> ആകാനുള്ള ആക്സസ് നിരസിച്ചു"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ആപ്പ് സെൻസിറ്റീവ് വിവരങ്ങൾക്കുള്ള അനുമതികളിലേക്ക് ആക്സസ് അഭ്യർത്ഥിച്ചു, ഇത് നിങ്ങളുടെ വ്യക്തിപരവും സാമ്പത്തികവുമായ വിവരങ്ങളെ അപകടത്തിലാക്കിയേക്കാം.<xliff:g id="ID_1"><br><br></xliff:g>ഈ നിയന്ത്രിത അനുമതികളില്ലാതെ ആപ്പ് ശരിയായി പ്രവർത്തിച്ചേക്കില്ല. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ആക്സസ് എങ്ങനെ അനുവദിക്കുന്നുവെന്നറിയുക</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ആപ്പിന് ആക്സസ് നിരസിച്ചു"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ഈ അനുമതിയിലേക്കുള്ള ആക്സസ് നിങ്ങളുടെ വ്യക്തിപരവും സാമ്പത്തികവുമായ വിവരങ്ങളെ അപകടത്തിലാക്കിയേക്കാം.<xliff:g id="ID_1"><br><br></xliff:g>ഈ നിയന്ത്രിത അനുമതിയില്ലാതെ ആപ്പ് ശരിയായി പ്രവർത്തിച്ചേക്കില്ല. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ആക്സസ് എങ്ങനെ അനുവദിക്കുന്നുവെന്നറിയുക</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"കൂടുതലറിയുക"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ശരി"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"അനുമതി അഭ്യർത്ഥന കാഴ്ച്ചയിൽ നിന്ന് മറച്ചു"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ഈ ആപ്പ് അധിക അനുമതികൾ അഭ്യർത്ഥിക്കുന്നു, എന്നാൽ സ്ട്രീമിംഗ് സെഷനിടയിൽ അനുമതികൾ നൽകാനാകില്ല. ആദ്യം നിങ്ങളുടെ ഫോണിൽ അനുമതി നൽകുക."</string> </resources> diff --git a/PermissionController/res/values-mn-v34/strings.xml b/PermissionController/res/values-mn-v34/strings.xml index fc5ac1818..d8c3fa504 100644 --- a/PermissionController/res/values-mn-v34/strings.xml +++ b/PermissionController/res/values-mn-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Эрүүл мэндийн өгөгдлийн аппын хандалтыг удирдах"</string> <string name="location_settings" msgid="8863940440881290182">"Байршлын хандалт"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Апп болон үйлчилгээнүүдэд. Энэ тохиргоо унтраалттай тохиолдолд таныг яаралтай тусламжийн утасны дугаар луу залгах үед микрофоны өгөгдлийг хуваалцсан хэвээр байж магадгүй"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Апп болон үйлчилгээнүүдэд"</string> </resources> diff --git a/PermissionController/res/values-mn-watch/strings.xml b/PermissionController/res/values-mn-watch/strings.xml index 689766eda..cf4bdf502 100644 --- a/PermissionController/res/values-mn-watch/strings.xml +++ b/PermissionController/res/values-mn-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Өөрчлөх боломжгүй"</string> <string name="generic_yes" msgid="2489207724988649846">"Тийм"</string> <string name="generic_cancel" msgid="2631708607129269698">"Цуцлах"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Үргэлж"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Аппыг ашиглаж байх үед"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Үргэлж"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Аппыг ашиглаж байх үед"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Үргэлж"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Аппыг ашиглаж байх үед"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Үргэлж"</string> </resources> diff --git a/PermissionController/res/values-mn/strings.xml b/PermissionController/res/values-mn/strings.xml index 8896ef931..552adfa32 100644 --- a/PermissionController/res/values-mn/strings.xml +++ b/PermissionController/res/values-mn/strings.xml @@ -28,7 +28,7 @@ <string name="uninstall_or_disable" msgid="4496612999740858933">"Устгах эсвэл идэвхгүй болгох"</string> <string name="app_not_found_dlg_title" msgid="6029482906093859756">"Апп олдсонгүй"</string> <string name="grant_dialog_button_deny" msgid="88262611492697192">"Бүү зөвшөөр"</string> - <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"Бүү зөвшөөрч, дахин битгий асуу"</string> + <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"Бүү зөвшөөр, дахин бүү асуу"</string> <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"\"Аппыг ашиглаж байх үед\" хэвээр үлдээх"</string> <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"“Зөвхөн энэ удаад зөвшөөрөх”-г хэвээр хадгалах"</string> <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Дэлгэрэнгүй мэдээлэл"</string> @@ -45,7 +45,7 @@ <string name="permission_add_background_warning_template" msgid="1812914855915092273">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <xliff:g id="ACTION">%2$s</xliff:g>-г тогтмол зөвшөөрөх үү?"</string> <string name="allow_permission_foreground_only" msgid="116465816039675404">"Зөвхөн апп ашиглах үед"</string> <string name="allow_permission_always" msgid="5194342531206054051">"Тогтмол"</string> - <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"Бүү зөвшөөрч, дахин битгий асуу"</string> + <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"Бүү зөвшөөр, дахин бүү асуу"</string> <string name="permission_revoked_count" msgid="4785082705441547086">"<xliff:g id="COUNT">%1$d</xliff:g>-г цуцалсан"</string> <string name="permission_revoked_all" msgid="3397649017727222283">"бүгдийг цуцалсан"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"алийг нь ч цуцлаагүй"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Бүх зөвшөөрөл"</string> <string name="other_permissions" msgid="2901186127193849594">"Аппын бусад чадамж"</string> <string name="permission_request_title" msgid="8790310151025020126">"Зөвшөөрлийн хүсэлт"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Андройд Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear-д суулгах/устгах үйлдлийг дэмждэггүй."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н хандаж болох зүйлсийг сонгоно уу"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-г шинэчилсэн. Энэ аппын хандаж болох зүйлсийг сонгоно уу."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Цуцлах"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Бүгдийг үргэлж зөвшөөрөх"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Тухай бүрд асуух"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Бүү зөвшөөр"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Нарийвчилсан байршил"</string> <string name="approximate_image_description" msgid="938803699637069884">"Барагцаалсан байршил"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Нарийвчилсан байршлыг ашиглах"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Нарийвчилсан байршил унтраалттай үед аппууд таны барагцаалсан байршилд хандах боломжтой"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>-н зөвшөөрөл"</string> <string name="app_permission_header" msgid="2951363137032603806">"Энэ аппын <xliff:g id="PERM">%1$s</xliff:g>-д хандах эрх"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> дээрх энэ аппын <xliff:g id="PERM">%1$s</xliff:g>-д хандах эрх"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g>-н бүх зөвшөөрлийг харах"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Энэ зөвшөөрөлтэй бүх аппыг харах"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Туслах микрофон ашиглалтыг харуулах"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Аппыг ашигладаггүй бол зөвшөөрлийг нь хасах"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Зөвшөөрлийг хасаж, сул зай гаргах"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Ашиглаагүй бол аппын үйл ажиллагааг түр зогсоох"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Хэрэв ашиглаагүй бол аппыг удирдах"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Зөвшөөрлийг хасаж, түр зуурын файлыг устгаж мөн мэдэгдлийг зогсооно"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Зөвшөөрлийг хасаж, түр зуурын файлыг устгаж, мэдэгдлийг зогсоож мөн аппыг архивлана"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Таны өгөгдлийг хамгаалах үүднээс энэ аппыг хэдэн сарын турш ашиглахгүй бол зөвшөөрлийг нь хасах болно."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Таны өгөгдлийг хамгаалах үүднээс аппыг хэдэн сарын турш ашиглахгүй бол дараах зөвшөөрлүүдийг хасах болно: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Таны өгөгдлийг хамгаалах үүднээс таны хэдэн сарын турш ашиглаагүй аппуудын зөвшөөрлийг нь хассан."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Бүх файлыг удирдахыг зөвшөөрсөн"</string> <string name="ask_header" msgid="2633816846459944376">"Тухай бүрд асуух"</string> <string name="denied_header" msgid="903209608358177654">"Зөвшөөрөөгүй"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> дээрх <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Бүх файлд хандах боломжтой бусад аппыг харах"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 өдөр}other{# өдөр}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# цаг}other{# цаг}}"</string> @@ -376,7 +380,7 @@ <string name="role_emergency_request_description" msgid="131645948770262850">"Ямар ч зөвшөөрөл шаардлагагүй"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> <string name="role_home_label" msgid="3871847846649769412">"Нүүр хуудасны өгөгдмөл апп"</string> - <string name="role_home_short_label" msgid="8544733747952272337">"Нүүр хуудасны апп"</string> + <string name="role_home_short_label" msgid="8544733747952272337">"Home апп"</string> <string name="role_home_description" msgid="7997371519626556675">"Таны Android төхөөрөмжийн үндсэн нүүрийг сольдог бөгөөд таны төхөөрөмжийн контент болон онцлогуудад хандах эрх олгодог, ихэвчлэн эхлүүлэгч гэж нэрлэгддэг аппууд"</string> <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г нүүр хуудасны өгөгдмөл аппаар тохируулах уу?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Ямар ч зөвшөөрөл шаардлагагүй"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Тэмдэглэлийн апп"</string> <string name="role_notes_description" msgid="8496852798616883551">"Таныг төхөөрөмж дээрээ тэмдэглэл хөтлөх боломж олгодог аппууд"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"тэмдэглэл"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Өгөгдмөл түрийвчийн апп"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Түрийвчийн апп"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Төрөл бүрийн гүйлгээнд туслахын тулд түрийвчийн аппууд таны кредит ба лояалти карт, машины түлхүүр болон бусад зүйлийг хадгалах боломжтой."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г таны өгөгдмөл түрийвчийн аппаар тохируулах уу?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Ямар ч зөвшөөрөл шаардлагагүй"</string> <string name="request_role_current_default" msgid="738722892438247184">"Одоогийн өгөгдмөл апп"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Дахиж бүү асуу"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Өгөгдмөлөөр тохируулах"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Бусад өгөгдмөл апп"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Холбоосыг нээх сонголт"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Ажлын өгөгдмөл апп"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Хаалттай орон зайн өгөгдмөл"</string> <string name="default_app_none" msgid="9084592086808194457">"Тохируулсан апп алга"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Системийн өгөгдмөл)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Апп алга"</string> @@ -445,7 +455,7 @@ <string name="incident_report_notification_text" msgid="3376480583513587923">"<xliff:g id="APP_NAME">%1$s</xliff:g> алдаа засах мэдээллийг байршуулах хүсэлтэй байна."</string> <string name="incident_report_dialog_title" msgid="669104389325204095">"Дебаг хийх өгөгдлийг хуваалцах уу?"</string> <string name="incident_report_dialog_intro" msgid="5897733669850951832">"Систем асуудал илрүүллээ."</string> - <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> энэ төхөөрөмжөөс <xliff:g id="DATE">%2$s</xliff:g>-н <xliff:g id="TIME">%3$s</xliff:g>-д авсан алдааны мэдээг байршуулах хүсэлт тавьж байна. Алдааны мэдээнд таны төхөөрөмжийн талаарх эсвэл хэрэглэгчийн нэр, байршлын өгөгдөл, төхөөрөмжийн таниулбар болон сүлжээний мэдээлэл зэрэг аппуудын бүртгэсэн хувийн мэдээллийг агуулна. Та алдааны мэдээг зөвхөн энэ мэдээллийг хуваалцахдаа итгэлтэй байгаа хүмүүс болон аппуудтай хуваалцана уу. <xliff:g id="APP_NAME_1">%4$s</xliff:g>-д алдааны мэдээг байршуулахыг зөвшөөрөх үү?"</string> + <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> энэ төхөөрөмжөөс <xliff:g id="DATE">%2$s</xliff:g>-н <xliff:g id="TIME">%3$s</xliff:g>-д авсан алдааны мэдээг байршуулах хүсэлт тавьж байна. Алдааны мэдээнд таны төхөөрөмжийн талаарх эсвэл хэрэглэгчийн нэр, байршлын өгөгдөл, төхөөрөмжийн танигч болон сүлжээний мэдээлэл зэрэг аппуудын бүртгэсэн хувийн мэдээллийг агуулна. Та алдааны мэдээг зөвхөн энэ мэдээллийг хуваалцахдаа итгэлтэй байгаа хүмүүс болон аппуудтай хуваалцана уу. <xliff:g id="APP_NAME_1">%4$s</xliff:g>-д алдааны мэдээг байршуулахыг зөвшөөрөх үү?"</string> <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"<xliff:g id="APP_NAME">%1$s</xliff:g>-н алдааны мэдээг боловсруулахад алдаа гарсан тул алдаа засах дэлгэрэнгүй өгөгдлийг хуваалцахаас татгалзлаа. Төвөг удсанд хүлцэл өчье."</string> <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"Зөвшөөрөх"</string> <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Татгалзах"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Туслахын өдөөгч илрүүлэлтийг харуулах"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Дуут туслахыг идэвхжүүлэхийн тулд микрофоныг ашиглах үед статус самбарт дүрс тэмдэг харуулах"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д төхөөрөмжийнхөө зураг болон медиад хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх зураг болон медиад хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх зураг, медиад хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны харилцагчид хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх харилцагчдад хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны харилцагчид хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмжийн байршилд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>-н байршилд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-н байршилд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Та тухайн аппыг ашиглаж байгаа үед энэ нь зөвхөн байршилд хандах эрхтэй болно"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмжийн байршилд хандахыг зөвшөөрөх үү?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>-н байршилд хандахыг зөвшөөрөх үү?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-н байршилд хандахыг зөвшөөрөх үү?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Энэ апп нь таныг апп ашиглаагүй байх үед ч таны байршилд үргэлж хандах хүcэлтэй байж болзошгүй. "<annotation id="link">"Тохиргоо хэсгээс зөвшөөрнө үү."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д зориулж байршлын хандалтыг өөрчлөх үү?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх байршлын хандалтыг өөрчлөх үү?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх байршлын хандалтыг өөрчлөх үү?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Энэ апп нь таныг апп ашиглаагүй байх үед ч таны байршилд үргэлж хандах хүcэлтэй байна. "<annotation id="link">"Тохиргоо хэсгээс зөвшөөрнө үү."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д ойр төхөөрөмжүүдийг илрүүлж, тэдгээрт холбогдож, харгалзах байршлыг нь тодорхойлохыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх ойролцоох төхөөрөмжүүдийн хамааралтай байршлыг олох, үүнд холбогдох болон үүнийг тодорхойлохыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр ойролцоох төхөөрөмжүүдийг олох, тэдгээрт холбогдох болон хамааралтай байршлыг нь тодорхойлохыг зөвшөөрөх үү?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д ойр төхөөрөмжүүдийг илрүүлж, тэдгээрт холбогдож, харгалзах байршлыг нь тодорхойлохыг зөвшөөрөх үү? "<annotation id="link">"Тохиргоо хэсэгт зөвшөөрнө үү."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-н байршлын хандалтыг барагцаалснаас нарийвчилсан болгож өөрчлөх үү?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-н таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх байршлын хандалтыг барагцаалснаас нарийвчилсан болгож өөрчлөх үү?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>-н <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх байршлын хандалтыг барагцаалснаас нарийвчилсан болгож өөрчлөх үү?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмжийн барагцаалсан байршилд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b>-н барагцаалсан байршилд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>-н барагцаалсан байршилд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Нарийвчилсан"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Барагцаалсан"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны календарьт хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх календарьт хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны календарьт хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д SMS мессеж илгээх болон харахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр SMS мессеж илгээх болон харахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр SMS мессеж илгээж, үзэхийг зөвшөөрөх үү?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны төхөөрөмжийн зураг, медиа болон файлд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх зураг, медиа болон файлд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх зураг, медиа, файлд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмж дээрх <b>зураг, видео, хөгжим болон аудионд</b> хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмжийн <b>зураг, видео, хөгжим, аудио, бусад файлд</b> хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмж дээрх хөгжим болон аудионд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх хөгжим болон аудионд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх хөгжим, аудионд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмж дээрх зураг болон видеонд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх зураг болон видеонд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх зураг, видеонд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д энэ төхөөрөмж дээрх бусад зураг болон видеонд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх бусад зураг, видеонд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх илүү олон зураг, видеонд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д аудио бичихийг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр аудио бичихийг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр аудио бичихийг зөвшөөрөх үү?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Энэ апп зөвхөн таныг ашиглаж байх үед л аудио бичих боломжтой болно"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д аудио бичихийг зөвшөөрөх үү?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр аудио бичихийг зөвшөөрөх үү?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр аудио бичихийг зөвшөөрөх үү?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Та аппыг ашиглаагүй үед ч энэ апп үргэлж аудио бичихийг хүсэж болзошгүй. "<annotation id="link">"Тохиргоонд зөвшөөрнө үү."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н микрофоны хандалтыг өөрчлөх үү?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх микрофоны хандалтыг өөрчлөх үү?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх микрофоны хандалтыг өөрчлөх үү?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Та аппыг ашиглаагүй үед ч энэ апп үргэлж аудио бичихийг хүснэ. "<annotation id="link">"Тохиргоонд зөвшөөрнө үү."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны биеийн дасгал хөдөлгөөнд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх биеийн дасгал, хөдөлгөөнд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны биеийн дасгал, хөдөлгөөнд хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д зураг авах, видео бичихийг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр зураг авч, видео бичихийг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр зураг авч, видео бичихийг зөвшөөрөх үү?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Энэ апп зөвхөн таныг ашиглаж байх үед л зураг авж, видео бичих боломжтой болно"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д зураг авах, видео бичихийг зөвшөөрөх үү?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр зураг авч, видео бичихийг зөвшөөрөх үү?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр зураг авч, видео бичихийг зөвшөөрөх үү?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Та аппыг ашиглаагүй үед ч энэ апп үргэлж зураг авж, видео бичихийг хүсэж болзошгүй. "<annotation id="link">"Тохиргоонд зөвшөөрнө үү."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н камерын хандалтыг өөрчлөх үү?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх камерын хандалтыг өөрчлөх үү?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-н <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх камерын хандалтыг өөрчлөх үү?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Та аппыг ашиглаагүй үед ч энэ апп үргэлж зураг авж, видео бичихийг хүснэ. "<annotation id="link">"Тохиргоонд зөвшөөрнө үү."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны утасны дуудлагын жагсаалтад хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх утасны дуудлагын жагсаалтад хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны утасны дуудлагын жагсаалтад хандахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д утасны дуудлага хийх, дуудлага удирдахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр утасны дуудлага хийх болон дуудлагыг удирдахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр утасны дуудлага хийх, удирдахыг зөвшөөрөх үү?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны биеийн ерөнхий байдлын үзүүлэлтүүдийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх биеийн ерөнхий үзүүлэлтийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны биеийн ерөнхий үзүүлэлтийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Аппыг ашиглаагүй үед ч энэ нь таны биеийн ерөнхий байдлын үзүүлэлтүүдийн талаарх мэдрэгчийн өгөгдөлд үргэлж хандахыг хүсэж байна. Энэ өөрчлөлтийг хийхийн тулд "<annotation id="link">"тохиргоо руу очно уу."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны биеийн ерөнхий байдлын үзүүлэлтүүдийн талаарх мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх биеийн ерөнхий үзүүлэлтийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх таны биеийн ерөнхий үзүүлэлтийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Та аппыг ашиглаагүй байсан ч ямар ч үед энэ аппын биеийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх бол "<annotation id="link">"тохиргоо руу очно уу."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Аппыг ашиглаж байх үедээ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-г биеийн мэдрэгчийн өгөгдөлд хандахыг үргэлжлүүлэн зөвшөөрөх үү?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Аппыг ашиглаж байх үед <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээрх биеийн мэдрэгчийн өгөгдөлд хандахыг үргэлжлүүлэн зөвшөөрөх үү?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-г ашиглаж байх үед тус аппад <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээрх биеийн мэдрэгчийн өгөгдөлд хандахыг үргэлжлүүлэн зөвшөөрөх үү?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g>-</b>-д танд мэдэгдэл илгээхийг зөвшөөрөх үү?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д таны <b><xliff:g id="DEVICE">%2$s</xliff:g></b> дээр мэдэгдэл илгээхийг зөвшөөрөх үү?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>-д <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> дээр танд мэдэгдэл илгээхийг зөвшөөрөх үү?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Хяналттай зөвшөөрөл"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> байршилд хандах эрхтэй байна"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Танай байгууллага <xliff:g id="APP_NAME">%1$s</xliff:g>-д байршилд тань хандахыг зөвшөөрдөг"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Хоосон"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Өнгөрсөн\n24 цагт"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Өнгөрсөн\n7 хоног"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> хувь"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь Android-р хамгаалагдсан. Таны өгөгдлийг энэ төхөөрөмж дээр боловсруулдаг тул энэ аппын зөвшөөрлийн ашиглалтыг статус самбар эсвэл таны нууцлалын хяналтын самбарт харуулаагүй."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь Android-р хамгаалагдсан. Таны өгөгдлийг энэ төхөөрөмж дээр боловсруулдаг тул энэ аппын зөвшөөрлийн ашиглалтыг таны нууцлалын хяналтын самбарт харуулаагүй."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Төхөөрөмжийн камерыг блоклосон байна"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Апп болон үйлчилгээнд"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Яаралтай тусламжийн утасны дугаар луу залгах үед микрофоны өгөгдлийг хуваалцсан хэвээр байж болзошгүй."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Өөрчлөх"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Камерын хандалт унтраалттай байна"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Инфотэйнмент аппуудад зориулсан"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Шаардлагатай аппуудад зориулсан"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Энэ апп шаардлагатай"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Энэ аппыг танай машин үйлдвэрлэгчээс шаарддаг"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Аюулгүй байдал ба нууцлал"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Төхөөрөмжийг скан хийх"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Хаах"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Өгөгдөл хуваалцах тухай шинэчлэлт"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Зарим апп таны байршлын өгөгдлийг хуваалцдаг аргаа өөрчилсөн"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Тохиргоо"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>-д хандсан"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Өчигдөр <xliff:g id="TIME_DATE">%1$s</xliff:g>-д хандсан"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>-д хандсан"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Таны нэг удаагийн нууц үг бол 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Хязгаарлагдсан тохиргоо"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Таны аюулгүй байдлын үүднээс энэ тохиргоо одоогоор боломжгүй байна."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Аппад <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>-д хандах эрх олгохоос татгалзсан"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Апп нь таны хувийн болон санхүүгийн мэдээллийг эрсдэлд оруулж болох эмзэг зөвшөөрөлд хандах эрх хүссэн.<xliff:g id="ID_1"><br><br></xliff:g>Энэ хязгаарлагдмал зөвшөөрөлгүйгээр уг апп зохих ёсоор ажиллахгүй байх боломжтой. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Хандах эрхийг хэрхэн зөвшөөрөх талаар мэдэж авах</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Аппад өгөгдмөл <xliff:g id="ROLE_NAME">%1$s</xliff:g> болох эрх олгохоос татгалзсан"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Апп нь таны хувийн болон санхүүгийн мэдээллийг эрсдэлд оруулж болох эмзэг зөвшөөрлүүдэд хандах эрх хүссэн.<xliff:g id="ID_1"><br><br></xliff:g>Эдгээр хязгаарлагдмал зөвшөөрөлгүйгээр уг апп зохих ёсоор ажиллахгүй байх боломжтой. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Хандах эрхийг хэрхэн зөвшөөрөх талаар мэдэж авах</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Аппад хандах эрх олгохоос татгалзсан"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Энэ зөвшөөрөлд хандах эрх нь таны хувийн болон санхүүгийн мэдээллийг эрсдэлд оруулж болно.<xliff:g id="ID_1"><br><br></xliff:g>Энэ хязгаарлагдмал зөвшөөрөлгүйгээр уг апп зохих ёсоор ажиллахгүй байх боломжтой. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Хандах эрхийг хэрхэн зөвшөөрөх талаар мэдэж авах</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Нэмэлт мэдээлэл авах"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ОК"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Зөвшөөрлийн хүсэлтийг зогсоосон"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Энэ апп нэмэлт зөвшөөрөл хүсэж байгаа ч дамжуулалтын харилцан үйлдлийн үеэр зөвшөөрөл олгох боломжгүй. Эхлээд утсан дээрээ зөвшөөрөл олгоно уу."</string> </resources> diff --git a/PermissionController/res/values-mr-v34/strings.xml b/PermissionController/res/values-mr-v34/strings.xml index 8c9152379..e130cff40 100644 --- a/PermissionController/res/values-mr-v34/strings.xml +++ b/PermissionController/res/values-mr-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"आरोग्यविषयक डेटासंबंधित अॅपचा अॅक्सेस व्यवस्थापित करा"</string> <string name="location_settings" msgid="8863940440881290182">"स्थान अॅक्सेस"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ॲप्स आणि सेवांसाठी. हे सेटिंग बंद असल्यास, तुम्ही आणीबाणी नंबरवर कॉल करता, तेव्हा मायक्रोफोन डेटा तरीही शेअर केला जाऊ शकतो"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ॲप्स आणि सेवांसाठी"</string> </resources> diff --git a/PermissionController/res/values-mr-watch/strings.xml b/PermissionController/res/values-mr-watch/strings.xml index 474ea9d82..77d7ee44a 100644 --- a/PermissionController/res/values-mr-watch/strings.xml +++ b/PermissionController/res/values-mr-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"बदलू शकत नाही"</string> <string name="generic_yes" msgid="2489207724988649846">"होय"</string> <string name="generic_cancel" msgid="2631708607129269698">"रद्द करा"</string> + <string name="permission_access_always" msgid="2107115233573823032">"पूर्ण वेळ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"अॅप वापरताना"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"पूर्ण वेळ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"अॅप वापरताना"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"पूर्ण वेळ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"अॅप वापरताना"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"पूर्ण वेळ"</string> </resources> diff --git a/PermissionController/res/values-mr/strings.xml b/PermissionController/res/values-mr/strings.xml index f8757e5cf..cbd85a45b 100644 --- a/PermissionController/res/values-mr/strings.xml +++ b/PermissionController/res/values-mr/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"सर्व परवानग्या"</string> <string name="other_permissions" msgid="2901186127193849594">"अन्य अॅप क्षमता"</string> <string name="permission_request_title" msgid="8790310151025020126">"परवानगीची विनंती"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"इंस्टॉल करा/अनइंस्टॉल करा क्रिया Wear वर सपोर्ट करत नाहीत."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला काय अॅक्सेस करण्याची परवानगी द्यावी ते निवडा"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> अपडेट केले गेले आहे. या ॲपला काय अॅक्सेस करण्याची परवानगी द्यावी ते निवडा."</string> <string name="review_button_cancel" msgid="2191147944056548886">"रद्द करा"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"सर्वांना नेहमी अनुमती द्या"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"प्रत्येक वेळी विचारा"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"अनुमती देऊ नका"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"अचूक स्थान"</string> <string name="approximate_image_description" msgid="938803699637069884">"अंदाजे स्थान"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"अचूक स्थान वापरा"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"अचूक स्थान बंद असते, तेव्हा ॲप्स तुमचे अंदाजे स्थान अॅक्सेस करू शकतात"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> परवानगी"</string> <string name="app_permission_header" msgid="2951363137032603806">"या अॅपसाठी <xliff:g id="PERM">%1$s</xliff:g> अॅक्सेस द्या"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"या अॅपसाठी <xliff:g id="DEVICE_NAME">%2$s</xliff:g> वरील <xliff:g id="PERM">%1$s</xliff:g> चा अॅक्सेस"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"सर्व <xliff:g id="APP">%1$s</xliff:g> परवानग्या पहा"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ही परवानगी असलेली सर्व अॅप्स पहा"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant ने मायक्रोफोनचा केलेला वापर दाखवा"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"अॅप वापरले नसल्यास, परवानग्या काढून टाका"</string> <string name="unused_apps_label" msgid="2595428768404901064">"परवानग्या काढा आणि जागा मोकळी करा"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"न वापरल्यास अॅप अॅक्टिव्हिटी थांबवा"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"वापरले नसल्यास ॲप व्यवस्थापित करा"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"परवानग्या काढून टाका, तात्पुरत्या फाइल हटवा आणि सूचना थांबवा"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"परवानग्या काढून टाका, तात्पुरत्या फाइल हटवा, सूचना थांबवा आणि ॲप संग्रहित करा"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"तुमच्या डेटाचे संरक्षण करण्यासाठी, अॅप काही महिन्यांत वापरले गेले नसल्यास, या अॅपच्या परवानग्या काढल्या जातील."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"तुमच्या डेटाचे संरक्षण करण्यासाठी, अॅप काही महिन्यांत वापरले गेले नसल्यास, पुढील परवानग्या काढल्या जातील: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"तुमच्या डेटाचे संरक्षण करण्यासाठी, तुम्ही काही महिन्यांत न वापरलेल्या ॲप्समधून परवानग्या काढल्या गेल्या आहेत."</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> आणि <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g> परवानग्या काढल्या गेल्या"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> आणि इतर <xliff:g id="NUMBER">%2$s</xliff:g> परवानग्या काढल्या गेल्या"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"न वापरलेली अॅप्स"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"ॲप काही महिन्यांमध्ये वापरले गेले नसल्यास:\n\n• तुमच्या डेटाचे संरक्षण करण्यासाठी परवानग्या काढून टाकल्या जातात\n• बॅटरीची बचत करण्यासाठी सूचना थांबवल्या जातात\n• जागा मोकळी करण्यासाठी तात्पुरत्या फाइल काढून टाकल्या जातात\n\nपरवानग्या आणि सूचना यांना पुन्हा अनुमती देण्यासाठी ॲप उघडा."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"ॲप काही महिन्यांमध्ये वापरले गेले नसल्यास:\n\n• तुमच्या डेटाचे संरक्षण करण्यासाठी परवानग्या काढून टाकल्या जातात\n• बॅटरीची बचत करण्यासाठी नोटिफिकेशन थांबवल्या जातात\n• जागा मोकळी करण्यासाठी तात्पुरत्या फाइल काढून टाकल्या जातात\n\nपरवानग्या आणि नोटिफिकेशन यांना पुन्हा अनुमती देण्यासाठी ॲप उघडा."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"एखादे ॲप एका महिन्यांसाठी वापरले गेले नसल्यास:\n\n• तुमच्या डेटाचे संरक्षण करण्यासाठी परवानग्या काढून टाकल्या जातात\n• जागा मोकळी करण्याकरिता तात्पुरत्या फाइल काढून टाकल्या जातात\n\nपुन्हा परवानग्या देण्यासाठी, ॲप उघडा."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{शेवटचे # महिन्यापूर्वीपेक्षा आधी उघडले}other{शेवटचे # महिन्यांपूर्वीपेक्षा आधी उघडले}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"<xliff:g id="DATE">%s</xliff:g> रोजी ॲप शेवटचे उघडलेले"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"सर्व फाइल व्यवस्थापित करण्यास अनुमती दिली आहे"</string> <string name="ask_header" msgid="2633816846459944376">"प्रत्येक वेळी विचारा"</string> <string name="denied_header" msgid="903209608358177654">"अनुमती नाही"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> वरील <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"सर्व फाइलचा ॲक्सेस असलेली आणखी ॲप्स पहा"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{एक दिवस}other{# दिवस}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# तास}other{# तास}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"टिपांचे अॅप"</string> <string name="role_notes_description" msgid="8496852798616883551">"तुमच्या डिव्हाइसवर तुम्हाला टिपा घेण्याची अनुमती देणारी अॅप्स"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"टिपा"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"डीफॉल्ट वॉलेट अॅप"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"वॉलेट अॅप"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"वॉलेट ॲप्स ही तुमची क्रेडिट आणि लॉयल्टी कार्ड, कार की व विविध प्रकारच्या व्यवहारांमध्ये मदत करण्यासाठी इतर गोष्टी स्टोअर करू शकतात."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे तुमचे डीफॉल्ट वॉलेट ॲप म्हणून सेट करायचे आहे का?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"कोणत्याही परवानगीची आवश्यकता नाही"</string> <string name="request_role_current_default" msgid="738722892438247184">"सद्य डीफॉल्ट"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"पुन्हा विचारू नका"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"डीफॉल्ट सेट करा"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"आणखी डीफॉल्ट"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"उघडणार्या लिंक"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"कार्यासाठी डीफॉल्ट"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"खाजगी स्पेससाठी डीफॉल्ट"</string> <string name="default_app_none" msgid="9084592086808194457">"काहीही नाही"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(सिस्टम डीफॉल्ट)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"अॅप्स नाहीत"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"असिस्टंट ट्रिगर डिटेक्शन दाखवा"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"व्हॉइस असिस्टंट अॅक्टिव्हेट करण्यासाठी मायक्रोफोन वापरला जाईल तेव्हा स्टेटस बारमध्ये आयकन दाखवा"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या डिव्हाइसवरील फोटो आणि मीडिया अॅक्सेस करू द्यायचा?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोटो आणि मीडिया अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोटो आणि मीडिया अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे संपर्क अॅक्सेस करू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर तुमचे संपर्क अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमचे संपर्क अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसचे स्थान ॲक्सेस करू द्यायचे आहे का?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> चे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> चे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"तुम्ही अॅप वापरत असताना अॅपला फक्त स्थानाचा अॅक्सेस असेल"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसचे स्थान ॲक्सेस करू द्यायचे आहे का?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> चे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> चे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"तुम्ही अॅप वापरत नसतानादेखील कदाचित या ॲपला नेहमी तुमचे स्थान ॲक्सेस करायचे आहे."<annotation id="link">"सेटिंग्जमधून अनुमती द्या."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा स्थान ॲक्सेस बदलायचा आहे का?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा स्थान अॅक्सेस बदलायचा आहे का?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा स्थान अॅक्सेस बदलायचा आहे का?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"तुम्ही अॅप वापरत नसतानादेखील या ॲपला नेहमी तुमचे स्थान ॲक्सेस करायचे आहे. "<annotation id="link">"सेटिंग्जमधून अनुमती द्या."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला जवळील डिव्हाइस शोधण्याची, त्यांच्याशी कनेक्ट व त्यांचे संबंधित स्थान निर्धारित करण्याची अनुमती द्यायची का?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर जवळची डिव्हाइस शोधू, त्यांच्याशी कनेक्ट करू व त्यांचे संबंधित स्थान ठरवू द्यायचे?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर जवळची डिव्हाइस शोधणे, त्यांच्याशी कनेक्ट करणे आणि त्यांचे संबंधित स्थान निर्धारित करणे हे करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला जवळील डिव्हाइस शोधण्याची, त्यांच्याशी कनेक्ट व त्यांचे संबंधित स्थान निर्धारित करण्याची अनुमती द्यायची का? "<annotation id="link">"सेटिंग्जमध्ये अनुमती द्या."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> च्या स्थानाचा अॅक्सेस अंदाजेवरून अचूकवर बदलायचा आहे का?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> च्या स्थानाचा अॅक्सेस अंदाजे यावरून अचूक यावर बदलायचा आहे का?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> च्या स्थानाचा अॅक्सेस अंदाजे यावरून अचूक यावर बदलायचा आहे का?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसचे अंदाजे स्थान ॲक्सेस करू द्यायचे आहे का?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> चे अंदाजे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> चे अंदाजे स्थान अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"अचूक"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"अंदाजे"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे कॅलेंडर अॅक्सेस करू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर तुमचे कॅलेंडर अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमचे कॅलेंडर अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला एसएमएस पाठवू आणि पाहू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर एसएमएस मेसेज पाठवण्याची आणि पाहण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर एसएमएस मेसेज पाठवण्याची आणि पाहण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या डिव्हाइसवरील फोटो, मीडिया आणि फाइल अॅक्सेस करू द्यायच्या?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोटो, मीडिया आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोटो, मीडिया आणि फाइल अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसवरील <b>फोटो, व्हिडिओ, संगीत आणि ऑडिओ</b> अॅक्सेस करू द्यायचा आहे का?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसवरील <b>फोटो, व्हिडिओ, संगीत, ऑडिओ व इतर फाइल</b> अॅक्सेस करू द्यायच्या?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसवरील संगीत आणि ऑडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर संगीत आणि ऑडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर संगीत आणि ऑडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसवरील फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसवरील अधिक फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर आणखी फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर आणखी फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला ऑडिओ रेकॉर्ड करू द्यायचा?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर ऑडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर ऑडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ॲप फक्त तुम्ही ॲप वापरत असतानाच ऑडिओ रेकॉर्ड करू शकते"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला ऑडिओ रेकॉर्ड करायची अनुमती द्यायची?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर ऑडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर ऑडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"हे ॲप तुम्ही ॲप वापरत नसतानादेखील ऑडिओ नेहमी रेकॉर्ड करू शकते. "<annotation id="link">"सेटिंग्जमध्ये अनुमती द्या."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा मायक्रोफोनचा ॲक्सेस बदलायचा?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा मायक्रोफोन अॅक्सेस बदलायचा आहे का?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा मायक्रोफोन अॅक्सेस बदलायचा आहे का?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"हे ॲप तुम्ही ॲप वापरत नसतानादेखील नेहमी ऑडिओ रेकॉर्ड करू शकते. "<annotation id="link">"सेटिंग्जमध्ये अनुमती द्या."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमची शारीरिक अॅक्टिव्हिटी अॅक्सेस करण्याची अनुमती द्यायची का?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर तुमची शारीरिक अॅक्टिव्हिटी अॅक्सेस करू द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमची शारीरिक अॅक्टिव्हिटी अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला फोटो काढू आणि व्हिडिओ रेकॉर्ड करू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोटो घेण्याची आणि व्हिडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोटो घेण्याची आणि व्हिडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ॲप फक्त तुम्ही ॲप वापरत असतानाच फोटो काढू शकते आणि व्हिडिओ रेकॉर्ड करू शकते"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला फोटो काढायची आणि व्हिडिओ रेकॉर्ड करायची अनुमती द्यायची?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोटो घेण्याची आणि व्हिडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोटो घेण्याची आणि व्हिडिओ रेकॉर्ड करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"हे ॲप तुम्ही ॲप वापरत नसतानादेखील नेहमी फोटो काढू शकते आणि व्हिडिओ रेकॉर्ड करू शकते."<annotation id="link">"सेटिंग्जमध्ये अनुमती द्या."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा कॅमेऱ्याचा अॅक्सेस बदलायचा?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा कॅमेरा अॅक्सेस बदलायचा आहे का?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> चा कॅमेरा अॅक्सेस बदलायचा आहे का?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"हे ॲप तुम्ही ॲप वापरत नसतानादेखील नेहमी फोटो काढू शकते आणि व्हिडिओ रेकॉर्ड करू शकते. "<annotation id="link">"सेटिंग्जमध्ये अनुमती द्या."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे फोन कॉल लॉग अॅक्सेस करण्याची अनुमती द्यायची का?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर तुमच्या फोनचा कॉल लॉग अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमचे फोन कॉल लॉग अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला फोन कॉल करू आणि ते व्यवस्थापित करू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर फोन कॉल करू आणि ते व्यवस्थापित करू द्यायचे आहेत का?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर फोन कॉल करण्याची आणि व्यवस्थापित करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या महत्त्वाच्या लक्षणांविषयीचा सेन्सर डेटा अॅक्सेस करू द्यायचे?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर महत्त्वाच्या परिमाणांचा सेन्सर डेटा अॅक्सेस करू द्यायचा आहे का?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमच्या महत्त्वाच्या लक्षणांबद्दलचा सेन्सर डेटा अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"तुम्ही अॅप वापरत नसतानादेखील या ॲपला तुमच्या महत्त्वाच्या परिमाणांबद्दलचा सेन्सर डेटा पूर्णवेळ ॲक्सेस करायचा आहे. हा बदल करण्यासाठी, "<annotation id="link">" सेटिंग्जवर जा."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या महत्त्वाच्या परिमाणांसंबंधित सेन्सर डेटा अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर महत्त्वाच्या परिमाणांचा सेन्सर डेटा अॅक्सेस करू द्यायचा आहे का?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुमच्या महत्त्वाच्या लक्षणांबद्दलचा सेन्सर डेटा अॅक्सेस करण्याची अनुमती द्यायची आहे का?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"तुम्ही ॲप वापरत नसतानादेखील या ॲपला शरीर सेन्सर डेटा नेहमी अॅक्सेस करू देण्यासाठी, "<annotation id="link">"सेटिंग्जवर जा."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ॲप वापरात असताना <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला शरीर सेन्सर डेटा अॅक्सेस करण्याची अनुमती देणे सुरू ठेवायचे आहे का?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ॲप वापरात असताना <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर महत्त्वाच्या परिमाणांचा सेन्सर डेटा अॅक्सेस करू देणे सुरू ठेवायचे?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"अॅप अजूनही वापरात असताना <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर शरीर सेन्सर डेटा अॅक्सेस करण्याची अनुमती देणे सुरू ठेवायचे आहे का?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुम्हाला सूचना पाठवू द्यायचे का?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या <b><xliff:g id="DEVICE">%2$s</xliff:g></b> वर सूचना पाठवण्याची अनुमती द्यायची आहे का?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> वर तुम्हाला नोटिफिकेशन पाठवण्याची अनुमती द्यायची आहे का?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"नियंत्रित परवानग्या"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> कडे स्थान अॅक्सेस आहे"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"तुमची संस्था <xliff:g id="APP_NAME">%1$s</xliff:g> ला तुमचे स्थान अॅक्सेस करण्याची अनुमती देते"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"कोणतेही नाही"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"मागील\n२४ तास"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"मागील\nसात दिवसातील"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> टक्के"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे Android द्वारे सुरक्षित आहे. तुमच्या या डिव्हाइसवरील डेटावर प्रक्रिया केली जात असल्यामुळे या अॅपच्या परवानगीचा वापर तुमच्या गोपनीयता डॅशबोर्डवरील स्टेटस बारवर दाखवण्यात आलेला नाही."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे Android द्वारे सुरक्षित आहे. तुमच्या या डिव्हाइसवरील डेटावर प्रक्रिया केली जात असल्यामुळे या अॅपच्या परवानगीचा वापर तुमच्या गोपनीयता डॅशबोर्डवर दाखवण्यात आलेला नाही."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"डिव्हाइसचा कॅमेरा ब्लॉक केला आहे"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ॲप्स आणि सेवांसाठी"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"तुम्ही आणीबाणी नंबरवर कॉल करता तेव्हा, मायक्रोफोन डेटा तरीही कदाचित शेअर केला जाईल."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"बदला"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"कॅमेराचा ॲक्सेस बंद आहे"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"इन्फोटेनमेंट ॲप्ससाठी"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"आवश्यक अॅप्ससाठी"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"हे ॲप आवश्यक आहे"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"हे ॲप तुमच्या कारच्या निर्मात्यासाठी आवश्यक आहे"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"सुरक्षा आणि गोपनीयता"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"डिव्हाइस स्कॅन करा"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"डिसमिस करा"</string> @@ -581,7 +597,7 @@ <string name="recent_app_usage_1_qs" msgid="261450184773310741">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g>) द्वारे अलीकडे वापरले गेले"</string> <string name="active_app_usage_2_qs" msgid="6107866785243565283">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g> • <xliff:g id="PROXY_LABEL">%3$s</xliff:g>) द्वारे वापरले जात आहे"</string> <string name="recent_app_usage_2_qs" msgid="3591205954235694403">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g> • <xliff:g id="PROXY_LABEL">%3$s</xliff:g>) द्वारे अलीकडे वापरले गेले"</string> - <string name="media_confirm_dialog_positive_button" msgid="9020793594051526399">"कंफर्म करा"</string> + <string name="media_confirm_dialog_positive_button" msgid="9020793594051526399">"कन्फर्म करा"</string> <string name="media_confirm_dialog_negative_button" msgid="226987376924861785">"मागे जा"</string> <string name="media_confirm_dialog_title_a_to_p_aural_allow" msgid="8560601114044699903">"इतर फाइलच्या अॅक्सेसलादेखील अनुमती दिली जाईल"</string> <string name="media_confirm_dialog_title_a_to_p_aural_deny" msgid="7841428716317307685">"इतर फाइलच्या अॅक्सेसलादेखील अनुमती दिली जाणार नाही"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"डेटा शेअरिंगचे अपडेट"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"काही अॅप्सनी तुमचा स्थान डेटा शेअर करण्याची त्यांची पद्धत बदलली"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"सेटिंग्ज"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> वाजता ॲक्सेस केले"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"काल <xliff:g id="TIME_DATE">%1$s</xliff:g> वाजता ॲक्सेस केले"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> ला <xliff:g id="TIME_DATE_1">%2$s</xliff:g> वाजता ॲक्सेस केले"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"तुमचा वन टाइम पासवर्ड १३२४३५ हा आहे"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"प्रतिबंधित सेटिंग"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"तुमच्या सुरक्षेसाठी, हे सेटिंग सध्या उपलब्ध नाही."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"अॅपचा <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> साठीचा अॅक्सेस नाकारला गेला आहे"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ॲपने संवेदनशील परवानगीसाठी अॅक्सेसची विनंती केली आहे, ज्यामुळे तुमची वैयक्तिक आणि आर्थिक माहिती धोक्यात येऊ शकते.<xliff:g id="ID_1"><br><br></xliff:g>या प्रतिबंधित परवानगीशिवाय ॲप कदाचित योग्यरीत्या काम करणार नाही. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अॅक्सेसला अनुमती कशी द्यावी हे जाणून घ्या</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"अॅपचा डीफॉल्ट <xliff:g id="ROLE_NAME">%1$s</xliff:g> असण्यासाठीचा अॅक्सेस नाकारला गेला आहे"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ॲपने संवेदनशील परवानग्यांसाठी अॅक्सेसची विनंती केली आहे, ज्यामुळे तुमची वैयक्तिक आणि आर्थिक माहिती धोक्यात येऊ शकते.<xliff:g id="ID_1"><br><br></xliff:g>या प्रतिबंधित परवानग्यांशिवाय ॲप कदाचित योग्यरीत्या काम करणार नाही. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अॅक्सेसला अनुमती कशी द्यावी हे जाणून घ्या</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"अॅपचा अॅक्सेस नाकारला गेला आहे"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"या परवानगीच्या अॅक्सेसमुळे तुमची वैयक्तिक आणि आर्थिक माहिती धोक्यात येऊ शकते.<xliff:g id="ID_1"><br><br></xliff:g>या प्रतिबंधित परवानगीशिवाय ॲप कदाचित योग्यरित्या काम करणार नाही. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अॅक्सेसला अनुमती कशी द्यावी हे जाणून घ्या</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"अधिक जाणून घ्या"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ओके"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"परवानगी मागणारी विनंती सप्रेस केली आहे"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"हे ॲप अतिरिक्त परवानग्यांची विनंती करत आहे, पण स्ट्रीमिंग सेशनदरम्यान परवानग्या दिल्या जाऊ शकत नाहीत. आधी तुमच्या फोनवर परवानगी द्या."</string> </resources> diff --git a/PermissionController/res/values-ms-v34/strings.xml b/PermissionController/res/values-ms-v34/strings.xml index 6fd21c7af..b544d95d0 100644 --- a/PermissionController/res/values-ms-v34/strings.xml +++ b/PermissionController/res/values-ms-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Urus akses apl kepada data kesihatan"</string> <string name="location_settings" msgid="8863940440881290182">"Akses lokasi"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Untuk apl dan perkhidmatan. Jika tetapan ini dimatikan, data mikrofon mungkin masih dikongsi apabila anda memanggil nombor kecemasan"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Untuk apl dan perkhidmatan"</string> </resources> diff --git a/PermissionController/res/values-ms-watch/strings.xml b/PermissionController/res/values-ms-watch/strings.xml index f762231d0..9791f6df8 100644 --- a/PermissionController/res/values-ms-watch/strings.xml +++ b/PermissionController/res/values-ms-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Tidak dpt diubah"</string> <string name="generic_yes" msgid="2489207724988649846">"Ya"</string> <string name="generic_cancel" msgid="2631708607129269698">"Batal"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Sepanjang masa"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Semasa menggunakan apl"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Sepanjang masa"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Semasa menggunakan apl"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Sepanjang masa"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Semasa menggunakan apl"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Sepanjang masa"</string> </resources> diff --git a/PermissionController/res/values-ms/strings.xml b/PermissionController/res/values-ms/strings.xml index a2e48b2bd..001b2b432 100644 --- a/PermissionController/res/values-ms/strings.xml +++ b/PermissionController/res/values-ms/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Semua kebenaran"</string> <string name="other_permissions" msgid="2901186127193849594">"Keupayaan apl lain"</string> <string name="permission_request_title" msgid="8790310151025020126">"Permintaan kebenaran"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Tindakan pasang/nyahpasang tidak disokong pada Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Pilih perkara yang boleh diakses oleh <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> telah dikemas kini. Pilih perkara yang boleh diakses oleh apl ini."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Batal"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Sentiasa benarkan semua"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Tanya setiap kali"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Jangan benarkan"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Lokasi tepat"</string> <string name="approximate_image_description" msgid="938803699637069884">"Lokasi anggaran"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Gunakan lokasi tepat"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Apabila lokasi tepat dimatikan, apl boleh mengakses lokasi anggaran anda"</string> <string name="app_permission_title" msgid="2090897901051370711">"Kebenaran <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Akses <xliff:g id="PERM">%1$s</xliff:g> untuk apl ini"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"akses <xliff:g id="PERM">%1$s</xliff:g> untuk apl ini pada <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Lihat semua kebenaran <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Lihat semua apl dengan kebenaran ini"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Tunjukkan penggunaan mikrofon pembantu"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Alih keluar kebenaran jika apl tidak digunakan"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Alih keluar kebenaran dan kosongkan ruang"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Jeda aktiviti apl jika tidak digunakan"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Urus apl jika tidak digunakan"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Alih keluar kebenaran, padamkan fail sementara dan hentikan pemberitahuan"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Alih keluar kebenaran, padamkan fail sementara, hentikan pemberitahuan dan arkibkan apl tersebut"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Untuk melindungi data anda, kebenaran apl ini akan dialih keluar jika apl tidak digunakan selama beberapa bulan."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Untuk melindungi data anda, jika apl tidak digunakan selama beberapa bulan, kebenaran berikut akan dialih keluar: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Untuk melindungi data anda, kebenaran telah dialih keluar daripada apl yang tidak anda gunakan selama beberapa bulan."</string> @@ -249,11 +252,12 @@ <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Ditolak / Tidak pernah mengakses"</string> <string name="allowed_header" msgid="7769277978004790414">"Dibenarkan"</string> <string name="allowed_always_header" msgid="6455903312589013545">"Dibenarkan sepanjang masa"</string> - <string name="allowed_foreground_header" msgid="6845655788447833353">"Dibenarkan hanya semasa dalam penggunaan"</string> + <string name="allowed_foreground_header" msgid="6845655788447833353">"Dibenarkan hanya semasa digunakan"</string> <string name="allowed_storage_scoped" msgid="5383645873719086975">"Dibenarkan mengakses media sahaja"</string> <string name="allowed_storage_full" msgid="5356699280625693530">"Dibenarkan mengurus semua fail"</string> <string name="ask_header" msgid="2633816846459944376">"Tanya setiap kali"</string> <string name="denied_header" msgid="903209608358177654">"Tidak dibenarkan"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> pada <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Lihat lagi apl yang boleh mengakses semua fail"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 hari}other{# hari}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# jam}other{# jam}}"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> <string name="role_home_label" msgid="3871847846649769412">"Apl skrin utama lalai"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Apl skrin utama"</string> - <string name="role_home_description" msgid="7997371519626556675">"Apl, yang sering dipanggil pelancar, yang menggantikan Skrin Utama pada peranti Android anda dan memberi anda akses kepada kandungan dan ciri peranti anda"</string> + <string name="role_home_description" msgid="7997371519626556675">"Apl, yang sering dipanggil pelancar, yang menggantikan Skrin Utama pada peranti Android dan memberi anda akses kepada kandungan dan ciri peranti anda"</string> <string name="role_home_request_title" msgid="738136983453341081">"Tetapkan <xliff:g id="APP_NAME">%1$s</xliff:g> sebagai apl skrin utama lalai anda?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Kebenaran tidak diperlukan"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"pelancar"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Apl nota"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apl yang membolehkan anda mengambil nota pada peranti anda"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"nota"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Apl dompet lalai"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Apl dompet"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Apl dompet boleh menyimpan kad kredit dan kad kesetiaan, kunci kereta dan item lain untuk memudahkan pelbagai bentuk transaksi."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Tetapkan <xliff:g id="APP_NAME">%1$s</xliff:g> sebagai apl dompet lalai anda?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Kebenaran tidak diperlukan"</string> <string name="request_role_current_default" msgid="738722892438247184">"Lalai semasa"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Jangan tanya lagi"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Tetapkan sbg lalai"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Lagi tetapan lalai"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Membuka pautan"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Lalai untuk kerja"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Lalai untuk ruang privasi"</string> <string name="default_app_none" msgid="9084592086808194457">"Tiada"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Ciri lalai sistem)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Tiada apl"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Tunjukkan pengesanan cetusan pembantu"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Tunjukkan ikon dalam bar status apabila mikrofon digunakan untuk mengaktifkan pembantu suara"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan media pada peranti anda?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan media pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan media pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kenalan anda?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kenalan anda pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kenalan anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi peranti ini?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>s</b> anda?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Apl ini hanya dapat mengakses lokasi semasa anda menggunakan apl tersebut"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi peranti ini?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> anda?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Apl ini mungkin mahu mengakses lokasi anda pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Tukar akses lokasi untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Tukar akses lokasi untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Tukar akses lokasi untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Apl ini mahu mengakses lokasi anda pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> untuk mencari, menyambung kepada dan menentukan penempatan relatif peranti berdekatan?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mencari, menyambung & menentukan kedudukan relatif peranti berdekatan pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menemukan, menyambung kepada & menentukan penempatan relatif peranti berdekatan pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> untuk mencari, menyambung kepada dan menentukan penempatan relatif peranti berdekatan? "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Tukar akses lokasi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> daripada anggaran kepada tepat?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Tukar akses lokasi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda daripada lokasi anggaran kepada lokasi tepat?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Tukar akses lokasi <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> daripada lokasi anggaran kepada lokasi tepat?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi anggaran peranti ini?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi anggaran <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lokasi anggaran <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Tepat"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Anggaran"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kalendar anda?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kalendar anda pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses kalendar anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar dan melihat mesej SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar dan melihat mesej SMS pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar dan melihat mesej SMS pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto, media dan fail pada peranti anda?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto, media dan fail pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto, media dan fail pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses <b>foto, video, muzik dan audio</b> pada peranti ini?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses <b>foto, video, muzik, audio dan fail lain</b> pada peranti ini?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses muzik dan audio pada peranti ini?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses muzik dan audio pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses muzik dan audio pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video pada peranti ini?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses foto dan video pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lebih banyak foto dan video pada peranti ini?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lebih banyak foto dan video pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses lebih banyak foto dan video pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Apl hanya boleh merakam audio semasa anda menggunakan apl tersebut"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> merakam audio pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Apl ini mungkin mahu merakam audio pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Tukar akses mikrofon untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Tukar akses mikrofon untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Tukar akses mikrofon untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Apl ini mahu merakam audio pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses aktiviti fizikal anda?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses aktiviti fizikal anda pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses aktiviti fizikal anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Apl hanya boleh mengambil gambar dan merakam video semasa anda menggunakan apl tersebut"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengambil gambar dan merakam video pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Apl ini mungkin mahu mengambil gambar dan merakam video pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Tukar akses kamera untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Tukar akses kamera untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Tukar akses kamera untuk <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Apl ini mahu mengambil gambar dan merakam video pada sepanjang masa, meskipun apabila anda tidak menggunakan apl itu. "<annotation id="link">"Benarkan dalam tetapan."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses log panggilan telefon anda?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses log panggilan telefon anda pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses log panggilan telefon anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> membuat dan mengurus panggilan telefon?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> membuat dan mengurus panggilan telefon pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> membuat dan mengurus panggilan telefon pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital anda?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Apl ini mahu mengakses data penderia tentang tanda vital anda pada setiap masa, meskipun apabila anda tidak menggunakan apl. Untuk membuat perubahan ini, "<annotation id="link">"pergi ke tetapan."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital anda?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tentang tanda vital anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Untuk membenarkan apl ini mengakses data penderia tubuh pada setiap masa, termasuk apabila anda tidak menggunakan apl, "<annotation id="link">"pergi ke tetapan."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Terus membenarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tubuh semasa apl digunakan?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Terus membenarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tubuh pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda semasa apl digunakan?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Terus membenarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> mengakses data penderia tubuh pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> semasa apl digunakan?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar pemberitahuan kepada anda?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar pemberitahuan kepada anda pada <b><xliff:g id="DEVICE">%2$s</xliff:g></b> anda?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Benarkan <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> menghantar pemberitahuan kepada anda pada <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kebenaran terkawal"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> memiliki akses lokasi"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organisasi anda membenarkan <xliff:g id="APP_NAME">%1$s</xliff:g> untuk mengakses lokasi anda"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Tiada"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 jam\nyang lalu"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 hari\nyang lalu"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> peratus"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Ini ialah <xliff:g id="APP_NAME">%1$s</xliff:g> Protected by Android. Oleh sebab data anda diproses pada peranti ini, penggunaan kebenaran apl ini tidak ditunjukkan pada bar status atau papan pemuka privasi anda."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Ini ialah <xliff:g id="APP_NAME">%1$s</xliff:g> Protected by Android. Oleh sebab data anda diproses pada peranti ini, penggunaan kebenaran apl ini tidak ditunjukkan pada papan pemuka privasi anda."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera peranti disekat"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Untuk apl dan perkhidmatan"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Data mikrofon mungkin masih dikongsi apabila anda memanggil nombor kecemasan."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Tukar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Akses kamera dimatikan"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Untuk apl maklumat hibur"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Untuk apl yang diperlukan"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Apl ini diperlukan"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Apl ini diperlukan oleh pengilang kereta anda"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Keselamatan & privasi"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Imbas peranti"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ketepikan"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Kemaskinian perkongsian data"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Sesetengah apl mengubah cara apl itu boleh berkongsi data lokasi anda"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Tetapan"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Diakses <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Diakses semalam <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Diakses <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Kata laluan sekali guna anda ialah 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Tetapan terhad"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Untuk keselamatan anda, tetapan ini tidak tersedia pada masa ini."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Akses apl kepada <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> telah ditolak"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Apl meminta akses kepada kebenaran sensitif yang boleh mengakibatkan risiko terhadap maklumat peribadi dan kewangan anda.<xliff:g id="ID_1"><br><br></xliff:g>Apl tersebut mungkin tidak dapat berfungsi dengan betul tanpa kebenaran terhad ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ketahui cara membenarkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Akses apl untuk menjadi <xliff:g id="ROLE_NAME">%1$s</xliff:g> secara lalai telah ditolak"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Apl meminta akses kepada kebenaran sensitif yang boleh mengakibatkan risiko terhadap maklumat peribadi dan kewangan anda.<xliff:g id="ID_1"><br><br></xliff:g>Apl tersebut mungkin tidak dapat berfungsi dengan betul tanpa kebenaran terhad ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ketahui cara membenarkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Akses apl telah ditolak"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Akses kepada kebenaran ini b boleh mengakibatkan risiko terhadap maklumat peribadi dan kewangan anda.<xliff:g id="ID_1"><br><br></xliff:g>Apl tersebut mungkin tidak dapat berfungsi dengan betul tanpa kebenaran terhad ini. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ketahui cara membenarkan akses</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Ketahui lebih lanjut"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Permintaan kebenaran disekat"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Apl ini meminta kebenaran tambahan tetapi kebenaran tidak boleh diberikan dalam sesi penstriman. Berikan kebenaran pada telefon anda dahulu."</string> </resources> diff --git a/PermissionController/res/values-my-v34/strings.xml b/PermissionController/res/values-my-v34/strings.xml index 4d4e03401..965a92df2 100644 --- a/PermissionController/res/values-my-v34/strings.xml +++ b/PermissionController/res/values-my-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ကျန်းမာရေးဒေတာအတွက် အက်ပ်သုံးခွင့်ကို စီမံနိုင်သည်"</string> <string name="location_settings" msgid="8863940440881290182">"တည်နေရာသုံးခွင့်"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက်။ ဤဆက်တင်ကို ပိတ်ထားသော်လည်း အရေးပေါ် နံပါတ်ကို သင်ခေါ်ဆိုချိန်တွင် မိုက်ခရိုဖုန်းဒေတာ မျှဝေနိုင်သေးသည်"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက်"</string> </resources> diff --git a/PermissionController/res/values-my-watch/strings.xml b/PermissionController/res/values-my-watch/strings.xml index 6486ae7ff..cd9159fa6 100644 --- a/PermissionController/res/values-my-watch/strings.xml +++ b/PermissionController/res/values-my-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ပြောင်းလဲ မရနိုင်ပါ"</string> <string name="generic_yes" msgid="2489207724988649846">"Yes"</string> <string name="generic_cancel" msgid="2631708607129269698">"မလုပ်တော့"</string> + <string name="permission_access_always" msgid="2107115233573823032">"အချိန်တိုင်း"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"အက်ပ်ကို သုံးနေစဉ်"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"အချိန်တိုင်း"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"အက်ပ်ကို သုံးနေစဉ်"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"အချိန်တိုင်း"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"အက်ပ်ကို သုံးနေစဉ်"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"အချိန်တိုင်း"</string> </resources> diff --git a/PermissionController/res/values-my/strings.xml b/PermissionController/res/values-my/strings.xml index cd68ad6e1..5816c1b5a 100644 --- a/PermissionController/res/values-my/strings.xml +++ b/PermissionController/res/values-my/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ခွင့်ပြုချက် အားလုံး"</string> <string name="other_permissions" msgid="2901186127193849594">"အခြားအက်ပ်၏ စွမ်းရည်များ"</string> <string name="permission_request_title" msgid="8790310151025020126">"ခွင့်ပြုချက် တောင်းခံမှု"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear ပေါ်တွင် ထည့်သွင်းခြင်း/ဖြုတ်ခြင်းများကို ပံ့ပိုးမထားပါ။"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"&It;b7gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&It;/b> က အသုံးပြုခွင့်ရမည့် အရာတို့ကို ရွေးပါ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"&It;b><xliff:g id="APP_NAME">%1$s</xliff:g>&It;/b> ကို အပ်ဒိတ်လုပ်ပြီးပါပြီ။ ဤအက်ပ်က အသုံးပြုခွင့်ရမည့်အရာတို့ကို ရွေးပါ။"</string> <string name="review_button_cancel" msgid="2191147944056548886">"မလုပ်တော့"</string> @@ -126,7 +124,7 @@ <string name="current_permissions_category" msgid="4292990083585728880">"လက်ရှိ ခွင့်ပြုချက်များ"</string> <string name="message_staging" msgid="9110563899955511866">"အက်ပ်ကို ပြင်ဆင်နေသည်…"</string> <string name="app_name_unknown" msgid="1319665005754048952">"အမည်မသိ"</string> - <string name="permission_usage_title" msgid="1568233336351734538">"အချက်အလက်လုံခြုံမှု ဒက်ရှ်ဘုတ်"</string> + <string name="permission_usage_title" msgid="1568233336351734538">"ကိုယ်ရေးဒေတာ ဒက်ရှ်ဘုတ်"</string> <string name="auto_permission_usage_summary" msgid="7335667266743337075">"ခွင့်ပြုချက်များ လတ်တလောသုံးထားသည့် အက်ပ်ကိုကြည့်နိုင်သည်"</string> <string name="permission_group_usage_title" msgid="2595013198075285173">"<xliff:g id="PERMGROUP">%1$s</xliff:g> အသုံးပြုမှု"</string> <string name="perm_usage_adv_info_title" msgid="3357831829538873708">"အခြားခွင့်ပြုချက်များ ကြည့်ပါ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"အားလုံးကို အမြဲခွင့်ပြုရန်"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"အမြဲမေးရန်"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ခွင့်မပြုပါ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"နေရာအတိအကျ"</string> <string name="approximate_image_description" msgid="938803699637069884">"တည်နေရာခန့်မှန်းခြေ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"နေရာအတိအကျကို သုံးခြင်း"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"နေရာအတိအကျကို ပိတ်ထားသည့်အခါ အက်ပ်များက သင်၏တည်နေရာခန့်မှန်းခြေကို သုံးနိုင်သည်"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> ခွင့်ပြုချက်"</string> <string name="app_permission_header" msgid="2951363137032603806">"ဤအက်ပ်အတွက် <xliff:g id="PERM">%1$s</xliff:g> အသုံးပြုခွင့်"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> တွင် ဤအက်ပ်အတွက် <xliff:g id="PERM">%1$s</xliff:g> သုံးခွင့်"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> ခွင့်ပြုချက်အားလုံး ကြည့်ရန်"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ဤခွင့်ပြုချက်ရှိသော အက်ပ်အားလုံးကို ကြည့်ရန်"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant မိုက်ကရိုဖုန်း အသုံးပြုမှုကို ပြပါ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"အက်ပ်ကိုအသုံးမပြုလျှင် ခွင့်ပြုချက်များ ဖယ်ရှားရန်"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ခွင့်ပြုချက်များဖယ်ရှားပြီး နေရာလွတ်ပြုလုပ်ရန်"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"အသုံးမပြုပါက အက်ပ်လုပ်ဆောင်ချက် ခဏရပ်ရန်"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"အသုံးမပြုပါက အက်ပ်ကို စီမံရန်"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ခွင့်ပြုချက် ဖယ်ရှားခြင်း၊ ယာယီဖိုင် ဖျက်ခြင်း၊ အကြောင်းကြားချက် ရပ်ခြင်း"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ခွင့်ပြုချက်များ ဖယ်ရှားခြင်း၊ ယာယီဖိုင်များ ဖျက်ခြင်း၊ အကြောင်းကြားချက်များ ရပ်ခြင်းနှင့် အက်ပ်သိမ်းခြင်းတို့ ပြုလုပ်နိုင်သည်"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"အက်ပ်ကို လအနည်းငယ် အသုံးမပြုပါက သင်၏ဒေတာကိုကာကွယ်ရန် ဤအက်ပ်အတွက် ခွင့်ပြုချက်များကို ဖယ်ရှားပါမည်။"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"အက်ပ်ကို လအနည်းငယ် အသုံးမပြုပါက သင်၏ဒေတာကိုကာကွယ်ရန် အောက်ပါခွင့်ပြုချက်များကို ဖယ်ရှားပါမည်- <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"သင်၏ဒေတာကိုကာကွယ်ရန် လအနည်းငယ်အတွင်း အသုံးမပြုသော အက်ပ်များမှ ခွင့်ပြုချက်များကို ဖယ်ရှားလိုက်သည်။"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ဖိုင်အားလုံးကို စီမံခွင့်ပြုထားသည်"</string> <string name="ask_header" msgid="2633816846459944376">"အမြဲမေးရန်"</string> <string name="denied_header" msgid="903209608358177654">"ခွင့်ပြုမထားပါ"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ရှိ <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ဖိုင်အားလုံးသုံးနိုင်သည့် နောက်ထပ်အက်ပ်များ ကြည့်ရန်"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ရက်}other{# ရက်}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# နာရီ}other{# နာရီ}}"</string> @@ -349,8 +353,8 @@ <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"အများသုံးစွဲနိုင်မှုဆိုင်ရာ အက်ပ် <xliff:g id="NUM_SERVICES">%s</xliff:g> ခုက သင့်စက်ပစ္စည်းကို အပြည့်အဝ အသုံးပြုခွင့်ရှိသည်"</string> <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> သည် သင်၏ မျက်နှာပြင်၊ လုပ်ဆောင်ချက်များ၊ ထည့်သွင်းမှုများကို ကြည့်နိုင်ပြီး လုပ်ဆောင်ချက်များကို ဆောင်ရွက်နိုင်သည့်အပြင် မျက်နှာပြင်သမှုကိုလည်း ထိန်းချုပ်နိုင်သည်။"</string> <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"ဤအက်ပ်များက သင်၏ မျက်နှာပြင်၊ လုပ်ဆောင်ချက်များ၊ ထည့်သွင်းမှုများကို ကြည့်နိုင်ပြီး လုပ်ဆောင်ချက်များကို ဆောင်ရွက်နိုင်သည့်အပြင် မျက်နှာပြင်ပြသမှုကိုလည်း ထိန်းချုပ်နိုင်သည်။"</string> - <string name="role_assistant_label" msgid="4727586018198208128">"မူလဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string> - <string name="role_assistant_short_label" msgid="3369003713187703399">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string> + <string name="role_assistant_label" msgid="4727586018198208128">"မူရင်း ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string> + <string name="role_assistant_short_label" msgid="3369003713187703399">"ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string> <string name="role_assistant_description" msgid="6622458130459922952">"အကူအညီအက်ပ်များသည် သင်ကြည့်နေသည့် မျက်နှာပြင်မှ အချက်အလက်ကို အခြေခံ၍ ပံ့ပိုးပေးနိုင်ပါသည်။ ဘက်စုံ အထောက်အကူပေးနိုင်ရန်အတွက် အချို့အက်ပ်များသည် စဖွင့်စနစ်နှင့် အသံဖြင့်ထည့်သွင်းဝန်ဆောင်မှု နှစ်ခုလုံးကို ပံ့ပိုးပါသည်။"</string> <string name="role_browser_label" msgid="2877796144554070207">"မူရင်း ဘရောင်ဇာအက်ပ်"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ဘရောင်ဇာ အက်ပ်"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"မှတ်စုရေးသောအက်ပ်"</string> <string name="role_notes_description" msgid="8496852798616883551">"စက်ပစ္စည်းတွင် မှတ်စုရေးခွင့်ပြုသော အက်ပ်များ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"မှတ်စုများ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"မူရင်း Wallet အက်ပ်"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet အက်ပ်"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Wallet အက်ပ်များသည် ငွေလွှဲပြောင်းမှု ပုံစံအမျိုးမျိုးအတွက် ကူညီရန် သင်၏ခရက်ဒစ်ကတ်၊ ဖောက်သည်ကတ်များ၊ ကားသော့နှင့် အခြားအရာများကို သိမ်းနိုင်သည်။"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို သင်၏မူရင်း Wallet အက်ပ်အဖြစ် သတ်မှတ်မလား။"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ခွင့်ပြုချက် မလိုပါ"</string> <string name="request_role_current_default" msgid="738722892438247184">"လက်ရှိ မူရင်း"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ထပ်မမေးပါနှင့်"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"မူရင်း သတ်မှတ်ရန်"</string> @@ -428,13 +437,14 @@ <string name="default_apps_more" msgid="4078194675848858093">"နောက်ထပ် မူရင်းများ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"လင့်ခ်များကို ဖွင့်ခြင်း"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"အလုပ်အတွက် မူရင်း"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"သီးသန့်နေရာအတွက် မူလအက်ပ်များ"</string> <string name="default_app_none" msgid="9084592086808194457">"မရှိ"</string> - <string name="default_app_system_default" msgid="6218386768175513760">"(စနစ်မူလ)"</string> + <string name="default_app_system_default" msgid="6218386768175513760">"(စနစ်မူရင်း)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"အက်ပ် မရှိပါ"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"ရွေးထားသည်"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"ရွေးထားသည် - <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> - <string name="special_app_access_search_keyword" msgid="8032347212290774210">"အထူးအက်ပ်များ ဝင်သုံးခွင့်"</string> - <string name="special_app_access" msgid="5019319067120213797">"အထူးအက်ပ်များ သုံးခွင့်ရှိသည်"</string> + <string name="special_app_access_search_keyword" msgid="8032347212290774210">"အက်ပ် အထူးအသုံးပြုခွင့်"</string> + <string name="special_app_access" msgid="5019319067120213797">"အက်ပ် အထူးအသုံးပြုခွင့်"</string> <string name="no_special_app_access" msgid="6950277571805106247">"အထူးအက်ပ်များ သုံးခွင့်မရှိပါ"</string> <string name="special_app_access_no_apps" msgid="4102911722787886970">"အက်ပ် မရှိပါ"</string> <string name="home_missing_work_profile_support" msgid="1756855847669387977">"အလုပ်ပရိုဖိုင်ကို မပံ့ပိုးပါ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"အကူအညီစတင်ရန် သိရှိမှုစနစ်ကို ပြပါ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"အသံအကူအညီ စတင်ရန် မိုက်ခရိုဖုန်းအသုံးပြုသည့်အခါ သင်္ကေတကို အခြေအနေဘားတွင် ပြပါ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့်စက်ပေါ်ရှိ ဓာတ်ပုံနှင့် မီဒီယာဖိုင်များ ဝင်သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ရှိ ဓာတ်ပုံနှင့် မီဒီယာများကို သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ ဓာတ်ပုံ၊ မီဒီယာ သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏အဆက်အသွယ်များကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်အဆက်အသွယ်များ သုံးခွင့်ပြုမလား။"</string> - <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ၏ </b> တည်နေရာ သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ သင့်အဆက်အသွယ်များကို ဝင်ကြည့်ခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးမလား။"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ၏ </b> တည်နေရာ ရယူခွင့်ပြုမလား။"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"အက်ပ်ကိုအသုံးပြုသည့် အချိန်တွင်သာ ၎င်းကတည်နေရာကို အသုံးပြုခွင့်ရပါမည်"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ၏ တည်နေရာသုံးခွင့်ပြုမလား။"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ၏ </b> တည်နေရာ ရယူခွင့်ပြုမလား။"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"သင် အသုံးမပြုနေလျှင်တောင်မှ ဤအက်ပ်က သင့်တည်နေရာကို သုံးခွင့်ရနေပါမည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt တို့အတွက် တည်နေရာ ဝင်ခွင့် ပြောင်းပေးမလား။"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် တည်နေရာ သုံးခွင့်ပြောင်းမလား။"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် တည်နေရာရယူခွင့် ပြောင်းမလား။"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"သင် အသုံးမပြုနေလျှင်တောင်မှ ဤအက်ပ်က သင့်တည်နေရာကို သုံးခွင့်ရလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"အနီးရှိ စက်များ၏ မှန်းခြေနေရာ ရှာရန်၊ ချိတ်ဆက်ရန်နှင့် သတ်မှတ်ရန် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို ခွင့်ပြုမလား။"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် အနီးတစ်ဝိုက်ရှိ စက်များ၏ ဆက်စပ်နေရာကို ရှာရန်၊ ချိတ်ဆက်ရန်နှင့် သတ်မှတ်ရန် ခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် အနီးတစ်ဝိုက်ရှိ စက်များ၏ ဆက်စပ်နေရာကို ရှာရန်၊ ချိတ်ဆက်ရန်နှင့် သတ်မှတ်ရန် ခွင့်ပြုမလား။"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"အနီးရှိ စက်များ၏မှန်းခြေနေရာကို ရှာရန်၊ ချိတ်ဆက်ရန်နှင့် သတ်မှတ်ရန် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ခွင့်ပြုမလား။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ၏ တည်နေရာသုံးခွင့်ကို ခန့်မှန်းခြေမှ အတိအကျသို့ ပြောင်းမလား။"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ၏ တည်နေရာသုံးခွင့်ကို ခန့်မှန်းခြေမှ အတိအကျသို့ ပြောင်းမလား။"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ၏ တည်နေရာရယူခွင့်ကို ခန့်မှန်းခြေမှ အတိအကျသို့ ပြောင်းမလား။"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဤစက်၏ တည်နေရာခန့်မှန်းခြေကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ၏ ခန့်မှန်းခြေတည်နေရာ သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ၏ ခန့်မှန်းခြေတည်နေရာ ရယူခွင့်ပြုမလား။"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"နေရာအတိအကျ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ခန့်မှန်းခြေ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ပြက္ခဒိန်ကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်ပြက္ခဒိန် သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ သင့်ပြက္ခဒိန်ကို သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား SMS မက်ဆေ့ဂျ်များ ကြည့်ရှုခွင့်နှင့် ပို့ခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ရှိ SMS မက်ဆေ့ဂျ်များကို ပို့ခွင့်နှင့် ကြည့်ရှုခွင့်ပေးမလား။"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် SMS မက်ဆေ့ဂျ်များ ပို့ခွင့်၊ ကြည့်ရှုခွင့်ပြုမလား။"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့်ဖုန်းရှိ ဓာတ်ပုံများ၊ မီဒီယာနှင့် ဖိုင်များ ဝင်သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ရှိ ဓာတ်ပုံ၊ မီဒီယာနှင့် ဖိုင်များကို သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ ဓာတ်ပုံများ၊ မီဒီယာ၊ ဖိုင်များ သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ဤစက်ရှိ <b>ဓာတ်ပုံ၊ ဗီဒီယို၊ တေးဂီတနှင့် အသံများ</b> ကို <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သုံးခွင့်ပေးမလား။"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"စက်ရှိ <b>ဓာတ်ပုံ၊ ဗီဒီယို၊ တေးဂီတ၊ အသံနှင့်အခြားဖိုင်များ</b> ကို <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သုံးခွင့်ပေးမလား။"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ဤစက်ရှိ တေးဂီတနှင့် အသံဖိုင်ကို <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သုံးခွင့်ပေးမလား။"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ရှိ တေးဂီတနှင့် အသံဖိုင်ကို သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ တေးဂီတ၊ အသံဖိုင် သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ဤစက်ရှိ ဓာတ်ပုံနှင့် ဗီဒီယိုများကို <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သုံးခွင့်ပေးမလား။"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် ဓာတ်ပုံနှင့် ဗီဒီယိုများကို သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ ဓာတ်ပုံ၊ ဗီဒီယိုများကို သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ဤစက်ရှိ နောက်ထပ်ဓာတ်ပုံနှင့် ဗီဒီယိုများကို <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သုံးခွင့်ပေးမလား။"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် နောက်ထပ်ဓာတ်ပုံနှင့် ဗီဒီယိုများ သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် နောက်ထပ် ဓာတ်ပုံ၊ ဗီဒီယိုများ သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို အသံဖမ်းယူခွင့် ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် အသံဖမ်းယူခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် အသံသွင်းခွင့်ပြုမလား။"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ဤအက်ပ်ကို အသုံးပြုနေသည့် အချိန်တွင်သာ ၎င်းက အသံဖမ်းနိုင်သည်။"</string> - <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို အသံဖမ်းခွင့် ပေးလိုပါသလား။"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့် <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် အသံဖမ်းယူခွင့်ပြုမလား။"</string> + <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို အသံဖမ်းခွင့် ပေးမလား။"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် အသံသွင်းခွင့်ပြုမလား။"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက တစ်ချိန်လုံး အသံဖမ်းယူလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt အတွက် မိုက်ခရိုဖုန်း အသုံးပြုခွင့် ပြောင်းမလား။"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် မိုက်ခရိုဖုန်း သုံးခွင့်ပြောင်းမလား။"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် မိုက်ခရိုဖုန်းသုံးခွင့် ပြောင်းမလား။"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက တစ်ချိန်လုံး အသံဖမ်းလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင့်ကိုယ်ခန္ဓာလှုပ်ရှားမှုကို ဝင်ကြည့်ခွင့် ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်ကိုယ်ခန္ဓာလှုပ်ရှားမှု သုံးခွင့်ပြုမလား။"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် သင့်ကိုယ်ခန္ဓာလှုပ်ရှားမှုကို ဝင်ကြည့်ခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးမလား။"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် ဓာတ်ပုံ၊ ဗီဒီယို ရိုက်ခွင့်ပြုမလား။"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ဤအက်ပ်ကို အသုံးပြုနေသည့် အချိန်တွင်သာ ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို ရိုက်ကူးနိုင်သည်။"</string> - <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးလိုပါသလား။"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့်ပြုမလား။"</string> + <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးမလား။"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် ဓာတ်ပုံ၊ ဗီဒီယို ရိုက်ခွင့်ပြုမလား။"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို တစ်ချိန်လုံး ရိုက်ကူးလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt အတွက် ကင်မရာအသုံးပြုခွင့် ပြောင်းမလား။"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် ကင်မရာ သုံးခွင့်ပြောင်းမလား။"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အတွက် ကင်မရာသုံးခွင့် ပြောင်းမလား။"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို တစ်ချိန်လုံး ရိုက်ကူးလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ခေါ်ဆိုထားသော မှတ်တမ်းများကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်ဖုန်းခေါ်ဆိုမှတ်တမ်း သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ သင့်ဖုန်းခေါ်ဆိုမှတ်တမ်းများကို သုံးခွင့်ပြုမလား။"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်ခွင့်နှင့် စီမံခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် ဖုန်းခေါ်ဆိုခွင့်နှင့် စီမံခွင့်ပေးမလား။"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို to <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်၊ စီမံခွင့်ပြုမလား။"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ အရေးကြီးသော ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံကိရိယာဒေတာ သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်အဓိကကိုယ်တွင်းအင်္ဂါအခြေအနေ လက္ခဏာများနှင့်ပတ်သက်သည့် အာရုံခံစနစ်ဒေတာ သုံးခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ သင့်အဓိကကိုယ်တွင်းအင်္ဂါအခြေအနေ လက္ခဏာများနှင့်ပတ်သက်သည့် အာရုံခံစနစ် ဒေတာကို သုံးခွင့်ပြုမလား။"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"အက်ပ်သုံးမနေသော်လည်း ဤအက်ပ်က သင်၏အရေးကြီးသည့် ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံစနစ်ဒေတာကို အမြဲသုံးခွင့် ရယူလိုသည်။ ဤအပြောင်းအလဲကို ပြုလုပ်ရန် "<annotation id="link">"ဆက်တင်များသို့ သွားပါ။"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား သင်၏ အရေးကြီးသော ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံစနစ်ဒေတာကို သုံးခွင့်ပေးလိုပါသလား။"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်အဓိကကိုယ်တွင်းအင်္ဂါအခြေအနေ လက္ခဏာများနှင့်ပတ်သက်သည့် အာရုံခံစနစ်ဒေတာ သုံးခွင့်ပြုမလား။"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အား <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ သင့်အဓိကကိုယ်တွင်းအင်္ဂါအခြေအနေ လက္ခဏာများနှင့်ပတ်သက်သည့် အာရုံခံစနစ် ဒေတာကို ရယူခွင့်ပြုမလား။"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"အက်ပ်သုံးမနေသော်လည်း ဤအက်ပ်ကို ခန္ဓာကိုယ်အာရုံခံစနစ် ဒေတာများ အမြဲသုံးခွင့်ပြုရန် "<annotation id="link">"ဆက်တင်များသို့ သွားပါ။"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"အက်ပ်သုံးစဉ် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို ခန္ဓာကိုယ်အာရုံခံစနစ် ဒေတာ ဆက်သုံးခွင့်ပြုမလား။"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"အက်ပ်သုံးစဉ် <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် ခန္ဓာကိုယ် အာရုံခံကိရိယာ ဒေတာ ဆက်သုံးခွင့်ပြုမလား။"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> အက်ပ် အသုံးပြုနေစဉ် <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ရှိ ခန္ဓာကိုယ် အာရုံခံစနစ် ဒေတာကို သုံးခွင့်ပြုထားမလား။"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို သင့်ထံ အကြောင်းကြားချက်များ ပို့ခွင့်ပြုမလား။"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို သင်၏ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> တွင် သင့်ထံ အကြောင်းကြားချက်များ ပို့ခွင့်ပြုမလား။"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ကို <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> တွင် သင့်ထံ အကြောင်းကြားချက်များ ပို့ခွင့်ပြုမလား။"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ထိန်းချုပ်ထားသော ခွင့်ပြုချက်များ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> တွင် တည်နေရာသုံးခွင့်ရှိသည်"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"သင်၏အဖွဲ့အစည်းက <xliff:g id="APP_NAME">%1$s</xliff:g> အား သင့်တည်နေရာကို သုံးခွင့်ပြုသည်"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"မရှိ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ပြီးခဲ့သော\n၂၄ နာရီ"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ပြီးခဲ့သည့်\n၇ ရက်"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ရာခိုင်နှုန်း"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို Android က ကာကွယ်ထားသည်။ သင့်ဒေတာကို ဤစက်ပစ္စည်းပေါ်တွင် စီမံသောကြောင့် ဤအက်ပ်၏ ခွင့်ပြုချက်အသုံးပြုမှုကို အခြေအနေပြဘား (သို့) သင့်ကိုယ်ရေးအချက်အလက် လုံခြုံမှု ဒက်ရှ်ဘုတ်ပေါ်တွင် မပြပါ။"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို Android က ကာကွယ်ထားသည်။ သင့်ဒေတာကို ဤစက်ပစ္စည်းပေါ်တွင် စီမံသောကြောင့် ဤအက်ပ်၏ ခွင့်ပြုချက်အသုံးပြုမှုကို သင့်ကိုယ်ရေးအချက်အလက် လုံခြုံမှု ဒက်ရှ်ဘုတ်ပေါ်တွင် မပြပါ။"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"စက်ကင်မရာကို ပိတ်ထားသည်"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက်"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"အရေးပေါ် နံပါတ်ကို သင်ခေါ်ဆိုချိန်တွင် မိုက်ခရိုဖုန်းဒေတာကို မျှဝေနိုင်သေးသည်။"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ပြောင်းရန်"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ကင်မရာသုံးခွင့် ပိတ်ထားသည်"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"သတင်းနှင့်ဖျော်ဖြေရေး အက်ပ်များအတွက်"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"လိုအပ်သောအက်ပ်များအတွက်"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ဤအက်ပ်ကို လိုအပ်သည်"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"သင့်ကားထုတ်လုပ်သူက ဤအက်ပ်ကို လိုအပ်သည်"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"လုံခြုံရေးနှင့် ကိုယ်ရေးဒေတာ"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"စက်ကိုစစ်ဆေးရန်"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ပယ်ရန်"</string> @@ -605,7 +621,7 @@ <string name="safety_center_background_location_access_reminder_summary" msgid="7431657777510537658">"ဤအက်ပ်ကို ပိတ်ထားချိန်၌ပင် ၎င်းသည် သင့်တည်နေရာကို အမြဲကြည့်နိုင်သည်။\n\nလုံခြုံရေးနှင့် အရေးပေါ်အက်ပ်အချို့သည် ရည်ရွယ်ထားသည့်အတိုင်း အလုပ်လုပ်ရန် နောက်ခံတွင် သင့်တည်နေရာကြည့်ခွင့် လိုအပ်သည်။"</string> <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"အသုံးပြုခွင့် ပြောင်းသွားသည်"</string> <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"မကြာသေးမီက တည်နေရာအသုံးပြုမှုကို ကြည့်ရန်"</string> - <string name="privacy_controls_title" msgid="7605929972256835199">"ကန့်သတ်ရန်ဆက်တင်များ"</string> + <string name="privacy_controls_title" msgid="7605929972256835199">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ဆက်တင်များ"</string> <string name="camera_toggle_title" msgid="1251201397431837666">"ကင်မရာသုံးခွင့်"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"မိုက်ခရိုဖုန်းသုံးခွင့်"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက်"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ဒေတာမျှဝေခြင်း အပ်ဒိတ်"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"အက်ပ်အချို့သည် ၎င်းတို့က သင်၏ တည်နေရာဒေတာ မျှဝေနိုင်သော နည်းလမ်းကို ပြောင်းထားသည်"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ဆက်တင်များ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> တွင် ဝင်ကြည့်ထားသည်"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"မနေ့ <xliff:g id="TIME_DATE">%1$s</xliff:g> တွင် ဝင်ကြည့်ထားသည်"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g> တွင် ဝင်ကြည့်ထားသည်"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"သင့်တစ်ခါသုံး စကားဝှက်သည် 132435 ဖြစ်သည်"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ကန့်သတ်ဆက်တင်"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"သင့်လုံခြုံရေးအတွက် ဤဆက်တင်ကို လောလောဆယ် မရနိုင်ပါ။"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"အက်ပ်ကို <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> သုံးခွင့် ငြင်းပယ်ထားသည်"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"အက်ပ်သည် သင်၏ ပုဂ္ဂိုလ်ရေးနှင့် ငွေကြေးဆိုင်ရာ အချက်အလက်များကို အန္တရာယ်ဖြစ်စေနိုင်သော သတိထားရမည့် ခွင့်ပြုချက်သုံးရန် တောင်းဆိုထားသည်။<xliff:g id="ID_1"><br><br></xliff:g>အက်ပ်သည် ဤကန့်သတ်ထားသော ခွင့်ပြုချက်မရှိပါက ကောင်းစွာမလုပ်ဆောင်ခြင်း ဖြစ်နိုင်သည်။ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>သုံးခွင့်ပြုနည်းကို လေ့လာရန်</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"အက်ပ်အား မူရင်း <xliff:g id="ROLE_NAME">%1$s</xliff:g> အဖြစ် လုပ်ဆောင်ခွင့် ငြင်းပယ်ထားသည်"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"အက်ပ်သည် သင်၏ ပုဂ္ဂိုလ်ရေးနှင့် ငွေကြေးဆိုင်ရာ အချက်အလက်များကို အန္တရာယ်ဖြစ်စေနိုင်သော သတိထားရမည့် ခွင့်ပြုချက်များသုံးရန် တောင်းဆိုထားသည်။<xliff:g id="ID_1"><br><br></xliff:g>အက်ပ်သည် ဤကန့်သတ်ထားသော ခွင့်ပြုချက်များမရှိပါက ကောင်းစွာမလုပ်ဆောင်ခြင်း ဖြစ်နိုင်သည်။ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>သုံးခွင့်ပြုနည်းကို လေ့လာရန်</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"အက်ပ်ကို သုံးခွင့် ငြင်းပယ်ထားသည်"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ဤခွင့်ပြုချက်သုံးခြင်းသည် သင်၏ ပုဂ္ဂိုလ်ရေးနှင့် ငွေကြေးဆိုင်ရာ အချက်အလက်များကို အန္တရာယ်ဖြစ်စေနိုင်သည်။<xliff:g id="ID_1"><br><br></xliff:g>အက်ပ်သည် ဤကန့်သတ်ထားသော ခွင့်ပြုချက်မရှိပါက ကောင်းစွာမလုပ်ဆောင်ခြင်း ဖြစ်နိုင်သည်။ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>သုံးခွင့်ပြုနည်းကို လေ့လာရန်</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ပိုမိုလေ့လာရန်"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ခွင့်ပြုချက်တောင်းဆိုမှု ပိတ်ထားသည်"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ဤအက်ပ်သည် နောက်ထပ်ခွင့်ပြုချက်များကို တောင်းဆိုနေသော်လည်း တိုက်ရိုက်လွှင့်စက်ရှင်တွင် ခွင့်ပြုချက်များ ပေး၍မရပါ။ သင့်ဖုန်းတွင် ဦးစွာ ခွင့်ပြုချက်ပေးပါ။"</string> </resources> diff --git a/PermissionController/res/values-nb-v34/strings.xml b/PermissionController/res/values-nb-v34/strings.xml index a7bb456d5..d3fa18592 100644 --- a/PermissionController/res/values-nb-v34/strings.xml +++ b/PermissionController/res/values-nb-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Administrer apptilgang til helsedata"</string> <string name="location_settings" msgid="8863940440881290182">"Posisjonstilgang"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"For apper og tjenester. Hvis denne innstillingen er av, kan mikrofondata fremdeles deles når du ringer et nødnummer"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"For apper og tjenester"</string> </resources> diff --git a/PermissionController/res/values-nb-watch/strings.xml b/PermissionController/res/values-nb-watch/strings.xml index 3fc35f2c9..3a4f05c10 100644 --- a/PermissionController/res/values-nb-watch/strings.xml +++ b/PermissionController/res/values-nb-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Kan ikke endres"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Avbryt"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Hele tiden"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Når appen er i bruk"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Hele tiden"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Når appen er i bruk"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Hele tiden"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Når appen er i bruk"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Hele tiden"</string> </resources> diff --git a/PermissionController/res/values-nb/strings.xml b/PermissionController/res/values-nb/strings.xml index fc86eb79d..8954e0b7b 100644 --- a/PermissionController/res/values-nb/strings.xml +++ b/PermissionController/res/values-nb/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alle tillatelser"</string> <string name="other_permissions" msgid="2901186127193849594">"Andre appfunksjoner"</string> <string name="permission_request_title" msgid="8790310151025020126">"Forespørsel om tillatelse"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Handlinger for å installere og avinstallere støttes ikke på Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Velg hva du vil gi <xliff:g id="APP_NAME">%1$s</xliff:g> tilgang til"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<xliff:g id="APP_NAME">%1$s</xliff:g> er oppdatert. Velg hva du vil gi denne appen tilgang til."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Avbryt"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Tillat alltid alle"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Spør hver gang"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ikke tillat"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Nøyaktig posisjon"</string> <string name="approximate_image_description" msgid="938803699637069884">"Omtrentlig posisjon"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Bruk nøyaktig posisjon"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Når nøyaktig posisjon er av, har apper tilgang til den omtrentlige posisjonen din"</string> <string name="app_permission_title" msgid="2090897901051370711">"Tillatelse: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Tilgang for denne appen: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g>-tilgang for denne appen på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Se alle tillatelsene <xliff:g id="APP">%1$s</xliff:g> har"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Se alle apper med denne tillatelsen"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Vis bruk av assistentmikrofonen"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Fjern tillatelser hvis appen ikke brukes"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Fjern tillatelser og frigjør plass"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Sett appaktivitet på pause hvis ubrukt"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Administrer appen hvis den ikke brukes"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Fjern tillatelser, slett midlertidige filer, og stopp varsler"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Fjern tillatelser, slett midlertidige filer, stopp varsler, og arkiver appen"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"For å beskytte dataene dine fjernes tillatelser for denne appen hvis appen ikke brukes på noen måneder."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Hvis appen ikke brukes på noen måneder, fjernes disse tillatelsene for å beskytte dataene dine: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"For å beskytte dataene dine har tillatelser blitt fjernet fra apper du ikke har brukt på noen måneder."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Kan administrere alle filer"</string> <string name="ask_header" msgid="2633816846459944376">"Spør hver gang"</string> <string name="denied_header" msgid="903209608358177654">"Ikke tillatt"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Se flere apper som kan bruke alle filer"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dag}other{# dager}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# time}other{# timer}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notatapp"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apper du kan bruke til å ta notater på enheten"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notater"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Standard lommebokapp"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Lommebokapp"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"I lommebokapper kan du lagre kreditt- og stamkundekort, bilnøkler og andre ting for å få hjelp med ulike transaksjonstyper."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Vil du bruke <xliff:g id="APP_NAME">%1$s</xliff:g> som standard lommebokapp?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Ingen tillatelser er nødvendige"</string> <string name="request_role_current_default" msgid="738722892438247184">"Gjeldende standard"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ikke spør igjen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Angi som standard"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Flere standardapper"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Åpning av linker"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Jobbstandard"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Standard for privat område"</string> <string name="default_app_none" msgid="9084592086808194457">"Ingen"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Systemstandard)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Ingen apper"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Vis aktivering av assistenten"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Vis ikon i statusfeltet når mikrofonen brukes til å aktivere taleassistent"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til bilder og medier på enheten din?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder og medier på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder og medier på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til kontaktene dine?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke kontakter på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lese kontaktene dine på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til denne enhetens posisjon?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se posisjonen til <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til posisjonen til <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Appen får bare tilgang til posisjonen når du bruker appen"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til denne enhetens posisjon?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se posisjonen til <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til posisjonen til <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Denne appen vil kanskje ha tilgang til posisjonen din hele tiden, selv når du ikke bruker appen. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vil du endre posisjonstilgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Vil du endre posisjonstilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Vil du endre posisjonstilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Denne appen vil ha tilgang til posisjonen din hele tiden, selv når du ikke bruker appen. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tillatelse til å finne, koble til og fastslå den relative posisjonen til enheter i nærheten?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> finne, koble til og fastslå den relative posisjonen til enheter i nærheten på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> finne, koble til og fastslå den relative posisjonen til enheter i nærheten på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tillatelse til å finne, koble til og fastslå den relative posisjonen til enheter i nærheten? "<annotation id="link">"Tillat i innstillingene."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Vil du endre posisjontilgangen til <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> fra omtrentlig til nøyaktig?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Vil du endre tilgangen <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> har til posisjon på <b><xliff:g id="DEVICE">%2$s</xliff:g></b> fra omtrentlig til nøyaktig?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Vil du endre tilgangen <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> har til posisjon på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> fra omtrentlig til nøyaktig?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til denne enhetens omtrentlige posisjon?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se den omtrentlige posisjonen til <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se den omtrentlige posisjonen til <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Nøyaktig"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Omtrentlig"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til kalenderen din?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke kalenderen på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke kalenderen din på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende og se tekstmeldinger?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende og se SMS-meldinger på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende og se SMS-meldinger på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til bilder, medier og filer på enheten din?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder, medier og filer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder, medier og filer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke <b>bilder, videoer, musikk og lyd</b> på denne enheten?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke <b>bilder, videoer, musikk, lyd og andre filer</b> på denne enheten?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke musikk og lyd på denne enheten?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke musikk og lyd på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke musikk og lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder og videoer på denne enheten?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder og videoer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke bilder og videoer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke flere bilder og videoer på denne enheten?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke flere bilder og videoer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke flere bilder og videoer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Appen kan bare ta opp lyd mens du bruker den."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta opp lyd på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Denne appen vil kanskje ta opp lyd hele tiden, selv når du ikke bruker den. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vil du endre mikrofontilgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Vil du endre mikrofontilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Vil du endre mikrofontilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Denne appen vil ta opp lyd hele tiden, selv når du ikke bruker den. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til den fysiske aktiviteten din?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se fysisk aktivitet på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se fysisk aktivitet på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og spille inn video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og spille inn videoer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og ta opp video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Appen kan bare ta bilder og spille inn videoer mens du bruker den"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og spille inn videoer?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og spille inn videoer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ta bilder og ta opp video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Denne appen vil kanskje ta bilder og spille inn videoer hele tiden, selv når du ikke bruker den. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vil du endre kameratilgang for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Vil du endre kameratilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Vil du endre kameratilgangen for <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Denne appen vil ta bilder og spille inn videoer hele tiden, selv når du ikke bruker den. "<annotation id="link">"Gi tillatelse i innstillingene."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til samtaleloggene dine?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se samtaleloggene på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke samtaleloggene på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ringe og administrere telefonsamtaler?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ringe og administrere telefonsamtaler på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ringe og administrere telefonanrop på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til sensordata om de vitale tegnene dine?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se sensordata om de vitale tegnene dine på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se sensordata om de vitale tegnene dine på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Denne appen vil ha tilgang til sensordata om de vitale tegnene dine hele tiden, selv når du ikke bruker den. For å gjøre denne endringen, "<annotation id="link">"gå til innstillingene."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vil du gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til sensordataene om de vitale tegnene dine?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se sensordataene om de vitale tegnene dine på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se sensordataene om de vitale tegnene dine på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"For å gi denne appen tilgang til data fra kroppssensorer til enhver tid, selv når du ikke bruker den, "<annotation id="link">"gå til innstillingene."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Vil du fortsette å gi <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tilgang til data fra kroppssensorer mens appen er i bruk?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Vil du fortsette å la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> se data fra kroppssensorer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mens appen er i bruk?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vil du fortsette å la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bruke data fra kroppssensorer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> mens appen er i bruk?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende deg varsler?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende deg varsler på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Vil du la <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sende deg varsler på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrollerte tillatelser"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> har posisjonstilgang"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organisasjonen din lar <xliff:g id="APP_NAME">%1$s</xliff:g> se hvor du er"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ingen"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"De siste\n24 timene"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"De siste\n7 dagene"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> prosent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> beskyttes av Android. Siden dataene dine behandles på denne enheten, vises ikke bruken av tillatelser for denne appen i statusfeltet eller personvernoversikten."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> beskyttes av Android. Siden dataene dine behandles på denne enheten, vises ikke bruken av tillatelser for denne appen i personvernoversikten."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Enhetskameraet er blokkert"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"For apper og tjenester"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofondata kan fremdeles deles når du ringer et nødnummer."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Endre"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameratilgang er av"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"For infotainment-apper"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"For påkrevde apper"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Denne appen er påkrevd"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Denne appen kreves av bilprodusenten"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sikkerhet og personvern"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skann enheten"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Lukk"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Oppdateringer av datadeling"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Noen apper har endret hvordan de kan dele posisjonsdataene dine"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Innstillinger"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Åpnet <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Åpnet i går <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Åpnet <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Engangspassordet ditt er 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Begrenset innstilling"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Av sikkerhetshensyn er denne innstillingen utilgjengelig for øyeblikket."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Appens tilgang til <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> ble avvist"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Appen ba om tilgang til en sensitiv tillatelse som kan utsette den personlige og økonomiske informasjonen din for fare.<xliff:g id="ID_1"><br><br></xliff:g>Det kan hende at appen ikke fungerer skikkelig uten denne begrensede tillatelsen. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Finn ut hvordan du gir tilgang</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Appens tilgang til standard <xliff:g id="ROLE_NAME">%1$s</xliff:g>, ble avvist"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Appen ba om tilgang til sensitive tillatelser som kan utsette den personlige og økonomiske informasjonen din for fare.<xliff:g id="ID_1"><br><br></xliff:g>Det kan hende at appen ikke fungerer skikkelig uten disse begrensede tillatelsene. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Finn ut hvordan du gir tilgang</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Appens tilgang ble avvist"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Hvis du gir tilgang til denne tillatelsen, kan den personlige og økonomiske informasjonen din bli utsatt for fare.<xliff:g id="ID_1"><br><br></xliff:g>Det kan hende at appen ikke fungerer skikkelig uten denne begrensede tillatelsen. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Finn ut hvordan du gir tilgang</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Finn ut mer"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Forespørselen om tillatelse er skjult"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Denne appen ber om flere tillatelser, men du kan ikke gi tillatelser i en strømmeøkt. Gi tillatelsen på telefonen først."</string> </resources> diff --git a/PermissionController/res/values-ne-v34/strings.xml b/PermissionController/res/values-ne-v34/strings.xml index 421c5a8e0..89bb4279f 100644 --- a/PermissionController/res/values-ne-v34/strings.xml +++ b/PermissionController/res/values-ne-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"एपलाई स्वास्थ्यसम्बन्धी जानकारी प्रयोग गर्न दिने कि नदिने भन्ने कुरा व्यवस्थापन गर्नुहोस्"</string> <string name="location_settings" msgid="8863940440881290182">"लोकेसन एक्सेस"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"एप तथा सेवाहरूका हकमा। यो सेटिङ अफ गरिएको अवस्थामा तपाईंले आपत्कालीन नम्बरमा कल गर्नुभयो भने माइक्रोफोनसम्बन्धी जानकारी अझै पनि सेयर गरिन सक्छ"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"एप तथा सेवाहरूका हकमा"</string> </resources> diff --git a/PermissionController/res/values-ne-watch/strings.xml b/PermissionController/res/values-ne-watch/strings.xml index d5f1fc2ae..60374094c 100644 --- a/PermissionController/res/values-ne-watch/strings.xml +++ b/PermissionController/res/values-ne-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"बदल्न मिल्दैन"</string> <string name="generic_yes" msgid="2489207724988649846">"हुन्छ"</string> <string name="generic_cancel" msgid="2631708607129269698">"रद्द गर्नु…"</string> + <string name="permission_access_always" msgid="2107115233573823032">"सधैँ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"एप प्रयोग गर्दा"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"सधैँ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"एप प्रयोग गर्दा"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"सधैँ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"एप प्रयोग गर्दा"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"सधैँ"</string> </resources> diff --git a/PermissionController/res/values-ne/strings.xml b/PermissionController/res/values-ne/strings.xml index c934729fd..66d33c644 100644 --- a/PermissionController/res/values-ne/strings.xml +++ b/PermissionController/res/values-ne/strings.xml @@ -27,14 +27,14 @@ <string name="off" msgid="1438489226422866263">"निष्क्रिय"</string> <string name="uninstall_or_disable" msgid="4496612999740858933">"अनइन्स्टल गर्नुहोस् वा असक्षम पार्नुहोस्"</string> <string name="app_not_found_dlg_title" msgid="6029482906093859756">"एप फेला परेन"</string> - <string name="grant_dialog_button_deny" msgid="88262611492697192">"अनुमति नदिइयोस्"</string> + <string name="grant_dialog_button_deny" msgid="88262611492697192">"अनुमति नदिनुहोस्"</string> <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"अनुमति नदिइनुहोस् र फेरि नसोध्नुहोस्"</string> <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"“एप प्रयोगमा भएको बेलामा” शीर्षक कायम राख्नुहोस्"</string> <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"“यस बेला मात्र” राख्नुहोस्"</string> <string name="grant_dialog_button_more_info" msgid="213350268561945193">"थप जानकारी"</string> - <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"सबै डेटा प्रयोग गर्ने अनुमति दिनुहोस्"</string> - <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"सधैँ सबै अनुमति दिइयोस्"</string> - <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"सीमित एक्सेस दिनुहोस्"</string> + <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"सबै अनुमति दिनुहोस्"</string> + <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"सधैँ सबै अनुमति दिनुहोस्"</string> + <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"सीमित एक्सेस दिइयोस्"</string> <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"फोटो र भिडियोहरू चयन गर्नुहोस्"</string> <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"अझ धेरै फोटो चयन गर्नुहोस्"</string> <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"थप डेटा चयन नगर्नुहोस्"</string> @@ -45,19 +45,19 @@ <string name="permission_add_background_warning_template" msgid="1812914855915092273">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई सधैँ <xliff:g id="ACTION">%2$s</xliff:g> अनुमति दिने हो?"</string> <string name="allow_permission_foreground_only" msgid="116465816039675404">"एप प्रयोग गर्दा मात्र"</string> <string name="allow_permission_always" msgid="5194342531206054051">"सधैँ"</string> - <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"अनुमति नदिइयोस् र फेरि नसोधियोस्"</string> + <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"अनुमति नदिनुहोस् र फेरि नसोध्नुहोस्"</string> <string name="permission_revoked_count" msgid="4785082705441547086">"<xliff:g id="COUNT">%1$d</xliff:g> अनुमति असक्षम पारिएको छ"</string> <string name="permission_revoked_all" msgid="3397649017727222283">"सबै अनुमति असक्षम पारिएको छ"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"कुनै पनि असक्षम पारिएको छैन"</string> - <string name="grant_dialog_button_allow" msgid="5314677880021102550">"अनुमति दिइयोस्"</string> - <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"सधैँ अनुमति दिइयोस्"</string> + <string name="grant_dialog_button_allow" msgid="5314677880021102550">"अनुमति दिनुहोस्"</string> + <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"सधैँ अनुमति दिनुहोस्"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"एप चलाएका बेला"</string> - <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"सटीक लोकेसन प्रयोग गरियोस्"</string> - <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"अनुमानित लोकेसन मात्र प्रयोग गरियोस्"</string> + <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"सटीक लोकेसन प्रयोग गर्नुहोस्"</string> + <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"अनुमानित लोकेसन मात्र प्रयोग गर्नुहोस्"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"यस पटक मात्र"</string> - <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"सधैँ अनुमति दिइयोस्"</string> - <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"सबै फाइलहरू व्यवस्थापन गर्ने अनुमति दिइयोस्"</string> - <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"मिडिया फाइल प्रयोग गर्ने अनुमति दिइयोस्"</string> + <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"सधैँ अनुमति दिनुहोस्"</string> + <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"सबै फाइलहरू व्यवस्थापन गर्ने अनुमति दिनुहोस्"</string> + <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"मिडिया फाइल प्रयोग गर्ने अनुमति दिनुहोस्"</string> <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"एपहरू"</string> <string name="app_permissions" msgid="3369917736607944781">"एपसम्बन्धी अनुमति"</string> <string name="unused_apps" msgid="2058057455175955094">"प्रयोग नगरिएका एपहरू"</string> @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"तपाईंले <xliff:g id="PERMISSION_NAME">%2$s</xliff:g> प्रयोग गर्न <xliff:g id="APP_NAME">%1$s</xliff:g> ले मागेको अनुमति अस्वीकार गर्नुभएको छ"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{आज}=1{१ दिनअघि}other{# दिनअघि}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"एप असक्षम पार्नुहोस्"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"तपाईंले यो एप असक्षम पार्नुभयो भने Android र अन्य एपहरूले अब उप्रान्त अपेक्षाअनुसार कार्य नगर्न सक्छन्। स्मरण रहोस्, तपाईं यो एप तपाईंको यन्त्रसँग पहिल्यै स्थापना भएर आएको हुँदा तपाईं यसलाई मेटाउन सक्नुहुन्न। यो एप असक्षम पारेर, तपाईं यसलाई निष्क्रिय पार्नुहुन्छ तथा यसलाई आफ्नो डिभाइसमा लुकाउनुहुन्छ।"</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"तपाईंले यो एप असक्षम पार्नुभयो भने Android र अन्य एपले अब उप्रान्त अपेक्षाअनुसार काम नगर्न सक्छन्। स्मरण रहोस्, तपाईं यो एप तपाईंको डिभाइसमा पहिल्यै इन्स्टल भएर आएको हुँदा तपाईं यसलाई मेटाउन सक्नुहुन्न। यो एप असक्षम पारेर, तपाईं यसलाई निष्क्रिय पार्न र आफ्नो डिभाइसमा लुकाउन मात्र सक्नुहुन्छ।"</string> <string name="app_permission_manager" msgid="3903811137630909550">"अनुमति व्यवस्थापन"</string> <string name="never_ask_again" msgid="4728762438198560329">"फेरि नसोध्नुहोला"</string> <string name="no_permissions" msgid="3881676756371148563">"अनुमति दिन भनी कुनै अनुरोध छैन"</string> @@ -85,10 +85,10 @@ <string name="default_permission_description" msgid="4624464917726285203">"कुनै अज्ञात कारबाही गर्नुहोस्"</string> <string name="app_permissions_group_summary" msgid="8788419008958284002">"<xliff:g id="COUNT_1">%2$d</xliff:g> मध्ये <xliff:g id="COUNT_0">%1$d</xliff:g> एपहरूलाई अनुमति दिइएको छ"</string> <string name="app_permissions_group_summary2" msgid="4329922444840521150">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> एपहरूलाई अनुमति दिइएको छ"</string> - <string name="menu_show_system" msgid="4254021607027872504">"सिस्टम देखाइयोस्"</string> - <string name="menu_hide_system" msgid="3855390843744028465">"सिस्टम लुकाइयोस्"</string> - <string name="menu_show_7_days_data" msgid="8979611198508523706">"पछिल्ला ७ दिनमा कुन कुन समयमा अनुमति प्रयोग गरियो भन्ने कुरा देखाइयोस्"</string> - <string name="menu_show_24_hours_data" msgid="8228054833323380780">"पछिल्लो २४ घण्टामा प्रयोग गरिएका अनुमतिहरू देखाइयोस्"</string> + <string name="menu_show_system" msgid="4254021607027872504">"सिस्टम देखाउनुहोस्"</string> + <string name="menu_hide_system" msgid="3855390843744028465">"सिस्टम लुकाउनुहोस्"</string> + <string name="menu_show_7_days_data" msgid="8979611198508523706">"पछिल्ला ७ दिनमा कुन कुन समयमा अनुमति प्रयोग गरियो भन्ने कुरा देखाउनुहोस्"</string> + <string name="menu_show_24_hours_data" msgid="8228054833323380780">"पछिल्लो २४ घण्टामा प्रयोग गरिएका अनुमतिहरू देखाउनुहोस्"</string> <string name="manage_permission" msgid="2895385393037061964">"अनुमति व्यवस्थापन गर्नुहोस्"</string> <string name="no_apps" msgid="2412612731628386816">"कुनै पनि एप छैन"</string> <string name="location_settings" msgid="3624412509133422562">"लोकेसन सेटिङ"</string> @@ -109,15 +109,13 @@ <!-- no translation found for background_access_chooser_dialog_choices:0 (1351721623256561996) --> <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) --> <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) --> - <string name="permission_access_always" msgid="1474641821883823446">"सधैँ अनुमति दिइयोस्"</string> - <string name="permission_access_only_foreground" msgid="7801170728159326195">"यो एप प्रयोग गरिरहेका बेला मात्र अनुमति दिइयोस्"</string> + <string name="permission_access_always" msgid="1474641821883823446">"सधैँ अनुमति दिनुहोस्"</string> + <string name="permission_access_only_foreground" msgid="7801170728159326195">"यो एप प्रयोग गरिरहेका बेला मात्र अनुमति दिनुहोस्"</string> <string name="permission_access_never" msgid="4647014230217936900">"अनुमति नदिनुहोस्"</string> <string name="loading" msgid="4789365003890741082">"लोड गर्दै…"</string> <string name="all_permissions" msgid="6911125611996872522">"सबै अनुमति"</string> <string name="other_permissions" msgid="2901186127193849594">"एपका अन्य क्षमताहरू"</string> <string name="permission_request_title" msgid="8790310151025020126">"अनुमति दिन भनी गरिएको अनुरोध"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear मा स्थापना/स्थापना रद्द गर्ने कारबाहीहरू समर्थित छैनन्।"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई केमाथि पहुँच राख्न दिने हो छनौट गर्नुहोस्"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> अद्यावधिक गरिएको छ। यस एपलाई केमाथि पहुँच राख्न दिने हो छनौट गर्नुहोस्।"</string> <string name="review_button_cancel" msgid="2191147944056548886">"रद्द गर्नुहोस्"</string> @@ -185,28 +183,33 @@ <string name="app_permission_usage_title" msgid="6676802437831981822">"एपको अनुमतिको उपयोग"</string> <string name="app_permission_usage_summary" msgid="390383661936709672">"पहुँच: <xliff:g id="NUM">%1$s</xliff:g> पटक। कुल समय: <xliff:g id="DURATION">%2$s</xliff:g>। पछिल्लो पटक <xliff:g id="TIME">%3$s</xliff:g> अघि प्रयोग गरिएको।"</string> <string name="app_permission_usage_summary_no_duration" msgid="3698475875179457400">"पहुँच: <xliff:g id="NUM">%1$s</xliff:g> पटक। पछिल्लो पटक <xliff:g id="TIME">%2$s</xliff:g> अघि प्रयोग गरिएको।"</string> - <string name="app_permission_button_allow" msgid="5808039516494774647">"अनुमति दिइयोस्"</string> - <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"सबै फाइलहरू व्यवस्थापन गर्ने अनुमति दिइयोस्"</string> - <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"केवल मिडिया प्रयोग गर्ने अनुमति दिइयोस्"</string> - <string name="app_permission_button_allow_always" msgid="4573292371734011171">"सधैँ अनुमति दिइयोस्"</string> - <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"यो एप प्रयोग गरिरहेका बेला मात्र अनुमति दिइयोस्"</string> - <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"सधैँ सबै अनुमति दिइयोस्"</string> - <string name="app_permission_button_ask" msgid="3342950658789427">"प्रत्येक पटक सोधियोस्"</string> - <string name="app_permission_button_deny" msgid="6016454069832050300">"अनुमति नदिइयोस्"</string> + <string name="app_permission_button_allow" msgid="5808039516494774647">"अनुमति दिनुहोस्"</string> + <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"सबै फाइलहरू व्यवस्थापन गर्ने अनुमति दिनुहोस्"</string> + <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"केवल मिडिया प्रयोग गर्ने अनुमति दिनुहोस्"</string> + <string name="app_permission_button_allow_always" msgid="4573292371734011171">"सधैँ अनुमति दिनुहोस्"</string> + <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"यो एप प्रयोग गरिरहेका बेला मात्र अनुमति दिनुहोस्"</string> + <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"सधैँ सबै अनुमति दिनुहोस्"</string> + <string name="app_permission_button_ask" msgid="3342950658789427">"प्रत्येक पटक सोध्नुहोस्"</string> + <string name="app_permission_button_deny" msgid="6016454069832050300">"अनुमति नदिनुहोस्"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"सटीक स्थान"</string> <string name="approximate_image_description" msgid="938803699637069884">"अनुमानित स्थान"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"सटीक लोकेसन प्रयोग गरियोस्"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"सटीक लोकेसन अफ हुँदा एपहरूलाई मेरो अनुमानित लोकेसन प्रयोग गर्न दिइयोस्"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"सटीक लोकेसन प्रयोग गर्नुहोस्"</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"सटीक लोकेसन अफ हुँदा एपहरूलाई मेरो अनुमानित लोकेसन प्रयोग गर्न दिनुहोस्"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>सम्बन्धी अनुमति"</string> <string name="app_permission_header" msgid="2951363137032603806">"यो एप <xliff:g id="PERM">%1$s</xliff:g> प्रयोग गर्ने अनुमति दिने वा नदिने"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"यो एपलाई <xliff:g id="DEVICE_NAME">%2$s</xliff:g> को <xliff:g id="PERM">%1$s</xliff:g> प्रयोग गर्ने अनुमति"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> सँग भएका सबै अनुमति हेर्नुहोस्"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"यो अनुमति पाएका सबै एपहरू हेर्नुहोस्"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"सहायकको माइक्रोफोन प्रयोगसम्बन्धी डेटा देखाउनुहोस्"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"प्रयोग नगरिएको एपसम्बन्धी सेटिङ"</string> - <string name="auto_revoke_label" msgid="5068393642936571656">"यो एप प्रयोग नहुँदा यसलाई दिइएका अनुमतिहरू रद्द गरियोस्"</string> - <string name="unused_apps_label" msgid="2595428768404901064">"अनुमतिहरू हटाई ठाउँ खाली गरियोस्"</string> - <string name="unused_apps_label_v2" msgid="7058776770056517980">"एप प्रयोग नगरिएको अवस्थामा उक्त एपमा बिताएको समय रेकर्ड नगरियोस्"</string> - <string name="unused_apps_summary" msgid="8839466950318403115">"अनुमतिहरू रद्द गरियोस्, अस्थायी फाइलहरू मेटाइयोस् र एपसम्बन्धी सूचना नपठाइयोस्"</string> + <string name="auto_revoke_label" msgid="5068393642936571656">"यो एप प्रयोग नहुँदा यसलाई दिइएका अनुमतिहरू रद्द गर्नुहोस्"</string> + <string name="unused_apps_label" msgid="2595428768404901064">"अनुमतिहरू हटाई ठाउँ खाली गर्नुहोस्"</string> + <string name="unused_apps_label_v2" msgid="7058776770056517980">"एप प्रयोग नगरिएको अवस्थामा उक्त एपमा गरिएको गतिविधि रेकर्ड नगर्नुहोस्"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"एप प्रयोग गरिएको छैन भने व्यवस्थापन गर्नुहोस्"</string> + <string name="unused_apps_summary" msgid="8839466950318403115">"अनुमतिहरू रद्द गर्नुहोस्, अस्थायी फाइलहरू मेटाउनुहोस् र एपसम्बन्धी सूचना नपठाउनुहोस्"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"अनुमति रद्द गर्नुहोस्, अस्थायी फाइलहरू मेटाउनुहोस्, सूचना नपठाउनुहोस् र एप अभिलेखमा राख्नुहोस्"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"तपाईंका डेटाको सुरक्षार्थ यो एप केही महिनासम्म प्रयोग नगरिएका खण्डमा यसलाई दिइएका अनुमति रद्द गरिने छन्।"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"तपाईंका डेटाको सुरक्षार्थ यो एप केही महिनासम्म प्रयोग नगरिएका खण्डमा निम्न अनुमति रद्द गरिने छन्: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"तपाईंका डेटाको सुरक्षार्थ तपाईंले केही महिनादेखि प्रयोग नगरेका एपलाई दिइएका अनुमति रद्द गरिएका छन्।"</string> @@ -216,7 +219,7 @@ <string name="auto_revocable_permissions_one" msgid="5299112369449458176">"<xliff:g id="PERM">%1$s</xliff:g> सम्बन्धी अनुमति हटाइने छ।"</string> <string name="auto_revocable_permissions_two" msgid="4874067408752041716">"<xliff:g id="PERM_0">%1$s</xliff:g> र <xliff:g id="PERM_1">%2$s</xliff:g> सम्बन्धी अनुमतिहरू हटाइने छन्।"</string> <string name="auto_revocable_permissions_many" msgid="1521807896206032992">"निम्न अनुमतिहरू हटाइने छन्: <xliff:g id="PERMS">%1$s</xliff:g>।"</string> - <string name="auto_manage_title" msgid="7693181026874842935">"अनुमतिहरू स्वतः व्यवस्थापन गरियोस्"</string> + <string name="auto_manage_title" msgid="7693181026874842935">"अनुमतिहरू स्वतः व्यवस्थापन गर्नुहोस्"</string> <string name="auto_revoked_app_summary_one" msgid="7093213590301252970">"<xliff:g id="PERMISSION_NAME">%s</xliff:g> सम्बन्धी अनुमति हटाइयो"</string> <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> र <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g> सम्बन्धी अनुमतिहरू हटाइए"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> र अन्य <xliff:g id="NUMBER">%2$s</xliff:g> अनुमतिहरू हटाइए"</string> @@ -252,8 +255,9 @@ <string name="allowed_foreground_header" msgid="6845655788447833353">"प्रयोग भइरहेका बेला मात्र अनुमति दिइने"</string> <string name="allowed_storage_scoped" msgid="5383645873719086975">"मिडिया मात्र प्रयोग गर्ने अनुमति दिइएको"</string> <string name="allowed_storage_full" msgid="5356699280625693530">"सबै फाइल व्यवस्थापन गर्ने अनुमति दिइएको"</string> - <string name="ask_header" msgid="2633816846459944376">"प्रत्येक पटक सोधियोस्"</string> + <string name="ask_header" msgid="2633816846459944376">"प्रत्येक पटक सोध्नुहोस्"</string> <string name="denied_header" msgid="903209608358177654">"अनुमति नदिइएका"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> को <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"सबै फाइल हेर्ने र प्रयोग गर्ने अनुमति भएका थप एपहरू हेर्नुहोस्"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{१ दिन}other{# दिन}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# घण्टा}other{# घण्टा}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"यी एपहरूले तपाईंको स्क्रिन, कारबाही र इनपुट हेर्न, कारबाहीहरू सम्पादन गर्न र प्रदर्शन नियन्त्रण गर्न सक्छन्।"</string> <string name="role_assistant_label" msgid="4727586018198208128">"डिफल्ट डिजिटल सहायक एप"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"डिजिटल सहायक एप"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"सहायक एपहरूले तपाईंले हेर्दै गर्नुभएको स्क्रिनबाट प्राप्त जानकारीमा आधारित भई तपाईंलाई मद्दत गर्न सक्छन्।केही एपहरूले तपाईंलाई एकीकृत सहायता दिन दुवै लन्चर र आवाज संलग्न इनपुट सेवाहरूलाई समर्थन गर्दछन्।"</string> + <string name="role_assistant_description" msgid="6622458130459922952">"सहायक एपहरूले तपाईंले हेर्दै गर्नुभएको स्क्रिनबाट प्राप्त जानकारीमा आधारित भई तपाईंलाई मद्दत गर्न सक्छन्। केही एपहरूले तपाईंलाई एकीकृत सहायता दिन दुवै लन्चर र आवाज संलग्न इनपुट सेवाहरूलाई समर्थन गर्छन्।"</string> <string name="role_browser_label" msgid="2877796144554070207">"डिफल्ट ब्राउजर एप"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ब्राउजर"</string> <string name="role_browser_description" msgid="3465253637499842671">"तपाईंलाई इन्टरनेट चलाउने दिने र तपाईंले ट्याप गर्ने लिंकहरू देखाउने एपहरू"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"नोट एप"</string> <string name="role_notes_description" msgid="8496852798616883551">"तपाईंलाई आफ्नो डिभाइसमा नोट बनाउन दिने एपहरू"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"नोटहरू"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"डिफल्ट Wallet एप"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet एप"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"तपाईंलाई विभिन्न तरिकाले कारोबार गर्न सघाउन Wallet एपमा तपाईंका क्रेडिट कार्ड तथा लोयल्टी कार्ड, कार कीलगायतका कुराहरू पनि भण्डारण गर्न सकिन्छ।"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> लाई आफ्नो डिफल्ट Wallet एपका रूपमा सेट गर्ने हो?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"कुनै पनि अनुमति चाहिन्न"</string> <string name="request_role_current_default" msgid="738722892438247184">"हालको डिफल्ट एप"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"फेरि नसोध्नुहोस्"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"डिफल्ट सेट गर्नुहोस्"</string> @@ -428,8 +437,9 @@ <string name="default_apps_more" msgid="4078194675848858093">"थप डिफल्ट एपहरू"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"लिंकहरू खोल्दा"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"कार्यका लागि डिफल्ट"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"निजी स्पेसका लागि डिफल्ट एपहरू"</string> <string name="default_app_none" msgid="9084592086808194457">"कुनै पनि होइन"</string> - <string name="default_app_system_default" msgid="6218386768175513760">"(डिफल्ट सिस्टम एप)"</string> + <string name="default_app_system_default" msgid="6218386768175513760">"(सिस्टम डिफल्ट)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"कुनै पनि एप छैन"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"चयन गरिएको"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"चयन गरिएको - <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> @@ -445,87 +455,87 @@ <string name="incident_report_notification_text" msgid="3376480583513587923">"<xliff:g id="APP_NAME">%1$s</xliff:g> डिबग प्रक्रियासम्बन्धी जानकारी अपलोड गर्न चाहन्छ।"</string> <string name="incident_report_dialog_title" msgid="669104389325204095">"डिबग प्रक्रियासम्बन्धी डेटा सेयर गर्ने हो?"</string> <string name="incident_report_dialog_intro" msgid="5897733669850951832">"प्रणालीले कुनै समस्या फेला पारेको छ"</string> - <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ले <xliff:g id="DATE">%2$s</xliff:g> <xliff:g id="TIME">%3$s</xliff:g> मा यो यन्त्रबाट लिएको बगको रिपोर्ट अपलोड गर्ने अनुरोध गर्दै छ। बग रिपोर्टमा प्रयोगकर्ताका नाम, स्ठानसम्बन्धी डेटा, डिभाइसका पहिचानकर्ता र नेटवर्कसम्बन्धी जानकारी जस्ता तपाईंको डिभाइसको व्यक्तिगत जानकारी वा अनुप्रयोगले लग गरेको जानकारी समावेश छ। तपाईंलाई यो जानकारी दिँदा फरक पर्दैन जस्तो लाग्ने विश्वसनीय मान्छे वा एपसँग मात्र बग रिपोर्टहरू सेयर गर्नुहोस्। <xliff:g id="APP_NAME_1">%4$s</xliff:g> लाई बग रिपोर्ट अपलोड गर्न दिने हो?"</string> + <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ले <xliff:g id="DATE">%2$s</xliff:g> <xliff:g id="TIME">%3$s</xliff:g> मा यो यन्त्रबाट लिएको बगको रिपोर्ट अपलोड गर्ने अनुरोध गर्दै छ। बग रिपोर्टमा प्रयोगकर्ताका नाम, स्ठानसम्बन्धी डेटा, डिभाइसका पहिचानकर्ता र नेटवर्कसम्बन्धी जानकारी जस्ता तपाईंको डिभाइसको व्यक्तिगत जानकारी वा एपले लग गरेको जानकारी समावेश छ। तपाईंलाई यो जानकारी दिँदा फरक पर्दैन जस्तो लाग्ने विश्वसनीय मान्छे वा एपसँग मात्र बग रिपोर्टहरू सेयर गर्नुहोस्। <xliff:g id="APP_NAME_1">%4$s</xliff:g> लाई बग रिपोर्ट अपलोड गर्न दिने हो?"</string> <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"<xliff:g id="APP_NAME">%1$s</xliff:g> को बगसम्बन्धी रिपोर्ट प्रक्रियामा लैजाने क्रममा त्रुटि भयो। त्यस कारण विस्तृत डिबग प्रक्रियासम्बन्धी डेटा आदान प्रदान गर्ने कार्य अस्वीकार गरिएको छ। व्यवधानका लागि क्षमा गर्नुहोला।"</string> <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"अनुमति दिनुहोस्"</string> <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"अनुमति नदिनुहोस्"</string> <string name="adjust_user_sensitive_title" msgid="4196724451314280527">"उन्नत सेटिङहरू"</string> <string name="menu_adjust_user_sensitive" msgid="6497923610654425780">"उन्नत सेटिङहरू"</string> <string name="adjust_user_sensitive_globally_title" msgid="8649190949066029174">"प्रणालीका एपको प्रयोगसम्बन्धी जानकारी देखाउनुहोस्"</string> - <string name="adjust_user_sensitive_globally_summary" msgid="129467818433773912">"प्रणालीका अनुप्रयोगले गर्ने अनुमतिको प्रयोगसम्बन्धी जानकारी स्टाटस बार, ड्यासबोर्ड र अन्यत्र देखाउनुहोस्"</string> + <string name="adjust_user_sensitive_globally_summary" msgid="129467818433773912">"प्रणालीका एपले गर्ने अनुमतिको प्रयोगसम्बन्धी जानकारी स्टाटस बार, ड्यासबोर्ड र अन्यत्र देखाउनुहोस्"</string> <string name="adjust_user_sensitive_per_app_header" msgid="4543506440989005648">"निम्न एपको प्रयोगसम्बन्धी जानकारी हाइलाइट गर्नुहोस्"</string> <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"सहायक ट्रिगर भएको पत्ता लागेमा देखाउनुहोस्"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"आवाज सहायक सक्रिय गर्न माइक्रोफोनको प्रयोग गरिँदा स्टाटस बारमा आइकन देखाउनुहोस्"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई आफ्नो डिभाइसका फोटो र मिडियामाथि पहुँच राख्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका फोटो तथा मिडिया एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका फोटो तथा मिडिया एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई कन्ट्याक्ट प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका तपाईंका कन्ट्याक्टहरू एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका तपाईंका कन्ट्याक्ट एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसको लोकेसन प्रयोग दिने हो?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> को लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> को</b> लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"तपाईंले एप प्रयोग गरिरहेका बेला मात्र उक्त एपले स्थानमाथि पहुँच राख्न सक्ने छ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसको लोकेसन प्रयोग दिने हो?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> को लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> को</b> लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"तपाईं उक्त एप प्रयोग नगरिरहेका बेलामा लगायत जुनसुकै समयमा यो एपले तपाईंको स्थानमाथि पहुँच राख्न सक्छ। "<annotation id="link">"सेटिङमा गई अनुमति दिनुहोस्।"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> का लागि स्थानसम्बन्धी पहुँच परिवर्तन गर्ने हो?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> को लोकेसन एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> को लोकेसन एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"तपाईं उक्त एप प्रयोग नगरिरहेका बेलामा लगायत जुनसुकै समयमा यो एपले तपाईंको स्थानमाथि पहुँच राख्न खोज्छ। "<annotation id="link">"सेटिङमा गई अनुमति दिनुहोस्।"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई नजिकै रहेका डिभाइसहरू भेट्टाउने, ती डिभाइससँग कनेक्ट गर्ने र तिनको सापेक्ष स्थिति निर्धारण गर्ने अनुमति दिने हो?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा नजिकैका डिभाइसहरू भेट्टाउने, ती डिभाइससँग कनेक्ट गर्ने र तिनको सापेक्ष स्थिति निर्धारण गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा नजिकैका डिभाइसहरू भेट्टाउने, ती डिभाइससँग कनेक्ट गर्ने र तिनको सापेक्ष स्थिति निर्धारण गर्ने अनुमति दिने हो?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई नजिकै रहेका डिभाइसहरू भेट्टाउने, ती डिभाइससँग कनेक्ट गर्ने र तिनको सापेक्ष स्थिति निर्धारण गर्ने अनुमति दिने हो? "<annotation id="link">"सेटिङमा गई अनुमति दिनुहोस्।"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> लाई अनुमानित लोकेसनको साटो सटीक लोकेसन प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> को अनुमानित लोकेसनको साटो सटीक लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> को अनुमानित लोकेसनको साटो सटीक लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसको अनुमानित लोकेसन प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> को अनुमानित लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> को अनुमानित लोकेसन एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"सटीक"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"अनुमानित"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई आफ्नो पात्रोमाथि पहुँच राख्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएको तपाईंको पात्रो एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएको तपाईंको पात्रो एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> SMS म्यासेज पठाउन र हेर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा SMS म्यासेज पठाउने र हेर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा SMS म्यासेजहरू पठाउने र हेर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई आफ्नो डिभाइसमा रहेका फोटो, मिडिया र फाइलहरू प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका फोटो, मिडिया तथा फाइलहरू एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> भएका फोटो, मिडिया र फाइलहरू एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसमा रहेका <b>फोटो, भिडियो, सङ्गीत र अडियो</b> प्रयोग गर्न दिने हो?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसमा रहेका <b>फोटो, भिडियो, सङ्गीत, अडियो तथा अन्य फाइलहरू</b> प्रयोग गर्न दिने हो?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यस डिभाइसमा रहेका सङ्गीत तथा अन्य अडियो फाइलहरू प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका सङ्गीत तथा अडियो एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका सङ्गीत तथा अडियो एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यस डिभाइसमा रहेका फोटो र भिडियोहरू प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका फोटो तथा भिडियोहरू एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका फोटो तथा भिडियोहरू एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो डिभाइसमा भएका थप फोटो तथा भिडियोहरू प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका थप फोटो तथा भिडियोहरू एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका थप फोटो र भिडियोहरू एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई अडियो रेकर्ड गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा अडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा अडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"तपाईंले यो एप प्रयोग गरिरहेका बेलामा मात्र यसले अडियो रेकर्ड गर्न सक्ने छ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई अडियो रेकर्ड गर्न दिने हो?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा अडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा अडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"तपाईंले यो एप प्रयोग नगरेका बेलामा पनि यसले अडियो रेकर्ड गर्न सक्छ। "<annotation id="link">"सेटिङमा गई यो अनुमति दिनुहोस्।"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई माइक्रोफोन प्रयोग गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> को माइक्रोफोन एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> को माइक्रोफोन एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"तपाईंले यो एप प्रयोग नगरेका बेलामा पनि यसले अडियो रेकर्ड गर्न चाहन्छ। "<annotation id="link">"सेटिङमा गई यो अनुमति दिनुहोस्।"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई आफ्नो शारीरिक क्रियाकलाप प्रयोग गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएको तपाईंको शारीरिक गतिविधिसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएको तपाईंको शारीरिक गतिविधिसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई फोटो खिच्न र भिडियो रेकर्ड गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा फोटो खिच्ने र भिडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा फोटो खिच्ने र भिडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"तपाईंले यो एप प्रयोग गरिरहेका बेलामा मात्र यसले फोटो खिच्न र भिडियो रेकर्ड गर्न सक्ने छ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई फोटो खिच्न र भिडियो रेकर्ड गर्न दिने हो?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा फोटो खिच्ने र भिडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा फोटो खिच्ने र भिडियो रेकर्ड गर्ने अनुमति दिने हो?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"तपाईंले यो एप प्रयोग नगरेका बेलामा पनि यसले फोटो खिच्न तथा भिडियो रेकर्ड गर्न सक्छ। "<annotation id="link">"सेटिङमा गई यो अनुमति दिनुहोस्।"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई क्यामेरा प्रयोग गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> को क्यामेरा एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> को क्यामेरा एक्सेस गर्न दिइएको अनुमति परिवर्तन गर्ने हो?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"तपाईंले यो एप प्रयोग नगरेका बेलामा पनि यसले फोटो खिच्न तथा भिडियो रेकर्ड गर्न चाहन्छ। "<annotation id="link">"सेटिङमा गई यो अनुमति दिनुहोस्।"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई आफ्ना कल लग प्रयोग गर्ने अनुमति दिने हो?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएका तपाईंका फोन कल लगहरू एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएका तपाईंका फोनका कल लग एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई फोन कल गर्न र ती कलको व्यवस्थापन गर्न दिने हो?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा फोन कल गर्ने र फोन कलहरू व्यवस्थापन गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा फोन कल गर्ने र फोन कलहरू व्यवस्थापन गर्ने अनुमति दिने हो?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई नाडी आदि जस्ता महत्त्वपूर्ण संकेतसम्बन्धी सेन्सर डेटा हेर्ने अनुमति दिने हो?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएको तपाईंको स्वास्थ्यसम्बन्धी आधारभूत विवरण उपलब्ध गराउने सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएको तपाईंको स्वास्थ्यसम्बन्धी आधारभूत विवरण उपलब्ध गराउने सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"यो एप जुनसुकै बेला (तपाईंले एप प्रयोग नगरेका बेलासमेत) तपाईंका नाडी, धड्कज जस्ता सेन्सर डेटा हेर्न र प्रयोग गर्न चाहन्छ।। यस्तो परिवर्तन गर्न "<annotation id="link">"सेटिङमा जानुहोस्।"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई नाडी, धड्कन जस्ता सेन्सर डेटा प्रयोग गर्न र हेर्न दिने हो?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएको तपाईंको स्वास्थ्यसम्बन्धी आधारभूत विवरण उपलब्ध गराउने सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएको तपाईंको स्वास्थ्यसम्बन्धी आधारभूत विवरण उपलब्ध गराउने सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिने हो?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"यो एपलाई जुनसुकै बेला (तपाईंले एप नचलाएका बेलासमेत) बडी सेन्सरसम्बन्धी डेटा हेर्न र प्रयोग गर्न दिन "<annotation id="link">"सेटिङमा जानुहोस्।"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"यो एप प्रयोग गरिँदै गरेका बेला यसलाई <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> बडी सेन्सरसम्बन्धी डेटा हेर्ने र प्रयोग गर्ने अनुमति दिइरहने हो?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो एप प्रयोग गरिँदै गरेका बेला तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा भएको बडी सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिइरहने हो?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई यो एप प्रयोग गरिँदै गरेका बेला <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा भएको बडी सेन्सरसम्बन्धी डेटा एक्सेस गर्ने अनुमति दिइरहने हो?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंलाई सूचना पठाउन दिने हो?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई तपाईंको <b><xliff:g id="DEVICE">%2$s</xliff:g></b> मा सूचना पठाउने अनुमति दिने हो?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> लाई <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> मा तपाईंलाई सूचनाहरू पठाउने अनुमति दिने हो?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"नियन्त्रित अनुमतिहरू"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> लाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छ"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"तपाईंको सङ्गठनले <xliff:g id="APP_NAME">%1$s</xliff:g> लाई तपाईंको लोकेसन प्रयोग गर्ने अनुमति दिएको छ"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"कुनै पनि होइन"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"विगत\n२४ घन्टा"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"पछिल्ला\n७ दिन"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> प्रतिशत"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android ले <xliff:g id="APP_NAME">%1$s</xliff:g> सुरक्षित राख्छ। तपाईंको जानकारी यो डिभाइसमा नै प्रोसेस गरिने भएकाले यो एपले कुन कुन अनुमति प्रयोग गर्यो भन्ने कुरा स्ट्याटस बार वा तपाईंको गोपनीयतासम्बन्धी ड्यासबोर्डमा देखाइँदैन।"</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android ले <xliff:g id="APP_NAME">%1$s</xliff:g> सुरक्षित राख्छ। तपाईंको जानकारी यो डिभाइसमा नै प्रोसेस गरिने भएकाले यो एपले कुन कुन अनुमति प्रयोग गर्यो भन्ने कुरा तपाईंको गोपनीयतासम्बन्धी ड्यासबोर्डमा देखाइँदैन।"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"डिभाइसको क्यामेरा ब्लक गरिएको छ"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"एप र सेवाहरूका लागि"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"तपाईंले आपत्कालीन नम्बरमा कल गर्नुभयो भने माइक्रोफोनसम्बन्धी डेटा सेयर गरिन पनि सक्छ।"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"बदल्नुहोस्"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"क्यामेरा एक्सेस अफ छ"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"इन्फोटेनमेन्ट एपहरूका लागि"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"अनिवार्य रूपमा इन्स्टल गर्नु पर्ने एपहरूका लागि"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"यो एप अनिवार्य रूपमा इन्स्टल गर्नु पर्छ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"तपाईंको कारको उत्पादकले व्यवस्था गरेबमोजिम यो एप अनिवार्य रूपमा इन्स्टल गर्नु पर्छ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"सुरक्षा तथा गोपनीयता"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"डिभाइस स्क्यान गर्नुहोस्"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"हटाउनुहोस्"</string> @@ -565,7 +581,7 @@ <string name="privacy_controls_qs" msgid="5780144882040591169">"तपाईंका गोपनीयतासम्बन्धी सेटिङ"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"थप सेटिङ"</string> <string name="camera_toggle_label_qs" msgid="3880261453066157285">"क्यामेरा प्रयोग गर्ने अनुमति"</string> - <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"माइक प्रयोग गर्ने अनुमति"</string> + <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"माइक एक्सेस"</string> <string name="permissions_removed_qs" msgid="8957319130625294572">"अनुमति हटाइएको छ"</string> <string name="camera_usage_qs" msgid="4394233566086665994">"हालसालै गरिएको क्यामेराको प्रयोगसम्बन्धी जानकारी हेर्नुहोस्"</string> <string name="microphone_usage_qs" msgid="8527666682168170417">"हालसालै गरिएको माइकको प्रयोगसम्बन्धी जानकारी हेर्नुहोस्"</string> @@ -602,7 +618,7 @@ <string name="safety_center_background_location_access_notification_title" msgid="8933610618810588237">"ब्याकग्राउन्डमा लोकेसन प्रयोग गर्ने अनुमति दिइएको एपको समीक्षा गर्नुहोस्"</string> <string name="safety_center_background_location_access_reminder_notification_content" msgid="4066560182507301022">"<xliff:g id="APP_NAME">%s</xliff:g> बन्द हुँदा पनि यो एपले जुनसुकै बेला तपाईंको लोकेसन प्रयोग गर्न सक्छ"</string> <string name="safety_center_background_location_access_reminder_title" msgid="5477847038103863843">"ब्याकग्राउन्डमा लोकेसन प्रयोग गर्ने अनुमति दिइएको एपको समीक्षा गर्नुहोस्"</string> - <string name="safety_center_background_location_access_reminder_summary" msgid="7431657777510537658">"यो एप बन्द हुँदा पनि यसले जुनसुकै बेला तपाईंको लोकेसन प्रयोग गर्न सक्छ।\n\nसुरक्षा तथा आपत्कालीन प्रयोजनका लागि बनाइएका केही एपहरूले राम्रोसँग काम गर्नका निम्ति तपाईंले ती एपहरूलाई ब्याकग्राउन्डमा तपाईंको लोकेसन प्रयोग गर्ने अनुमति दिनु पर्ने हुन्छ।"</string> + <string name="safety_center_background_location_access_reminder_summary" msgid="7431657777510537658">"यो एप बन्द हुँदा पनि यसले जुनसुकै बेला तपाईंको लोकेसन प्रयोग गर्न सक्छ।\n\nसुरक्षा तथा आपत्कालीन प्रयोजनका लागि बनाइएका केही एपहरूले राम्रोसँग काम गर्नका निम्ति तपाईंले ती एपहरूलाई ब्याकग्राउन्डमा तपाईंको लोकेसन प्रयोग गर्ने अनुमति दिनु पर्ने हुन्छ।"</string> <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"अनुमति बदलियो"</string> <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"हालसालै कहिले लोकेसनसम्बन्धी प्रयोग गरिएको थियो हेर्नुहोस्"</string> <string name="privacy_controls_title" msgid="7605929972256835199">"गोपनीयतासम्बन्धी सेटिङ"</string> @@ -611,10 +627,10 @@ <string name="perm_toggle_description" msgid="7801326363741451379">"एप तथा सेवाहरूका हकमा"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"एप तथा सेवाहरूका हकमा। यो सेटिङ अफ गरिएको अवस्थामा तपाईंले आपत्कालीन नम्बरमा कल गर्नुभयो भने माइक्रोफोनसम्बन्धी डेटा अझै पनि सेयर गरिन सक्छ।"</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"लोकेसन प्रयोग गर्ने अनुमति दिइएका एप तथा सेवाहरू हेर्नुहोस्"</string> - <string name="show_clip_access_notification_title" msgid="5168467637351109096">"क्लिपबोर्डका सामग्री प्रयोग गरिँदा सूचना देखाइयोस्"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"मैले कपी गरेका टेक्स्ट, फोटो वा अन्य सामग्री एपहरूले प्रयोग गर्दा म्यासेज देखाइयोस्"</string> - <string name="show_password_title" msgid="2877269286984684659">"पासवर्डहरू देखाइयोस्"</string> - <string name="show_password_summary" msgid="1110166488865981610">"टाइप गर्दै गर्दा वर्णहरू झलक्क देखाइयोस्"</string> + <string name="show_clip_access_notification_title" msgid="5168467637351109096">"क्लिपबोर्डका सामग्री प्रयोग गरिँदा सूचना देखाउनुहोस्"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"मैले कपी गरेका टेक्स्ट, फोटो वा अन्य सामग्री एपहरूले प्रयोग गर्दा म्यासेज देखाउनुहोस्"</string> + <string name="show_password_title" msgid="2877269286984684659">"पासवर्डहरू देखाउनुहोस्"</string> + <string name="show_password_summary" msgid="1110166488865981610">"टाइप गर्दै गर्दा वर्णहरू झलक्क देखाउनुहोस्"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"यो एपले यसले लोकेसन डेटा तेस्रो पक्षसँग सेयर गर्न सक्छ भन्ने जानकारी दिएको छ"</string> <string name="permission_rationale_location_title" msgid="2404797182678793506">"लोकेसन डेटा सेयर गर्नेसम्बन्धी अभ्यास"</string> <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"जानकारी सेयर गर्नेसम्बन्धी अभ्यासको स्रोत"</string> @@ -644,8 +660,24 @@ <string name="shares_location_with_third_parties" msgid="2278051743742057767">"तपाईंको लोकेसन डेटा अहिले तेस्रो पक्षहरूसँग सेयर गरिँदै छ"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"विज्ञापन तथा मार्केटिङ गर्ने प्रयोजनका लागि तपाईंको लोकेसन डेटा अहिले तेस्रो पक्षहरूसँग सेयर गरिँदै छ"</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{पछिल्लो एक दिनभित्र अपडेट गरिएको}=1{पछिल्लो एक दिनभित्र अपडेट गरिएको}other{पछिल्ला # दिनभित्र अपडेट गरिएको}}"</string> - <string name="no_updates_at_this_time" msgid="9031085635689982935">"अहिले कुनै अद्यावधिक जानकारी उपलब्ध छैन"</string> + <string name="no_updates_at_this_time" msgid="9031085635689982935">"अहिले कुनै अपडेट उपलब्ध छैन"</string> <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"जानकारी सेयर गर्नेसम्बन्धी अभ्यासका बारेमा अद्यावधिक जानकारी"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"केही एपहरूले तपाईंको लोकेसन डेटा सेयर गर्न सक्ने तरिका परिवर्तन गरेका छन्"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"सेटिङ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> मा एक्सेस गरिएको"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"हिजो <xliff:g id="TIME_DATE">%1$s</xliff:g> मा एक्सेस गरिएको"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> मा एक्सेस गरिएको"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"तपाईंको एक पटके पासवर्ड 132435 हो"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"प्रतिबन्ध लगाइएका सेटिङ"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"तपाईंको खाताको सुरक्षार्थ यो सेटिङ हाल उपलब्ध छैन।"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"एपले <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> प्रयोग गर्न मागेको अनुमति अस्वीकार गरिएको छ"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"यो एपले तपाईंको व्यक्तिगत तथा वित्तीय जानकारी जोखिममा पार्न सक्ने खालको संवेदनशील अनुमति मागेको छ।<xliff:g id="ID_1"><br><br></xliff:g>तपाईले उक्त प्रतिबन्धित अनुमति नदिएका खण्डमा यो एपले राम्रोसँग काम नगर्न सक्छ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अनुमति दिने तरिका सिक्नुहोस्</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"यो एपले डिफल्ट <xliff:g id="ROLE_NAME">%1$s</xliff:g> का रूपमा काम गर्न मागेको अनुमति अस्वीकार गरिएको छ"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"यो एपले तपाईंका व्यक्तिगत तथा वित्तीय जानकारी जोखिममा पार्न सक्ने खालका संवेदनशील अनुमतिहरू मागेको छ।<xliff:g id="ID_1"><br><br></xliff:g>तपाईंले ती प्रतिबन्धित अनुमति नदिएका खण्डमा यो एपले राम्रोसँग काम नगर्न सक्छ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अनुमति दिने तरिका सिक्नुहोस्</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"एपले मागेको अनुमति अस्वीकार गरिएको छ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"तपाईंले यो अनुमति दिनुभयो भने तपाईंको व्यक्तिगत तथा वित्तीय जानकारी जोखिममा पर्न सक्छ।<xliff:g id="ID_1"><br><br></xliff:g>तपाईंले यो प्रतिबन्धित अनुमति नदिएका खण्डमा यो एपले राम्रोसँग काम नगर्न सक्छ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>अनुमति दिने तरिका सिक्नुहोस्</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"थप जान्नुहोस्"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ठिक छ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"अनुमतिसम्बन्धी अनुरोध रद्द गरिएको छ"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"यो एपले अतिरिक्त अनुमति मागिरहेको छ तर स्ट्रिमिङ सत्रमा अनुमति दिन मिल्दैन। सर्वप्रथम आफ्नो फोनमा अनुमति दिनुहोस्।"</string> </resources> diff --git a/PermissionController/res/values-nl-v34/strings.xml b/PermissionController/res/values-nl-v34/strings.xml index b3265d254..8e0464cbb 100644 --- a/PermissionController/res/values-nl-v34/strings.xml +++ b/PermissionController/res/values-nl-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Beheer de toegang van apps tot je gezondheidsgegevens"</string> <string name="location_settings" msgid="8863940440881290182">"Locatietoegang"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Voor apps en services. Als deze instelling uitstaat, kunnen microfoongegevens nog altijd worden gedeeld als je een alarmnummer belt."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Voor apps en services"</string> </resources> diff --git a/PermissionController/res/values-nl-watch/strings.xml b/PermissionController/res/values-nl-watch/strings.xml index 454676644..4b70e1174 100644 --- a/PermissionController/res/values-nl-watch/strings.xml +++ b/PermissionController/res/values-nl-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Niet aanpasbaar"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Annuleren"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Altijd"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Bij gebruik van de app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Altijd"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Bij gebruik van de app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Altijd"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Bij gebruik van de app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Altijd"</string> </resources> diff --git a/PermissionController/res/values-nl/strings.xml b/PermissionController/res/values-nl/strings.xml index 22be451af..5ffadb0f3 100644 --- a/PermissionController/res/values-nl/strings.xml +++ b/PermissionController/res/values-nl/strings.xml @@ -51,7 +51,7 @@ <string name="permission_revoked_none" msgid="9213345075484381180">"geen rechten ingetrokken"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Toestaan"</string> <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Altijd toestaan"</string> - <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Tijdens gebruik van de app"</string> + <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Tijdens gebruik van app"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Wijzigen in exacte locatie"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Geschatte locatie behouden"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Alleen deze keer"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alle rechten"</string> <string name="other_permissions" msgid="2901186127193849594">"Andere app-mogelijkheden"</string> <string name="permission_request_title" msgid="8790310151025020126">"Rechtenverzoek"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Acties voor installeren/verwijderen niet ondersteund op Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Kiezen waartoe <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang krijgt"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> is geüpdatet. Kies waartoe je deze app toegang wilt geven."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Annuleren"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Altijd alles toestaan"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Altijd vragen"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Niet toestaan"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Exacte locatie"</string> <string name="approximate_image_description" msgid="938803699637069884">"Geschatte locatie"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Exacte locatie gebruiken"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Als de exacte locatie uitstaat, hebben apps toegang tot je geschatte locatie"</string> <string name="app_permission_title" msgid="2090897901051370711">"Rechten: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Toegang tot <xliff:g id="PERM">%1$s</xliff:g> voor deze app"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Toegang tot <xliff:g id="PERM">%1$s</xliff:g> voor deze app op <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Alle rechten van <xliff:g id="APP">%1$s</xliff:g> bekijken"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Alle apps met dit recht bekijken"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Gebruik van Assistent-microfoon tonen"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Rechten intrekken als app niet wordt gebruikt"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Rechten intrekken en ruimte vrijmaken"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"App-activiteit onderbreken indien niet gebruikt"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"App beheren indien ongebruikt"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Verwijder rechten en tijdelijke bestanden, en stop meldingen"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Verwijder rechten en tijdelijke bestanden, stop meldingen en archiveer de app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Om je gegevens te beschermen worden de rechten voor deze app verwijderd als de app een aantal maanden niet is gebruikt."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Om je gegevens te beschermen worden de volgende rechten ingetrokken als de app een paar maanden niet is gebruikt: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Om je gegevens te beschermen zijn de rechten verwijderd van apps die al een paar maanden niet zijn gebruikt."</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"Rechten voor <xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> en <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g> verwijderd"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> en <xliff:g id="NUMBER">%2$s</xliff:g> andere rechten zijn verwijderd"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"Niet-gebruikte apps"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"Als je een app een paar maanden niet gebruikt, gebeurt het volgende:\n\n• De rechten worden ingetrokken om je gegevens te beschermen.\n• Meldingen worden stopgezet om de batterij te sparen.\n• Tijdelijke bestanden worden verwijderd om ruimte vrij te maken.\n\nOpen de app als je de rechten en meldingen weer wilt toestaan."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"Als je een app een paar maanden niet gebruikt, gebeurt het volgende:\n\n• De rechten worden ingetrokken om je gegevens te beschermen.\n• Meldingen worden stopgezet om de batterij te sparen.\n• Tijdelijke bestanden worden verwijderd om ruimte vrij te maken.\n\nOpen de app om rechten en meldingen opnieuw toe te staan."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Als je een app een maand niet gebruikt, gebeurt het volgende:\n\n• De rechten worden verwijderd om je gegevens te beschermen.\n• Tijdelijke bestanden worden verwijderd om ruimte vrij te maken.\n\nOpen de app als je de rechten weer wilt toestaan."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Meer dan # maand geleden voor het laatst geopend}other{Meer dan # maanden geleden voor het laatst geopend}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"App laatst geopend op <xliff:g id="DATE">%s</xliff:g>"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Alle bestanden beheren"</string> <string name="ask_header" msgid="2633816846459944376">"Altijd vragen"</string> <string name="denied_header" msgid="903209608358177654">"Niet toegestaan"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> in <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Bekijk meer apps die toegang tot alle bestanden hebben."</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dag}other{# dagen}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# uur}other{# uur}}"</string> @@ -351,27 +355,27 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Deze apps kunnen je scherm, acties en invoer bekijken, acties uitvoeren en de weergave beheren."</string> <string name="role_assistant_label" msgid="4727586018198208128">"Standaard digitale-assistent-app"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"Digitale-assistent-app"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"Assistentie-apps kunnen je helpen op basis van de informatie op het scherm dat je bekijkt. Bepaalde apps ondersteunen launcher- en spraakinvoerservices voor geïntegreerde ondersteuning."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"Apps voor assistentie kunnen je helpen op basis van de informatie op het scherm dat je bekijkt. Bepaalde apps ondersteunen launcher- en spraakinvoerservices voor geïntegreerde ondersteuning."</string> <string name="role_browser_label" msgid="2877796144554070207">"Standaard browser-app"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Browser-app"</string> - <string name="role_browser_description" msgid="3465253637499842671">"Apps die toegang tot internet geven en de links bekijken waarop je hebt getikt"</string> + <string name="role_browser_description" msgid="3465253637499842671">"Apps die toegang tot internet geven en de links tonen waarop je hebt getikt"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"Wil je <xliff:g id="APP_NAME">%1$s</xliff:g> instellen als je standaard browser-app?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Geen rechten nodig"</string> <string name="role_dialer_label" msgid="1100224146343237968">"Standaard telefoon-app"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Telefoon-app"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"Apps waarmee je kunt bellen en gebeld kunt worden op je apparaat."</string> + <string name="role_dialer_description" msgid="8768708633696539612">"Apps waarmee je kunt bellen en gebeld worden op je apparaat"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"<xliff:g id="APP_NAME">%1$s</xliff:g> instellen als standaard telefoon-app?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Deze app krijgt toegang tot Camera, Contacten, Microfoon, Telefoon en Sms"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"kiezer"</string> <string name="role_sms_label" msgid="8456999857547686640">"Standaard sms-app"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"Sms-app"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Apps waarmee je met je telefoonnummer onder andere sms\'jes, foto\'s en video\'s kunt sturen en ontvangen."</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps waarmee je met je telefoonnummer onder andere korte tekstberichten, foto\'s en video\'s kunt sturen en ontvangen"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Wil je <xliff:g id="APP_NAME">%1$s</xliff:g> instellen als je standaard sms-app?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Deze app krijgt toegang tot Camera, Contacten, Bestanden en media, Microfoon, Telefoon en Sms"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"tekst bericht, tekstbericht, sms, sms\'en, berichten, verzenden, sturen"</string> <string name="role_emergency_label" msgid="7028825857206842366">"Standaardapp voor noodgevallen"</string> <string name="role_emergency_short_label" msgid="2388431453335350348">"Nood-app"</string> - <string name="role_emergency_description" msgid="5051840234887686630">"Apps waarmee je je medische gegevens kunt vastleggen en toegankelijk kunt maken voor hulpverleners; apps waarmee je waarschuwingen ontvangt voor gevaarlijk weer of rampen; apps waarmee je mensen kunt laten weten dat je hulp nodig hebt"</string> + <string name="role_emergency_description" msgid="5051840234887686630">"Apps waarmee je je medische info kunt vastleggen en toegankelijk kunt maken voor hulpverleners; apps waarmee je waarschuwingen krijgt voor gevaarlijk weer of rampen; apps waarmee je mensen kunt laten weten dat je hulp nodig hebt"</string> <string name="role_emergency_request_title" msgid="8469579020654348567">"Wil je <xliff:g id="APP_NAME">%1$s</xliff:g> instellen als je standaard-app voor noodgevallen?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"Geen rechten nodig"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"bij noodgevallen"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notitie-app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps waarmee je notities op je apparaat kunt maken"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notities"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Standaard portemonnee-app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Portemonnee-app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"In portemonnee-apps kun je je creditcards en klantenkaarten, autosleutels en andere zaken opslaan om je te helpen bij verschillende vormen van transacties."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> instellen als je standaard portemonnee-app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Geen rechten nodig"</string> <string name="request_role_current_default" msgid="738722892438247184">"Huidige standaard-app"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Niet meer vragen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Standaard instellen"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Meer standaard-apps"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Links openen"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Standaard voor werk"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Standaard voor privégedeelte"</string> <string name="default_app_none" msgid="9084592086808194457">"Geen"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Systeemstandaard)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Geen apps"</string> @@ -457,75 +467,102 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Activeringsdetectie van de assistent tonen"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Icoon op statusbalk tonen als microfoon wordt gebruikt om de Spraakassistent te activeren"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s en media op je apparaat?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s en media op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot je contacten?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de contacten op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de locatie van dit apparaat?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de locatie van je <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage_isolated (6463062962458809752) --> + <skip /> + <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang heeft tot je contacten?"</string> + <!-- no translation found for permgrouprequest_device_aware_contacts (731025863972535928) --> + <skip /> + <string name="permgrouprequest_location" msgid="6990232580121067883">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang heeft tot de locatie van dit apparaat?"</string> + <!-- no translation found for permgrouprequest_device_aware_location (6075412127429878638) --> + <skip /> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"De app heeft alleen toegang tot de locatie wanneer je de app gebruikt"</string> - <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de locatie van dit apparaat?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de locatie van je <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang heeft tot de locatie van dit apparaat?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_location (1264484517831380016) --> + <skip /> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Deze app wil mogelijk altijd toegang tot je locatie, ook als je de app niet gebruikt. "<annotation id="link">"Je kunt dit toestaan via de instellingen."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Toegang tot locatie wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Toegang tot locatie wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_location (1812338666887726191) --> + <skip /> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Deze app wil altijd toegang tot je locatie, ook als je de app niet gebruikt. "<annotation id="link">"Je kunt dit toestaan via de instellingen."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> apparaten in de buurt vindt, er verbinding mee maakt en de relatieve positie bepaalt?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> apparaten in de buurt vindt, ermee verbinding maakt en de relatieve positie ervan bepaalt op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_nearby_devices (5293478278408567442) --> + <skip /> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> apparaten in de buurt vindt, er verbinding mee maakt en de relatieve positie bepaalt? "<annotation id="link">"Toestaan in Instellingen"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Locatietoegang van <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> wijzigen van geschatte in exacte locatie?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Locatietoegang van <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b> wijzigen van geschat in exact?"</string> + <!-- no translation found for permgrouprequest_device_aware_fineupgrade (4453775952305587571) --> + <skip /> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de geschatte locatie van dit apparaat?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de geschatte locatie van je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_coarselocation (8367540370912066757) --> + <skip /> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exact"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Geschat"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot je agenda?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de agenda op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_calendar (7161929851377463612) --> + <skip /> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om sms\'jes te verzenden en te bekijken?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om sms-berichten te sturen en te bekijken op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sms (6639977653040502291) --> + <skip /> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s, media en bestanden op je apparaat?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s, media en bestanden op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_storage (6933251810928606636) --> + <skip /> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot <b>foto\'s, video\'s, muziek en audio</b> op dit apparaat?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot <b>foto\'s, video\'s, muziek, audio en andere bestanden</b> op dit apparaat?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot muziek en audio op dit apparaat?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot muziek en audio op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s en video\'s op dit apparaat?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot foto\'s en video\'s op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_aural (7927884506238101064) --> + <skip /> + <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang heeft tot foto\'s en video\'s op dit apparaat?"</string> + <!-- no translation found for permgrouprequest_device_aware_read_media_visual (3122576538319059333) --> + <skip /> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot meer foto\'s en video\'s op dit apparaat?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot meer foto\'s en video\'s op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om audio op te nemen?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om audio op te nemen op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_more_photos (1703469013613723053) --> + <skip /> + <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> audio opneemt?"</string> + <!-- no translation found for permgrouprequest_device_aware_microphone (8821701550505437951) --> + <skip /> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Deze app kan alleen audio opnemen als je de app gebruikt"</string> - <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om audio op te nemen?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om audio op te nemen op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> audio opneemt?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_microphone (3321823187623762958) --> + <skip /> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Deze app wil mogelijk altijd audio opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in instellingen."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Toegang tot microfoon wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Toegang tot microfoon wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_microphone (8722411173971679806) --> + <skip /> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Deze app wil altijd audio opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in instellingen."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot je fysieke activiteit?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot je fysieke activiteit op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om foto\'s te maken en video\'s op te nemen?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om foto\'s te maken en video\'s op te nemen op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_activityRecognition (1243869530588745374) --> + <skip /> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> foto\'s maakt en video\'s opneemt?"</string> + <!-- no translation found for permgrouprequest_device_aware_camera (5340173564041615494) --> + <skip /> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Deze app kan alleen foto\'s maken en video\'s opnemen als je de app gebruikt"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om foto\'s te maken en video\'s op te nemen?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om foto\'s te maken en video\'s op te nemen op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_camera (8533353179594971475) --> + <skip /> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Deze app wil mogelijk altijd foto\'s maken en video\'s opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in Instellingen."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Toegang tot camera wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Toegang tot camera wijzigen voor <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_camera (3290160912843715236) --> + <skip /> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Deze app wil altijd foto\'s maken en video\'s opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in Instellingen."</annotation></string> - <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot je gesprekslijsten?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot de gesprekslijsten op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om telefoongesprekken te starten en te beheren?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om telefoongesprekken te starten en te beheren op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang heeft tot je gesprekslijsten?"</string> + <!-- no translation found for permgrouprequest_device_aware_calllog (8220927190376843309) --> + <skip /> + <string name="permgrouprequest_phone" msgid="1829234136997316752">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> telefoongesprekken start en beheert?"</string> + <!-- no translation found for permgrouprequest_device_aware_phone (590399263670349955) --> + <skip /> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot sensorgegevens over je vitale functies?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot sensorgegevens over je vitale functies op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_sensors (3874451050573615157) --> + <skip /> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Deze app wil altijd toegang tot gegevens van lichaamssensoren over je vitale functies, ook als je de app niet gebruikt. "<annotation id="link">"Ga naar Instellingen"</annotation>" als je deze wijziging wilt doorvoeren."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot sensorgegevens over je vitale functies?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang geven tot sensorgegevens over je vitale functies op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgroupbackgroundrequest_device_aware_sensors (3687673359121603824) --> + <skip /> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Als je deze app altijd toegang tot gegevens van lichaamssensoren wilt geven, ook als je de app niet gebruikt, "<annotation id="link">"ga je naar Instellingen"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Instelling behouden dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot gegevens van lichaamssensoren heeft als de app wordt gebruikt?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Blijven toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toegang tot gegevens van lichaamssensoren op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b> heeft als de app wordt gebruikt?"</string> + <!-- no translation found for permgroupupgraderequest_device_aware_sensors (5542771499929819675) --> + <skip /> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Toestaan dat <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> je meldingen stuurt?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> toestaan om je meldingen te sturen op je <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <!-- no translation found for permgrouprequest_device_aware_notifications (857671638951040514) --> + <skip /> <string name="auto_granted_permissions" msgid="6009452264824455892">"Beheerde rechten"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> heeft toegang tot je locatie"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Je organisatie geeft <xliff:g id="APP_NAME">%1$s</xliff:g> toegang tot je locatie"</string> @@ -541,6 +578,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Geen"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Afgelopen\n24 uur"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Afgelopen\n7 dagen"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> procent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> wordt beveiligd door Android. Omdat je gegevens worden verwerkt op dit apparaat, wordt het gebruik van rechten door deze app niet getoond in de statusbalk of op je privacydashboard."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> wordt beveiligd door Android. Omdat je gegevens worden verwerkt op dit apparaat, wordt het gebruik van rechten door deze app niet getoond op je privacydashboard."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Camera van apparaat is geblokkeerd"</string> @@ -549,6 +587,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Voor apps en services"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Microfoongegevens kunnen nog altijd worden gedeeld als je een alarmnummer belt."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Wijzigen"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Cameratoegang staat uit"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Voor infotainment-apps"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Voor vereiste apps"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Deze app is vereist"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Deze app wordt vereist door de fabrikant van je auto"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Beveiliging en privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Apparaat scannen"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Sluiten"</string> @@ -610,7 +653,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Microfoontoegang"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Voor apps en services"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Voor apps en services. Als deze instelling uitstaat, kunnen microfoongegevens nog altijd worden gedeeld als je een alarmnummer belt."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Bekijk apps en services die toegang hebben tot die locatie"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Bekijk apps en services die toegang hebben tot de locatie"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Toegang tot klembord tonen"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Toon een bericht als apps toegang hebben tot tekst, afbeeldingen of andere content die je hebt gekopieerd"</string> <string name="show_password_title" msgid="2877269286984684659">"Wachtwoorden tonen"</string> @@ -637,9 +680,9 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Locatiegegevens kunnen worden gedeeld"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Deze app geeft aan dat je locatiegegevens met derden kunnen worden gedeeld"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Updates voor het delen van locatiegegevens"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"Check apps die de manier hebben veranderd waarop je locatiegegevens worden gedeeld"</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"Ga na welke apps de manier hebben veranderd waarop je locatiegegevens worden gedeeld"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Deze apps hebben de manier veranderd waarop ze je locatiegegevens kunnen delen. Misschien deelden ze de gegevens eerder niet, of kunnen ze deze nu delen voor reclame- en marketingdoeleinden."</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"De ontwikkelaars van deze apps hebben informatie gegeven aan een appstore over hun procedures voor gegevens delen. Ze kunnen deze informatie in de loop van de tijd updaten.\n\nProcedures voor gegevens delen kunnen verschillen op basis van je app-versie, gebruik, regio en leeftijd."</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"De ontwikkelaars van deze apps hebben informatie gegeven aan een appstore over de manier waarop ze gegevens delen. Ze kunnen deze informatie in de loop van de tijd updaten.\n\nProcedures voor gegevens delen kunnen verschillen op basis van je app-versie, gebruik, regio en leeftijd."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Meer informatie over gegevens delen"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Je locatiegegevens worden nu gedeeld met derden"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Je locatiegegevens worden nu gedeeld met derden voor advertentie- of marketingdoeleinden"</string> @@ -648,4 +691,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Updates voor gegevens delen"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Sommige apps kunnen je locatiegegevens nu op een andere manier delen"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Instellingen"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Geopend: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Geopend: gisteren om <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Geopend: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> om <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Je eenmalige wachtwoord is 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Beperkte instelling"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ter beveiliging is deze instelling op dit moment niet beschikbaar."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"App heeft geen toegang gekregen tot <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"De app heeft toegang gevraagd tot een gevoelig recht, waardoor je persoonlijke en financiële informatie risico kunnen lopen.<xliff:g id="ID_1"><br><br></xliff:g>Het is mogelijk dat de app niet goed werkt zonder dit beperkte recht. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Meer informatie over hoe je toegang geeft</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"App heeft geen toegang gekregen om de standaard <xliff:g id="ROLE_NAME">%1$s</xliff:g> te worden"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"De app heeft toegang gevraagd tot gevoelige rechten, waardoor je persoonlijke en financiële informatie risico kunnen lopen.<xliff:g id="ID_1"><br><br></xliff:g>Het is mogelijk dat de app niet goed werkt zonder deze beperkte rechten. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Meer informatie over hoe je toegang geeft</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"App heeft geen toegang gekregen"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Als je toegang geeft tot dit recht, kunnen je persoonlijke en financiële informatie risico lopen.<xliff:g id="ID_1"><br><br></xliff:g>Het is mogelijk dat de app niet goed werkt zonder dit beperkte recht. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Meer informatie over hoe je toegang geeft</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Meer informatie"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Verzoek om rechten onderdrukt"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Deze app vraagt om extra rechten, maar je kunt geen rechten verlenen tijdens een streamingsessie. Verleen het recht eerst op je telefoon."</string> </resources> diff --git a/PermissionController/res/values-or-v34/strings.xml b/PermissionController/res/values-or-v34/strings.xml index 2994a3f25..8e9b52f97 100644 --- a/PermissionController/res/values-or-v34/strings.xml +++ b/PermissionController/res/values-or-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ସ୍ୱାସ୍ଥ୍ୟ ଡାଟା ପାଇଁ ଆପର ଆକ୍ସେସକୁ ପରିଚାଳନା କରନ୍ତୁ"</string> <string name="location_settings" msgid="8863940440881290182">"ଲୋକେସନ ଆକ୍ସେସ"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ଆପ୍ସ ଏବଂ ସେବାଗୁଡ଼ିକ ପାଇଁ। ଯଦି ଏହି ସେଟିଂ ବନ୍ଦ ଥାଏ, ତେବେ ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ କରିବା ସମୟରେ ମାଇକ୍ରୋଫୋନ ଡାଟା ଏବେ ବି ସେୟାର କରାଯାଇପାରେ"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ଆପ୍ସ ଏବଂ ସେବାଗୁଡ଼ିକ ପାଇଁ"</string> </resources> diff --git a/PermissionController/res/values-or-watch/strings.xml b/PermissionController/res/values-or-watch/strings.xml index ef9515f25..579128b3f 100644 --- a/PermissionController/res/values-or-watch/strings.xml +++ b/PermissionController/res/values-or-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ଏହା ବଦଳାଯାଇପାରିବ ନାହିଁ"</string> <string name="generic_yes" msgid="2489207724988649846">"ହଁ"</string> <string name="generic_cancel" msgid="2631708607129269698">"ବାତିଲ କରନ୍ତୁ"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ସର୍ବଦା"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ଆପ ବ୍ୟବହାର କରିବା ସମୟରେ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ସର୍ବଦା"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ଆପ ବ୍ୟବହାର କରିବା ସମୟରେ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ସର୍ବଦା"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ଆପ ବ୍ୟବହାର କରିବା ସମୟରେ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ସର୍ବଦା"</string> </resources> diff --git a/PermissionController/res/values-or/strings.xml b/PermissionController/res/values-or/strings.xml index beb7572ba..e820b06fe 100644 --- a/PermissionController/res/values-or/strings.xml +++ b/PermissionController/res/values-or/strings.xml @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"ଆପଣ <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>କୁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଆକ୍ସେସ ଅଗ୍ରାହ୍ୟ କରିଛନ୍ତି"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{ଆଜି}=1{1 ଦିନ ପୂର୍ବେ}other{# ଦିନ ପୂର୍ବେ}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"ଆପ୍ ଅକ୍ଷମ କରନ୍ତୁ"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"ଯଦି ଆପଣ ଏହି ଆପକୁ ଅକ୍ଷମ କରିବେ, ତେବେ Android ଓ ଅନ୍ୟ ଆପଗୁଡ଼ିକ ଆଉ ଆଶାନୁରୂପେ କାର୍ଯ୍ୟ କରିନପାରେ। ମନେରଖନ୍ତୁ ଯେ, ଏହି ଆପ୍ ଆପଣଙ୍କ ଡିଭାଇସରେ ପୂର୍ବରୁ-ଇନଷ୍ଟଲ୍ କରାଯାଇଥିବା ଯୋଗୁଁ ଆପଣ ଏହାକୁ ଡିଲିଟ୍ କରିପାରିବେ ନାହିଁ। ଅକ୍ଷମ କରି, ଆପଣ ଏହି ଆପକୁ ବନ୍ଦ କରିଦିଅନ୍ତି ଏବଂ ଆପଣଙ୍କ ଡିଭାଇସରେ ଲୁଚାଇଦିଅନ୍ତି।"</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"ଯଦି ଆପଣ ଏହି ଆପକୁ ଅକ୍ଷମ କରିବେ, ତେବେ Android ଓ ଅନ୍ୟ ଆପ୍ସ ଆଉ ଆଶାନୁରୂପେ କାର୍ଯ୍ୟ କରିନପାରେ। ମନେରଖନ୍ତୁ ଯେ, ଏହି ଆପ ଆପଣଙ୍କ ଡିଭାଇସରେ ପୂର୍ବରୁ-ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଯୋଗୁଁ ଆପଣ ଏହାକୁ ଡିଲିଟ କରିପାରିବେ ନାହିଁ। ଅକ୍ଷମ କରିବା ଫଳରେ ଆପଣ ଏହି ଆପକୁ ବନ୍ଦ କରି ଆପଣଙ୍କ ଡିଭାଇସରେ ଲୁଚାଇଦିଅନ୍ତି।"</string> <string name="app_permission_manager" msgid="3903811137630909550">"ଅନୁମତି ପରିଚାଳକ"</string> <string name="never_ask_again" msgid="4728762438198560329">"ପୁଣି ପଚାରନ୍ତୁ ନାହିଁ"</string> <string name="no_permissions" msgid="3881676756371148563">"କୌଣସି ଅନୁମତିଗୁଡ଼ିକ ନାହିଁ"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ସମସ୍ତ ଅନୁମତିଗୁଡ଼ିକ"</string> <string name="other_permissions" msgid="2901186127193849594">"ଅନ୍ୟାନ୍ୟ ଆପ୍ ଦକ୍ଷତା"</string> <string name="permission_request_title" msgid="8790310151025020126">"ଅନୁମତି ଅନୁରୋଧ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android ୱିୟର୍"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ୱିୟର୍ରେ ଇନଷ୍ଟଲ୍/ଅନଇନଷ୍ଟଲ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକ ସମର୍ଥନ କରେନାହିଁ।"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ଆକ୍ସେସ୍ କରିବା ପାଇଁ କେଉଁସବୁ ଅନୁମତି ଦିଆଯିବ, ତାହା ବାଛନ୍ତୁ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ଅପଡେଟ୍ କରାଯାଇଛି। ଏହି ଆପ୍ କେଉଁସବୁ ଆକ୍ସେସ୍ କରିପାରିବ, ତାହା ବାଛନ୍ତୁ।"</string> <string name="review_button_cancel" msgid="2191147944056548886">"ବାତିଲ କରନ୍ତୁ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ସର୍ବଦା ସବୁକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ପ୍ରତ୍ୟେକ ଥର ପଚାରନ୍ତୁ"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ସଠିକ୍ ଲୋକେସନ୍"</string> <string name="approximate_image_description" msgid="938803699637069884">"ଆନୁମାନିକ ଲୋକେସନ୍"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ସଠିକ୍ ଲୋକେସନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ଯେତେବେଳେ ସଠିକ୍ ଲୋକେସନ୍ ବନ୍ଦ ଥାଏ, ସେତେବେଳେ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କ ଆନୁମାନିକ ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> ଅନୁମତି"</string> <string name="app_permission_header" msgid="2951363137032603806">"ଏହି ଆପ ପାଇଁ <xliff:g id="PERM">%1$s</xliff:g>ର ଆକ୍ସେସ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>ରେ ଏହି ଆପ ପାଇଁ <xliff:g id="PERM">%1$s</xliff:g> ଆକ୍ସେସ ଅଛି"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ସମସ୍ତ <xliff:g id="APP">%1$s</xliff:g> ଅନୁମତି ଦେଖନ୍ତୁ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ଏହି ଅନୁମତି ଥିବା ସମସ୍ତ ଆପ୍ସ ଦେଖନ୍ତୁ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant ମାଇକ୍ରୋଫୋନ୍ ବ୍ୟବହାର ଦେଖାନ୍ତୁ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ଯଦି ଆପ୍ ବ୍ୟବହାର କରାଯାଇନାହିଁ, ତେବେ ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ସ୍ପେସ୍ ଖାଲି କରନ୍ତୁ"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ବ୍ୟବହାର ହେଉନଥିଲେ ଆପ କାର୍ଯ୍ୟକଳାପ ବିରତ କରନ୍ତୁ"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ଆପକୁ ବ୍ୟବହାର କରାଯାଉନଥିଲେ ପରିଚାଳନା କରନ୍ତୁ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ, ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡ଼ିକୁ ଡିଲିଟ କରନ୍ତୁ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ, ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡ଼ିକୁ ଡିଲିଟ କରନ୍ତୁ, ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ ଏବଂ ଆପକୁ ଆର୍କାଇଭ କରନ୍ତୁ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ଯଦି ଏହି ଆପକୁ କିଛି ମାସ ପାଇଁ ବ୍ୟବହାର କରାଯାଇନାହିଁ, ତେବେ ଆପଣଙ୍କ ଡାଟାର ସୁରକ୍ଷା ନିମନ୍ତେ ଏହାର ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ।"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ଯଦି ଏହି ଆପକୁ କିଛି ମାସ ପାଇଁ ବ୍ୟବହାର କରାଯାଇନାହିଁ ତେବେ ଆପଣଙ୍କ ଡାଟାର ସୁରକ୍ଷା ନିମନ୍ତେ, ନିମ୍ନୋକ୍ତ ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ଆପଣଙ୍କ ଡାଟାର ସୁରକ୍ଷା ପାଇଁ, ଆପଣ କିଛି ମାସ ହେଲା ବ୍ୟବହାର କରିନଥିବା ଆପଗୁଡ଼ିକରୁ ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯାଇଛି।"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ସମସ୍ତ ଫାଇଲ୍ ପରିଚାଳନା କରିବାକୁ ଅନୁମତି ଦିଆଯାଇଛି"</string> <string name="ask_header" msgid="2633816846459944376">"ପ୍ରତ୍ୟେକ ଥର ପଚାରନ୍ତୁ"</string> <string name="denied_header" msgid="903209608358177654">"ଅନୁମତି ନାହିଁ"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>ର <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ କରିପାରୁଥିବା ଅଧିକ ଆପ୍ସ ଦେଖନ୍ତୁ"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ଦିନ}other{# ଦିନ}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ଘଣ୍ଟା}other{# ଘଣ୍ଟା}}"</string> @@ -354,10 +358,10 @@ <string name="role_assistant_description" msgid="6622458130459922952">"ଆପଣ ଦେଖୁଥିବା ସ୍କ୍ରିନ୍ ସୂଚନାକୁ ଆଧାର କରି ସହାୟକ ଆପ୍ ଆପଣଙ୍କୁ ସାହାଯ୍ୟ କରିପାରିବ। କେତେକ ଆପ୍, ଆପଣଙ୍କୁ ଉତ୍ତମ ସହାୟତା ଦେବା ପାଇଁ, ଉଭୟ ଲଞ୍ଚର୍ ଓ ଭଏସ୍ ଇନପୁଟ୍ ସେବାକୁ ସମର୍ଥନ କରେ।"</string> <string name="role_browser_label" msgid="2877796144554070207">"ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଆପ୍"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ବ୍ରାଉଜର୍ ଆପ୍"</string> - <string name="role_browser_description" msgid="3465253637499842671">"ଆପ୍ସ ଯାହା ଆପଣଙ୍କୁ ଇଣ୍ଟର୍ନେଟ୍ ପାଇଁ ଆକ୍ସେସ୍ ଦିଏ ଏବଂ ଆପଣ ଟାପ୍ କରିଥିବା ଲିଙ୍କ୍ଗୁଡ଼ିକ ପ୍ରଦର୍ଶନ କରେ"</string> + <string name="role_browser_description" msgid="3465253637499842671">"ଆପ୍ସ ଯାହା ଆପଣଙ୍କୁ ଇଣ୍ଟର୍ନେଟ ପାଇଁ ଆକ୍ସେସ ଦିଏ ଏବଂ ଆପଣ ଟାପ କରୁଥିବା ଲିଙ୍କଗୁଡ଼ିକୁ ଡିସପ୍ଲେ କରେ"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଭାବେ ସେଟ୍ କରିବେ କି?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"କୌଣସି ଅନୁମତି ଆବଶ୍ୟକ ନାହିଁ"</string> - <string name="role_dialer_label" msgid="1100224146343237968">"ଡିଫଲ୍ଟ ଫୋନ୍ ଆପ୍"</string> + <string name="role_dialer_label" msgid="1100224146343237968">"ଡିଫଲ୍ଟ ଫୋନ ଆପ"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"ଫୋନ୍ ଆପ୍"</string> <string name="role_dialer_description" msgid="8768708633696539612">"ଆପ୍ସ, ଯାହା ଆପଣଙ୍କୁ ଆପଣଙ୍କର ଡିଭାଇସ୍ରେ ଟେଲିଫୋନ୍ କଲ୍ କରିବାକୁ ଏବଂ ଗ୍ରହଣ କରିବାକୁ ଅନୁମତି ଦିଏ"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ ଫୋନ୍ ଆପ୍ ଭାବରେ ସେଟ୍ କରିବେ କି?"</string> @@ -386,7 +390,7 @@ <string name="role_call_redirection_description" msgid="6091669882014664420">"ସେହି ଆପ୍ସ ଯାହା ଆଉଟ୍ଗୋଇଂ କଲ୍ଗୁଡ଼ିକୁ ଅନ୍ୟ ଏକ ଫୋନ୍ ନମ୍ବରକୁ ଫର୍ୱାର୍ଡ କରିବାକୁ ଆପଣଙ୍କୁ ଅନୁମତି ଦିଏ"</string> <string name="role_call_redirection_request_title" msgid="2816244455003562925">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ କଲ୍ ପୁନଃନିର୍ଦ୍ଦେଶନା ଆପ୍ ଭାବରେ ସେଟ୍ କରିବେ କି?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"କୌଣସି ଅନୁମତି ଆବଶ୍ୟକ ନାହିଁ"</string> - <string name="role_call_screening_label" msgid="883935222060878724">"ଡିଫଲ୍ଟ କଲର୍ ID & ସ୍ପାମ୍ ଆପ୍"</string> + <string name="role_call_screening_label" msgid="883935222060878724">"ଡିଫଲ୍ଟ କଲର ID ଏବଂ ସ୍ପାମ ଆପ"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"କଲର୍ ID & ସ୍ପାମ୍ ଆପ୍"</string> <string name="role_call_screening_description" msgid="2349431420497468981">"ସେହି ଆପ୍ସ ଯାହା କଲଗୁଡ଼ିକୁ ଚିହ୍ନଟ କରିବା, ସ୍ପାମ୍ ଓ ରୋବୋକଲ୍ ବା ଅଦରକାରୀ ନମ୍ବରଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରିବାକୁ ଅନୁମତି ଦିଏ"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଆପଣଙ୍କର ଡିଫଲ୍ଟ କଲର୍ ଆଇଡି & ସ୍ପାମ୍ ଆପ୍ ଭାବ୍ ସେଟ୍ କରିବେ କି?"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"ନୋଟ୍ସ ଆପ"</string> <string name="role_notes_description" msgid="8496852798616883551">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପଣଙ୍କୁ ନୋଟ ନେବା ପାଇଁ ଅନୁମତି ଦେଉଥିବା ଆପ୍ସ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ନୋଟ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ଡିଫଲ୍ଟ ୱାଲେଟ ଆପ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"ୱାଲେଟ ଆପ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"ବିଭିନ୍ନ ପ୍ରକାରର ଟ୍ରାଞ୍ଜେକସନରେ ସାହାଯ୍ୟ କରିବାକୁ ୱାଲେଟ ଆପ୍ସ ଆପଣଙ୍କ କ୍ରେଡିଟ ଓ ଲୟାଲ୍ଟି କାର୍ଡ, କାର କୀ ଏବଂ ଅନ୍ୟ ଜିନିଷଗୁଡ଼ିକୁ ଷ୍ଟୋର କରିପାରିବ।"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ ୱାଲେଟ ଆପ ଭାବେ ସେଟ କରିବେ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"କୌଣସି ଅନୁମତି ଆବଶ୍ୟକ ନାହିଁ"</string> <string name="request_role_current_default" msgid="738722892438247184">"ସମ୍ପ୍ରତ୍ତି ଡିଫଲ୍ଟ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ଆଉ ପଚାରନ୍ତୁ ନାହିଁ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ଡିଫଲ୍ଟ ଭାବେ ସେଟ୍ କରନ୍ତୁ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"ଅଧିକ ଡିଫଲ୍ଟଗୁଡ଼ିକ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ଓପନିଂ ଲିଙ୍କ୍"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"କାର୍ଯ୍ୟ ପାଇଁ ଡିଫଲ୍ଟ ଅଛି"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଡିଫଲ୍ଟ"</string> <string name="default_app_none" msgid="9084592086808194457">"କିଛି ଆପ ସେଟ କରାଯାଇନାହିଁ"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ସିଷ୍ଟମ୍ ଡିଫଲ୍ଟ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"କୌଣସି ଆପ୍ ନାହିଁ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"ଆସିଷ୍ଟାଣ୍ଟ ଟ୍ରିଗର୍ ଚିହ୍ନଟକରଣ ଦେଖାନ୍ତୁ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ଭଏସ୍ ଆସିଷ୍ଟାଣ୍ଟ୍ ସକ୍ରିୟ କରିବା ପାଇଁ ମାଇକ୍ରୋଫାନ୍ ବ୍ୟବହାର କରୁଥିବା ସମୟରେ ସ୍ଥିତି ବାର୍ରେ ଆଇକନ୍ ଦେଖାନ୍ତୁ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"ଆପଣଙ୍କ ଡିଭାଇସ୍ରେ ଥିବା ଫଟୋ ଓ ମିଡିଆ ଆକ୍ସେସ୍ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ ଏବଂ ମିଡିଆକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ ଏବଂ ମିଡିଆକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ଏହି ଡିଭାଇସର ଲୋକେସନ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ର</b> ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ର ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ଆପଣ ଆପ୍ ବ୍ୟବହାର କରୁଥିବା ବେଳେ କେବଳ ଲୋକେସନ୍କୁ ଆପ୍ର ଆକ୍ସେସ୍ ରହିବ।"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ଏହି ଡିଭାଇସ୍ର ଲୋକେସନ୍ ଆକ୍ସେସ୍ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ର ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ର ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ଆପଣ ଆପ୍ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହି ଆପ୍ ସବୁ ସମୟରେ ଆପଣଙ୍କର ଲୋକେସନ୍ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହିଁପାରେ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ଲୋକେସନ୍ ଆକ୍ସେସ୍ ବଦଳାଇବେ କି?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ଲୋକେସନ ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ଲୋକେସନ ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ଆପଣ ଆପ୍ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହି ଆପ୍ ସବୁ ସମୟରେ ଆପଣଙ୍କର ଲୋକେସନ୍ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହେଁ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ଖୋଜିବା, କନେକ୍ଟ ଏବଂ ନିର୍ଦ୍ଧାରଣ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଆଖପାଖର ଡିଭାଇସର ଆପେକ୍ଷିକ ସ୍ଥିତିକୁ ଖୋଜିବା, କନେକ୍ଟ ଓ ସ୍ଥିର କରିବାକୁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ଖୋଜିବା, କନେକ୍ଟ ଓ ସ୍ଥିର କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ଖୋଜିବା, ସଂଯୋଗ ଏବଂ ନିର୍ଦ୍ଧାରଣ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ? "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ର ଲୋକେସନ୍ ଆକ୍ସେସକୁ ଆନୁମାନିକରୁ ସଠିକକୁ ବଦଳାଇବେ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ର ଲୋକେସନ ଆକ୍ସେସକୁ ଆନୁମାନିକରୁ ସଠିକକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ର ଲୋକେସନ ଆକ୍ସେସକୁ ଆନୁମାନିକରୁ ସଠିକକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ଏହି ଡିଭାଇସର ଆନୁମାନିକ ଲୋକେସନ୍ ଆକ୍ସେସ୍ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ର ଆନୁମାନିକ ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ର ଆନୁମାନିକ ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ସଠିକ୍"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"(ଆନୁମାନିକ)"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଆପଣଙ୍କ କ୍ୟାଲେଣ୍ଡର୍କୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କର କେଲେଣ୍ଡରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କ କେଲେଣ୍ଡରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ SMS ମେସେଜ୍ ପଠାଇବା ଓ ଦେଖିବା ପାଇଁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ SMS ମେସେଜ ପଠାଇବା ଏବଂ ଭ୍ୟୁ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ SMS ମେସେଜ ପଠାଇବା ଏବଂ ଭ୍ୟୁ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଆପଣଙ୍କ ଡିଭାଇସରେ ଥିବା ଫଟୋ, ମିଡିଆ ଓ ଫାଇଲ୍ ଆକ୍ସେସ୍ କରିବାକୁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ, ମିଡିଆ ଏବଂ ଫାଇଲକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ, ମିଡିଆ ଏବଂ ଫାଇଲକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ଏହି ଡିଭାଇସରେ ଥିବା <b>ଫଟୋ, ଭିଡିଓ, ମ୍ୟୁଜିକ ଓ ଅଡିଓ</b>କୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"ଏହି ଡିଭାଇସରେ ଥିବା<b>ଫଟୋ, ଭିଡିଓ, ମ୍ୟୁଜିକ, ଅଡିଓ ଓ ଅନ୍ୟ ଫାଇଲ</b> ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ଏହି ଡିଭାଇସରେ ଥିବା ମ୍ୟୁଜିକ ଏବଂ ଅଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା ମ୍ୟୁଜିକ ଏବଂ ଅଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ମ୍ୟୁଜିକ ଏବଂ ଅଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ଏହି ଡିଭାଇସରେ ଥିବା ଫଟୋ ଏବଂ ଭିଡିଓଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ ଏବଂ ଭିଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ଫଟୋ ଏବଂ ଭିଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ଏହି ଡିଭାଇସରେ ଥିବା ଅଧିକ ଫଟୋ ଏବଂ ଭିଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଥିବା ଅଧିକ ଫଟୋ ଏବଂ ଭିଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଥିବା ଅଧିକ ଫଟୋ ଏବଂ ଭିଡିଓକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଅଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଅଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁଥିବା ସମୟରେ କେବଳ ଏହା ଅଡିଓ ରେକର୍ଡ କରିବାକୁ ସକ୍ଷମ ହେବ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅଡିଓ ରେକର୍ଡ କରିବାକୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଅଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଅଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହା ସବୁ ସମୟରେ ଅଡିଓ ରେକର୍ଡ କରିବାକୁ ଚାହିଁ ପାରେ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ମାଇକ୍ରୋଫୋନର ଆକ୍ସେସ୍ ବଦଳାଇବେ କି?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ମାଇକ୍ରୋଫୋନ ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ ମାଇକ୍ରୋଫୋନ ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହା ସବୁ ସମୟରେ ଅଡିଓ ରେକର୍ଡ କରିବାକୁ ଚାହେଁ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"ଆପଣ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଆପଣଙ୍କର ଶାରୀରିକ କାର୍ଯ୍ୟକଳାପକୁ ଆକ୍ସେସ୍ କରିବାକୁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କର ଶାରୀରିକ କାର୍ଯ୍ୟକଳାପକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କ ଶାରୀରିକ କାର୍ଯ୍ୟକଳାପକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଫଟୋ ଉଠାଇବାକୁ ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବାକୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଫଟୋ ଉଠାଇବା ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଫଟୋ ଉଠାଇବା ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁଥିବା ସମୟରେ କେବଳ ଏହା ଛବି ନେବାକୁ ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବାକୁ ସକ୍ଷମ ହେବ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଫଟୋ ଉଠାଇବାକୁ ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବାକୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଫଟୋ ଉଠାଇବା ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଫଟୋ ଉଠାଇବା ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହା ସବୁ ସମୟରେ ଛବି ନେବାକୁ ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବାକୁ ଚାହିଁ ପାରେ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ କ୍ୟାମେରାର ଆକ୍ସେସ୍ ବଦଳାଇବେ କି?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ କେମେରା ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ପାଇଁ କେମେରା ଆକ୍ସେସକୁ ପରିବର୍ତ୍ତନ କରିବେ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ଆପଣ ଆପକୁ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହା ସବୁ ସମୟରେ ଛବି ନେବାକୁ ଏବଂ ଭିଡିଓ ରେକର୍ଡ କରିବାକୁ ଚାହେଁ। "<annotation id="link">"ସେଟିଂସରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"ଆପଣଙ୍କ ଫୋନର କଲ ଲଗ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କର ଫୋନ କଲ ଲଗଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କ ଫୋନ କଲ ଲଗକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଫୋନ କଲ କରିବାକୁ ତଥା ପରିଚାଳନା କରିବାକୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଫୋନ କଲ କରିବା ଏବଂ ସେଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଫୋନ କଲଗୁଡ଼ିକ କରିବା ଏବଂ ସେଗୁଡ଼ିକୁ ପରିଚାଳନା କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଆପଣଙ୍କ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର୍ ଡାଟା ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ମହତ୍ତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ସଙ୍କେତ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ଆପଣ ଆପ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ଏହି ଆପ ସବୁ ସମୟରେ ଆପଣଙ୍କ ମହତ୍ତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଚାହେଁ। ଏହି ପରିବର୍ତ୍ତନ କରିବାକୁ, "<annotation id="link">"ସେଟିଂସକୁ ଯାଆନ୍ତୁ।"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"ଆପଣଙ୍କ ମହତ୍ତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ କି?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ମହତ୍ତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ସଙ୍କେତ ବିଷୟରେ ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ଆପଣ ଆପ ବ୍ୟବହାର କରୁନଥିଲେ ମଧ୍ୟ, ବଡି ସେନ୍ସର ଡାଟାକୁ ସର୍ବଦା ଆକ୍ସେସ କରିବା ନିମନ୍ତେ ଏହି ଆପକୁ ଅନୁମତି ଦେବା ପାଇଁ, "<annotation id="link">"ସେଟିଂସକୁ ଯାଆନ୍ତୁ।"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ଆପ ବ୍ୟବହାରରେ ଥିବା ସମୟରେ ବଡି ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବା ଜାରି ରଖିବେ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ଆପକୁ ବ୍ୟବହାର କରାଯାଉଥିବା ବେଳେ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ବଡି ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବା ଜାରି ରଖିବେ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"ଆପକୁ ବ୍ୟବହାର କରାଯାଉଥିବା ବେଳେ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ବଡି ସେନ୍ସର ଡାଟାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବା ଜାରି ରଖିବେ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"ଆପଣଙ୍କ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ରେ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇବା ପାଇଁ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ନିୟନ୍ତ୍ରିତ ଅନୁରୋଧଗୁଡ଼ିକ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g>ର ଲୋକେସନ ଆକ୍ସେସ ଅଛି"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ଆପଣଙ୍କ ଲୋକେସନକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଆପଣଙ୍କ ସଂସ୍ଥା <xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଅନୁମତି ଦିଏ"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"କିଛି ନାହିଁ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ଗତ\n24 ଘଣ୍ଟା"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ଗତ\n7 ଦିନ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ଶତକଡ଼ା"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ Android ଦ୍ୱାରା ସୁରକ୍ଷିତ କରାଯାଇଛି। ଏହି ଡିଭାଇସରେ ଆପଣଙ୍କ ଡାଟା ପ୍ରକ୍ରିୟାକରଣ କରାଯାଇଥିବା ଯୋଗୁଁ ଏହି ଆପର ଅନୁମତି ବ୍ୟବହାରର ସୂଚନା ଷ୍ଟାଟସ୍ ବାରରେ କିମ୍ବା ଆପଣଙ୍କ ଗୋପନୀୟତା ଡ୍ୟାସବୋର୍ଡରେ ଦେଖାଯାଉ ନାହିଁ।"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ Android ଦ୍ୱାରା ସୁରକ୍ଷିତ କରାଯାଇଛି। ଏହି ଡିଭାଇସରେ ଆପଣଙ୍କ ଡାଟା ପ୍ରକ୍ରିୟାକରଣ କରାଯାଇଥିବା ଯୋଗୁଁ ଏହି ଆପର ଅନୁମତି ବ୍ୟବହାରର ସୂଚନା ଆପଣଙ୍କ ଗୋପନୀୟତା ଡ୍ୟାସବୋର୍ଡରେ ଦେଖାଯାଉ ନାହିଁ।"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ଡିଭାଇସର କ୍ୟାମେରାକୁ ବ୍ଲକ କରାଯାଇଛି"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ଆପ ଓ ସେବାଗୁଡ଼ିକ ପାଇଁ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ କରିବା ସମୟରେ ମାଇକ୍ରୋଫୋନ ଡାଟା ଏବେ ବି ସେୟାର କରାଯାଇପାରେ।"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"କେମେରା ଆକ୍ସେସ ବନ୍ଦ ଅଛି"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ଇନଫୋଟେନମେଣ୍ଟ ଆପ୍ସ ପାଇଁ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ଆବଶ୍ୟକୀୟ ଆପ୍ସ ପାଇଁ"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ଏହି ଆପ ଆବଶ୍ୟକ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ଆପଣଙ୍କ କାରର ନିର୍ମାତାଙ୍କ ଦ୍ୱାରା ଏହି ଆପ ଆବଶ୍ୟକ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ସୁରକ୍ଷା ଏବଂ ଗୋପନୀୟତା"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ଡିଭାଇସକୁ ସ୍କାନ କରନ୍ତୁ"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ଖାରଜ କରନ୍ତୁ"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ଡାଟା ସେୟାରିଂ ଅପଡେଟଗୁଡ଼ିକ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"କିଛି ଆପ୍ସ ଆପଣଙ୍କ ଲୋକେସନ ଡାଟା ସେୟାର କରିବା ଉପାୟକୁ ପରିବର୍ତ୍ତନ କରିଛି"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ସେଟିଂସ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇଛି"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ଗତକାଲି <xliff:g id="TIME_DATE">%1$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇଛି"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇଛି"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ଆପଣଙ୍କ ଗୋଟିଏ ଥରର ପାସୱାର୍ଡ ହେଉଛି 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ପ୍ରତିବନ୍ଧିତ ସେଟିଂ"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ଆପଣଙ୍କ ସୁରକ୍ଷା ପାଇଁ ଏହି ସେଟିଂ ବର୍ତ୍ତମାନ ଅନୁପଲବ୍ଧ ଅଟେ।"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>କୁ ଆପର ଆକ୍ସେସକୁ ଅଗ୍ରାହ୍ୟ କରାଯାଇଛି"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ଆପଣଙ୍କ ବ୍ୟକ୍ତିଗତ ଏବଂ ଆର୍ଥିକ ସୂଚନାକୁ ବିପଦରେ ପକାଇପାରୁଥିବା ଏକ ସମ୍ବେଦନଶୀଳ ଅନୁମତିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଏହି ଆପଟି ଅନୁରୋଧ କରିଛି।<xliff:g id="ID_1"><br><br></xliff:g>ଏହା ସମ୍ଭବ ଯେ ଏହି ପ୍ରତିବନ୍ଧିତ ଅନୁମତି ବିନା ଆପ ସଠିକ ଭାବେ କାର୍ଯ୍ୟ କରିବ ନାହିଁ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ଆକ୍ସେସକୁ କିପରି ଅନୁମତି ଦେବେ ତାହା ଜାଣନ୍ତୁ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ଡିଫଲ୍ଟ <xliff:g id="ROLE_NAME">%1$s</xliff:g> ହେବା ପାଇଁ ଆପର ଆକ୍ସେସକୁ ଅଗ୍ରାହ୍ୟ କରାଯାଇଛି"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ଆପଣଙ୍କ ବ୍ୟକ୍ତିଗତ ଏବଂ ଆର୍ଥିକ ସୂଚନାକୁ ବିପଦରେ ପକାଇପାରୁଥିବା ସମ୍ବେଦନଶୀଳ ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଏହି ଆପଟି ଅନୁରୋଧ କରିଛି।<xliff:g id="ID_1"><br><br></xliff:g>ଏହା ସମ୍ଭବ ଯେ ଏହି ପ୍ରତିବନ୍ଧିତ ଅନୁମତିଗୁଡ଼ିକ ବିନା ଆପ ସଠିକ ଭାବେ କାର୍ଯ୍ୟ କରିବ ନାହିଁ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ଆକ୍ସେସକୁ କିପରି ଅନୁମତି ଦେବେ ତାହା ଜାଣନ୍ତୁ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ଆପର ଆକ୍ସେସକୁ ଅଗ୍ରାହ୍ୟ କରାଯାଇଛି"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ଏହି ଅନୁମତିକୁ ଆକ୍ସେସ ଆପଣଙ୍କ ବ୍ୟକ୍ତିଗତ ଏବଂ ଆର୍ଥିକ ସୂଚନାକୁ ବିପଦରେ ପକାଇପାରେ।<xliff:g id="ID_1"><br><br></xliff:g>ଏହା ସମ୍ଭବ ଯେ ଏହି ପ୍ରତିବନ୍ଧିତ ଅନୁମତି ବିନା ଆପ ସଠିକ ଭାବେ କାର୍ଯ୍ୟ କରିବ ନାହିଁ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ଆକ୍ସେସକୁ କିପରି ଅନୁମତି ଦେବେ ତାହା ଜାଣନ୍ତୁ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ଅଧିକ ଜାଣନ୍ତୁ"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ଠିକ ଅଛି"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ଅନୁମତି ଅନୁରୋଧକୁ ବନ୍ଦ କରାଯାଇଛି"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ଏହି ଆପ ଅତିରିକ୍ତ ଅନୁମତି ପାଇଁ ଅନୁରୋଧ କରୁଛି, ଏକ ଷ୍ଟ୍ରିମିଂ ସେସନରେ ଅନୁମତି ଦିଆଯାଇପାରିବ ନାହିଁ। ପ୍ରଥମେ ଆପଣଙ୍କ ଫୋନରେ ଅନୁମତି ଦିଅନ୍ତୁ।"</string> </resources> diff --git a/PermissionController/res/values-pa-v33/strings.xml b/PermissionController/res/values-pa-v33/strings.xml index 03e18ae50..0aa143302 100644 --- a/PermissionController/res/values-pa-v33/strings.xml +++ b/PermissionController/res/values-pa-v33/strings.xml @@ -28,9 +28,9 @@ <string name="safety_center_entry_group_item_content_description" msgid="7348298582877249787">"ਸੂਚੀ ਆਈਟਮ। <xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string> <string name="safety_center_entry_content_description" msgid="3639565652938224321">"<xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string> <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"ਹੋਰ ਅਲਰਟ"</string> - <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"ਖਾਰਜ ਕੀਤੀਆਂ ਗਈਆਂ ਸੁਚੇਤਨਾਵਾਂ"</string> - <string name="safety_center_more_issues_card_expand_action" msgid="7109451851052272946">"{count,plural, =1{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ ਇੱਕ ਹੋਰ ਸੁਚੇਤਨਾ ਦੇਖੋ}one{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਸੁਚੇਤਨਾ ਦੇਖੋ}other{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਸੁਚੇਤਨਾਵਾਂ ਦੇਖੋ}}"</string> - <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"ਸੁਚੇਤਨਾ। <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string> + <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"ਖਾਰਜ ਕੀਤੇ ਅਲਰਟ"</string> + <string name="safety_center_more_issues_card_expand_action" msgid="7109451851052272946">"{count,plural, =1{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ ਇੱਕ ਹੋਰ ਅਲਰਟ ਦੇਖੋ}one{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਅਲਰਟ ਦੇਖੋ}other{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਅਲਰਟ ਦੇਖੋ}}"</string> + <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"ਅਲਰਟ। <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string> <string name="safety_center_resolved_issue_fallback" msgid="8548932070610766651">"ਕਾਰਵਾਈ ਪੂਰੀ ਹੋਈ"</string> <string name="safety_center_qs_status_summary" msgid="5193925895830451177">"ਉਨ੍ਹਾਂ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿੱਚ ਸੁਰੱਖਿਆ ਸ਼ਾਮਲ ਕਰ ਸਕਦੀਆਂ ਹਨ"</string> <string name="safety_center_qs_page_landing" msgid="1717368301679228128">"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ"</string> diff --git a/PermissionController/res/values-pa-v34/strings.xml b/PermissionController/res/values-pa-v34/strings.xml index c0b70fb57..ff5c1c7d6 100644 --- a/PermissionController/res/values-pa-v34/strings.xml +++ b/PermissionController/res/values-pa-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ਸਿਹਤ ਸੰਬੰਧੀ ਡਾਟੇ ਤੱਕ ਐਪ ਦੀ ਪਹੁੰਚ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> <string name="location_settings" msgid="8863940440881290182">"ਟਿਕਾਣਾ ਪਹੁੰਚ"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ। ਇਸ ਸੈਟਿੰਗ ਦੇ ਬੰਦ ਹੋਣ \'ਤੇ, ਜਦੋਂ ਤੁਸੀਂ ਕਿਸੇ ਐਮਰਜੈਂਸੀ ਨੰਬਰ \'ਤੇ ਕਾਲ ਕਰਦੇ ਹੋ ਤਾਂ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਡਾਟੇ ਨੂੰ ਫਿਰ ਵੀ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ"</string> </resources> diff --git a/PermissionController/res/values-pa-watch/strings.xml b/PermissionController/res/values-pa-watch/strings.xml index 8a46aef6f..3bac90bee 100644 --- a/PermissionController/res/values-pa-watch/strings.xml +++ b/PermissionController/res/values-pa-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string> <string name="generic_yes" msgid="2489207724988649846">"ਹਾਂ"</string> <string name="generic_cancel" msgid="2631708607129269698">"ਰੱਦ ਕਰੋ"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ਹਰ ਸਮੇਂ"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ਐਪ ਦੀ ਵਰਤੋਂ ਦੌਰਾਨ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ਹਰ ਸਮੇਂ"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ਐਪ ਦੀ ਵਰਤੋਂ ਦੌਰਾਨ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ਹਰ ਸਮੇਂ"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ਐਪ ਦੀ ਵਰਤੋਂ ਦੌਰਾਨ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ਹਰ ਸਮੇਂ"</string> </resources> diff --git a/PermissionController/res/values-pa/strings.xml b/PermissionController/res/values-pa/strings.xml index b69db6992..74f75034f 100644 --- a/PermissionController/res/values-pa/strings.xml +++ b/PermissionController/res/values-pa/strings.xml @@ -49,7 +49,7 @@ <string name="permission_revoked_count" msgid="4785082705441547086">"<xliff:g id="COUNT">%1$d</xliff:g> ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ"</string> <string name="permission_revoked_all" msgid="3397649017727222283">"ਸਾਰੀਆਂ ਇਜਾਜ਼ਤਾਂ ਬੰਦ ਕਰ ਦਿੱਤੀਆਂ ਗਈਆਂ"</string> <string name="permission_revoked_none" msgid="9213345075484381180">"ਕਿਸੇ ਨੂੰ ਵੀ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਗਿਆ"</string> - <string name="grant_dialog_button_allow" msgid="5314677880021102550">"ਕਰਨ ਦਿਓ"</string> + <string name="grant_dialog_button_allow" msgid="5314677880021102550">"ਆਗਿਆ ਦਿਓ"</string> <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"ਹਰ ਵੇਲੇ ਕਰਨ ਦਿਓ"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"ਐਪ ਵਰਤਣ ਦੌਰਾਨ"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"ਸਹੀ ਟਿਕਾਣੇ \'ਤੇ ਬਦਲੋ"</string> @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"ਤੁਸੀਂ <xliff:g id="APP_NAME">%1$s</xliff:g> ਦੀ <xliff:g id="PERMISSION_NAME">%2$s</xliff:g> ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਅਸਵੀਕਾਰ ਕੀਤਾ"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{ਅੱਜ}=1{1 ਦਿਨ ਪਹਿਲਾਂ}other{# ਦਿਨ ਪਹਿਲਾਂ}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"ਐਪ ਨੂੰ ਬੰਦ ਕਰੋ"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"ਜੇ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ ਬੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕਿ Android ਅਤੇ ਹੋਰ ਐਪਾਂ ਉਸ ਤਰ੍ਹਾਂ ਕੰਮ ਨਾ ਕਰਨ ਜਿਵੇਂ ਇਹਨਾਂ ਤੋਂ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ, ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿੱਚ ਇਹ ਐਪ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਤ ਮਿਲੀ ਹੋਣ ਕਰਕੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ। ਬੰਦ ਕਰਕੇ, ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਇਹ ਐਪ ਬੰਦ ਕਰ ਅਤੇ ਲੁਕਾ ਰਹੇ ਹੋ।"</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"ਜੇ ਤੁਸੀਂ ਇਸ ਐਪ ਨੂੰ ਬੰਦ ਕਰਦੇ ਹੋ, ਤਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕਿ Android ਅਤੇ ਹੋਰ ਐਪਾਂ ਉਸ ਤਰ੍ਹਾਂ ਕੰਮ ਨਾ ਕਰਨ ਜਿਵੇਂ ਇਨ੍ਹਾਂ ਤੋਂ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ, ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿੱਚ ਇਹ ਐਪ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਤ ਮਿਲੀ ਹੋਣ ਕਰਕੇ ਤੁਸੀਂ ਇਸ ਨੂੰ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ। ਇਸਨੂੰ ਬੰਦ ਕਰਨ \'ਤੇ, ਇਹ ਐਪ ਬੰਦ ਹੋ ਜਾਵੇਗੀ ਅਤੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਦਿਖਾਈ ਨਹੀਂ ਦੇਵੇਗੀ।"</string> <string name="app_permission_manager" msgid="3903811137630909550">"ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ"</string> <string name="never_ask_again" msgid="4728762438198560329">"ਦੁਬਾਰਾ ਨਾ ਪੁੱਛੋ"</string> <string name="no_permissions" msgid="3881676756371148563">"ਕੋਈ ਇਜਾਜ਼ਤਾਂ ਨਹੀਂ"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"ਸਾਰੀਆਂ ਇਜਾਜ਼ਤਾਂ"</string> <string name="other_permissions" msgid="2901186127193849594">"ਐਪ ਦੀਆਂ ਹੋਰ ਸਮਰੱਥਤਾਵਾਂ"</string> <string name="permission_request_title" msgid="8790310151025020126">"ਇਜਾਜ਼ਤ ਬੇਨਤੀ"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear \'ਤੇ ਸਥਾਪਤ/ਅਣਸਥਾਪਤ ਕਰਨ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਸਮਰਥਿਤ ਨਹੀਂ ਹਨ।"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"ਇਹ ਚੁਣੋ ਕਿ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਕਿਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਅੱਪਡੇਟ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਇਹ ਚੁਣੋ ਕਿ ਇਸ ਐਪ ਨੂੰ ਕਿਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ।"</string> <string name="review_button_cancel" msgid="2191147944056548886">"ਰੱਦ ਕਰੋ"</string> @@ -165,7 +163,7 @@ <string name="permission_usage_bar_chart_title_last_minute" msgid="820450867183487607">"ਪਿਛਲੇ 1 ਮਿੰਟ ਵਿੱਚ ਇਜਾਜ਼ਤ ਵਰਤੋਂ"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_days" msgid="4771868094611359651">"{count,plural, =1{ਪਿਛਲੇ # ਦਿਨ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}one{ਪਿਛਲੇ # ਦਿਨ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}other{ਪਿਛਲੇ # ਦਿਨਾਂ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}}"</string> <string name="permission_usage_preference_summary_not_used_in_past_n_hours" msgid="3828973177433435742">"{count,plural, =1{ਪਿਛਲੇ # ਘੰਟੇ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}one{ਪਿਛਲੇ # ਘੰਟੇ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}other{ਪਿਛਲੇ # ਘੰਟਿਆਂ ਵਿੱਚ ਨਹੀਂ ਵਰਤੀ ਗਈ}}"</string> - <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{1 ਐਪ ਵੱਲੋਂ ਇਜਾਜ਼ਤਾਂ ਵਰਤੀਆਂ ਗਈਆਂ}one{# ਐਪ ਵੱਲੋਂ ਇਜਾਜ਼ਤਾਂ ਵਰਤੀਆਂ ਗਈਆਂ}other{# ਐਪਾਂ ਵੱਲੋਂ ਇਜਾਜ਼ਤਾਂ ਵਰਤੀਆਂ ਗਈਆਂ}}"</string> + <string name="permission_usage_preference_label" msgid="8343167938128676378">"{count,plural, =1{ਇਜਾਜ਼ਤ 1 ਐਪ ਵੱਲੋਂ ਵਰਤੀ ਗਈ}one{ਇਜਾਜ਼ਤ # ਐਪ ਵੱਲੋਂ ਵਰਤੀ ਗਈ}other{ਇਜਾਜ਼ਤ # ਐਪਾਂ ਵੱਲੋਂ ਵਰਤੀ ਗਈ}}"</string> <string name="permission_usage_view_details" msgid="6675335735468752787">"ਸਭ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ ਦੇਖੋ"</string> <string name="app_permission_usage_filter_label" msgid="7182861154638631550">"ਇਸ ਮੁਤਾਬਕ ਫਿਲਟਰ ਕੀਤਾ ਗਿਆ: <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_usage_remove_filter" msgid="2926157607436428207">"ਫਿਲਟਰ ਹਟਾਓ"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ਹਮੇਸ਼ਾਂ ਸਭ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ਹਰ ਵਾਰ ਪੁੱਛੋ"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ਨਾ ਕਰਨ ਦਿਓ"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ਸਹੀ ਟਿਕਾਣਾ"</string> <string name="approximate_image_description" msgid="938803699637069884">"ਅੰਦਾਜ਼ਨ ਟਿਕਾਣਾ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ਸਹੀ ਟਿਕਾਣਾ ਵਰਤੋ"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ਜਦੋਂ ਸਹੀ ਟਿਕਾਣੇ ਦੀ ਜਾਣਕਾਰੀ ਬੰਦ ਹੋਵੇ, ਤਾਂ ਐਪਾਂ ਤੁਹਾਡੀ ਅੰਦਾਜ਼ਨ ਟਿਕਾਣੇ ਦੀ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀਆਂ ਹਨ"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> ਸੰਬੰਧੀ ਇਜਾਜ਼ਤ"</string> <string name="app_permission_header" msgid="2951363137032603806">"ਇਸ ਐਪ ਲਈ <xliff:g id="PERM">%1$s</xliff:g> ਪਹੁੰਚ"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> \'ਤੇ ਇਸ ਐਪ ਲਈ <xliff:g id="PERM">%1$s</xliff:g> ਦੀ ਪਹੁੰਚ"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> ਦੀਆਂ ਸਾਰੀਆਂ ਇਜਾਜ਼ਤਾਂ ਦੇਖੋ"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ਇਸ ਇਜਾਜ਼ਤ ਵਾਲੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਦੇਖੋ"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistant ਦੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਦੀ ਵਰਤੋਂ ਦਿਖਾਓ"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ਐਪ ਨੂੰ ਨਾ ਵਰਤੇ ਜਾਣ \'ਤੇ ਇਸ ਲਈ ਦਿੱਤੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਹਟਾ ਦਿਓ"</string> <string name="unused_apps_label" msgid="2595428768404901064">"ਇਜਾਜ਼ਤਾਂ ਹਟਾਓ ਅਤੇ ਜਗ੍ਹਾ ਖਾਲੀ ਕਰੋ"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"ਵਰਤੋਂ ਵਿੱਚ ਨਾ ਹੋਣ \'ਤੇ, ਐਪ ਸਰਗਰਮੀ ਰੋਕੋ"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ਵਰਤੋਂ ਵਿੱਚ ਨਾ ਹੋਣ \'ਤੇ, ਐਪ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"ਇਜਾਜ਼ਤਾਂ ਹਟਾਓ, ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ ਅਤੇ ਸੂਚਨਾਵਾਂ ਬੰਦ ਕਰੋ"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"ਇਜਾਜ਼ਤਾਂ ਹਟਾਓ, ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ, ਸੂਚਨਾਵਾਂ ਬੰਦ ਕਰੋ ਅਤੇ ਐਪ ਨੂੰ ਪੁਰਾਲੇਖਬੱਧ ਕਰੋ"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ਤੁਹਾਡੀ ਡਾਟਾ ਸੁਰੱਖਿਆ ਲਈ, ਜੇ ਇਹ ਐਪ ਕੁਝ ਮਹੀਨਿਆਂ ਲਈ ਵਰਤੀ ਨਹੀਂ ਗਈ, ਤਾਂ ਇਸ ਐਪ ਲਈ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ਤੁਹਾਡੀ ਡਾਟਾ ਸੁਰੱਖਿਆ ਲਈ, ਜੇ ਇਹ ਐਪ ਕੁਝ ਮਹੀਨਿਆਂ ਲਈ ਵਰਤੀ ਨਹੀਂ ਗਈ, ਤਾਂ ਅੱਗੇ ਦਿੱਤੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ਤੁਹਾਡੀ ਡਾਟਾ ਸੁਰੱਖਿਆ ਲਈ, ਜੋ ਐਪਾਂ ਤੁਸੀਂ ਕੁਝ ਮਹੀਨਿਆਂ ਤੋਂ ਨਹੀਂ ਵਰਤੀਆਂ ਉਹਨਾਂ ਐਪਾਂ ਤੋਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦਿੱਤਾ ਗਿਆ"</string> <string name="ask_header" msgid="2633816846459944376">"ਹਰ ਵਾਰ ਪੁੱਛੋ"</string> <string name="denied_header" msgid="903209608358177654">"ਗੈਰ-ਮਨਜ਼ੂਰਸ਼ੁਦਾ"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> \'ਤੇ <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਣ ਵਾਲੀਆਂ ਹੋਰ ਐਪਾਂ ਦੇਖੋ"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ਦਿਨ}one{# ਦਿਨ}other{# ਦਿਨ}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ਘੰਟਾ}one{# ਘੰਟਾ}other{# ਘੰਟੇ}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"ਇਹ ਐਪਾਂ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ, ਕਾਰਵਾਈਆਂ ਅਤੇ ਇਨਪੁੱਟਾਂ ਨੂੰ ਦੇਖ ਸਕਦੀਆਂ ਹਨ, ਕਾਰਵਾਈਆਂ ਕਰ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਡਿਸਪਲੇ ਕੰਟਰੋਲ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string> <string name="role_assistant_label" msgid="4727586018198208128">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"ਸਹਾਇਕ ਐਪਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀ ਜਾਂਦੀ ਸਕ੍ਰੀਨ ਤੋਂ ਪ੍ਰਾਪਤ ਜਾਣਕਾਰੀ ਦੇ ਆਧਾਰ \'ਤੇ ਤੁਹਾਡੀ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਕੁਝ ਐਪਾਂ ਤੁਹਾਨੂੰ ਏਕੀਕ੍ਰਿਤ ਸਹਾਇਤਾ ਦੇਣ ਲਈ ਲਾਂਚਰ ਅਤੇ ਵੌਇਸ ਇਨਪੁੱਟ ਸੇਵਾਵਾਂ ਦੋਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ।"</string> + <string name="role_assistant_description" msgid="6622458130459922952">"ਸਹਾਇਕ ਐਪਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀ ਜਾਂਦੀ ਸਕ੍ਰੀਨ ਤੋਂ ਪ੍ਰਾਪਤ ਜਾਣਕਾਰੀ ਦੇ ਆਧਾਰ \'ਤੇ ਤੁਹਾਡੀ ਮਦਦ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਕੁਝ ਐਪਾਂ ਤੁਹਾਨੂੰ ਏਕੀਕ੍ਰਿਤ ਸਹਾਇਤਾ ਦੇਣ ਲਈ ਲਾਂਚਰ ਅਤੇ ਵੌਇਸ ਇਨਪੁੱਟ ਸੇਵਾਵਾਂ ਦੋਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀਆਂ ਹਨ।"</string> <string name="role_browser_label" msgid="2877796144554070207">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਬ੍ਰਾਊਜ਼ਰ ਐਪ"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"ਬ੍ਰਾਊਜ਼ਰ ਐਪ"</string> <string name="role_browser_description" msgid="3465253637499842671">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਇੰਟਰਨੈੱਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟੈਪ ਕੀਤੇ ਲਿੰਕ ਦਿਖਾਉਂਦੀਆਂ ਹਨ"</string> @@ -371,7 +375,7 @@ <string name="role_sms_search_keywords" msgid="8022048144395047352">"ਲਿਖਤ ਸੁਨੇਹਾ, ਲਿਖਤ ਭੇਜਣਾ, ਸੁਨੇਹੇ, ਸੁਨੇਹਾ ਭੇਜਣਾ"</string> <string name="role_emergency_label" msgid="7028825857206842366">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਕਟਕਾਲੀਨ ਐਪ"</string> <string name="role_emergency_short_label" msgid="2388431453335350348">"ਸੰਕਟਕਾਲੀਨ ਐਪ"</string> - <string name="role_emergency_description" msgid="5051840234887686630">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਡਾਕਟਰੀ ਜਾਣਕਾਰੀ ਰਿਕਾਰਡ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਸੰਕਟਕਾਲੀਨ ਮਦਦਗਾਰਾਂ ਤੱਕ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਦਿੰਦੀਆਂ ਹਨ; ਗੰਭੀਰ ਮੌਸਮੀ ਘਟਨਾਵਾਂ ਅਤੇ ਆਫ਼ਤਾਂ ਬਾਰੇ ਸੁਚੇਤਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ; ਤੁਹਾਨੂੰ ਮਦਦ ਦੀ ਲੋੜ ਪੈਣ \'ਤੇ ਹੋਰਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ"</string> + <string name="role_emergency_description" msgid="5051840234887686630">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਡਾਕਟਰੀ ਜਾਣਕਾਰੀ ਰਿਕਾਰਡ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਐਮਰਜੈਂਸੀ ਮਦਦਗਾਰਾਂ ਤੱਕ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਦਿੰਦੀਆਂ ਹਨ; ਬਹੁਤ ਜ਼ਿਆਦਾ ਖਰਾਬ ਮੌਸਮੀ ਘਟਨਾਵਾਂ ਅਤੇ ਆਫ਼ਤਾਂ ਬਾਰੇ ਅਲਰਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ; ਤੁਹਾਨੂੰ ਮਦਦ ਦੀ ਲੋੜ ਪੈਣ \'ਤੇ ਹੋਰਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ"</string> <string name="role_emergency_request_title" msgid="8469579020654348567">"ਕੀ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਕਟਕਾਲੀਨ ਐਪ ਵਜੋਂ ਸੈੱਟ ਕਰਨਾ ਹੈ?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"ਕਿਸੇ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> @@ -400,9 +404,14 @@ <string name="role_app_streaming_description" msgid="7341638576226183992">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀਆਂ ਸੂਚਨਾਵਾਂ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਨੂੰ ਕਨੈਕਟ ਕੀਤੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ।"</string> <string name="role_companion_device_computer_description" msgid="416099879217066377">"ਇਹ ਸੇਵਾ ਤੁਹਾਡੀਆਂ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੋਂ ਹੋਰ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰਦੀ ਹੈ।"</string> <string name="role_notes_label" msgid="7451627001058089536">"ਨੋਟ-ਕਥਨਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਐਪ"</string> - <string name="role_notes_short_label" msgid="8796604147546125285">"ਨੋਟ-ਕਥਨਾਂ ਲਈ ਐਪ"</string> - <string name="role_notes_description" msgid="8496852798616883551">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਨੋਟ-ਕਥਨ ਲੈਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ"</string> + <string name="role_notes_short_label" msgid="8796604147546125285">"ਨੋਟ ਲਈ ਐਪ"</string> + <string name="role_notes_description" msgid="8496852798616883551">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਨੋਟ ਲਿਖਣ ਦੀ ਸੁਵਿਧਾ ਦਿੰਦੀਆਂ ਹਨ"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ਨੋਟ-ਕਥਨ"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਾਲੇਟ ਐਪ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet ਐਪ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"ਲੈਣ-ਦੇਣ ਦੀਆਂ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਸੰਬੰਧੀ ਮਦਦ ਕਰਨ ਲਈ, ਵਾਲੇਟ ਐਪਾਂ ਤੁਹਾਡੇ ਕ੍ਰੈਡਿਟ ਅਤੇ ਵਫ਼ਾਦਾਰੀ ਕਾਰਡਾਂ, ਕਾਰ ਦੀਆਂ ਕੁੰਜੀਆਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਟੋਰ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"ਕੀ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਾਲੇਟ ਐਪ ਵਜੋਂ ਸੈੱਟ ਕਰਨਾ ਹੈ?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ਕਿਸੇ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ"</string> <string name="request_role_current_default" msgid="738722892438247184">"ਮੌਜੂਦਾ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ਦੁਬਾਰਾ ਨਾ ਪੁੱਛੋ"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਵਜੋਂ ਸੈੱਟ ਕਰੋ"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"ਹੋਰ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"ਖੁੱਲ੍ਹਣ ਵਾਲੇ ਲਿੰਕ"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ਕੰਮ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string> <string name="default_app_none" msgid="9084592086808194457">"ਕੋਈ ਨਹੀਂ"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ਸਿਸਟਮ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ਕੋਈ ਐਪਾਂ ਨਹੀਂ"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"ਸਹਾਇਕ ਟ੍ਰਿਗਰ ਦੀ ਸੂਹ ਦਿਖਾਓ"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"ਜਦੋਂ ਅਵਾਜ਼ੀ ਸਹਾਇਕ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਸਥਿਤੀ ਪੱਟੀ ਵਿੱਚ ਪ੍ਰਤੀਕ ਦਿਖਾਓ"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਮੀਡੀਆ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਮੀਡੀਆ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਮੀਡੀਆ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਸੰਪਰਕਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਸੰਪਰਕ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਸੰਪਰਕਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਹੀ ਐਪ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੋਵੇਗੀ"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> ਦਾ ਟਿਕਾਣਾ ਸਾਂਝਾ ਕਰਨ ਦੇਣਾ ਹੈ?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ਦੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ਸ਼ਾਇਦ ਇਸ ਐਪ ਨੂੰ ਹਰ ਵੇਲੇ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੋਵੇ, ਭਾਵੇਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਾ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਗਿਆ ਦਿਓ।"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"ਕੀ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"ਇਸ ਐਪ ਨੂੰ ਹਰ ਵੇਲੇ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਚਾਹੀਦੀ ਹੈ, ਭਾਵੇਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਾ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਗਿਆ ਦਿਓ।"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲੱਭਣ, ਉਨ੍ਹਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੇਣਾ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸ ਲੱਭਣ, ਕਨੈਕਟ ਕਰਨ ਅਤੇ ਸਥਿਤੀ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸ ਲੱਭਣ, ਕਨੈਕਟ ਕਰਨ ਅਤੇ ਸਥਿਤੀ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲੱਭਣ, ਉਨ੍ਹਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੇਣਾ ਹੈ? "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਗਿਆ ਦਿਓ।"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"ਕੀ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ਦੀ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਅੰਦਾਜ਼ਨ ਤੋਂ ਸਹੀ ਟਿਕਾਣੇ \'ਤੇ ਬਦਲਣਾ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ਕੀ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ਦੀ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਅਨੁਮਾਨਿਤ ਤੋਂ ਸਟੀਕ \'ਤੇ ਬਦਲਣਾ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"ਕੀ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ਦੀ ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਅਨੁਮਾਨਿਤ ਤੋਂ ਸਟੀਕ \'ਤੇ ਬਦਲਣਾ ਹੈ?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਦੇ ਅੰਦਾਜ਼ਨ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> ਦੇ ਅੰਦਾਜ਼ਨ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ਦੇ ਅੰਦਾਜ਼ਨ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ਸਹੀ"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ਅੰਦਾਜ਼ਨ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨੀ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ ਦੇਣੇ ਹਨ?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ ਦੇਣੇ ਹਨ?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ <b>ਫ਼ੋਟੋਆਂ, ਵੀਡੀਓ, ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ</b> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ <b>ਫ਼ੋਟੋਆਂ, ਵੀਡੀਓ, ਸੰਗੀਤ, ਆਡੀਓ ਅਤੇ ਹੋਰ ਫ਼ਾਈਲਾਂ</b> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਸੰਗੀਤ ਅਤੇ ਆਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਹੋਰ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਹੋਰ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਹੋਰ ਜ਼ਿਆਦਾ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਹੀ ਐਪ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰ ਸਕੇਗੀ"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਹੈ?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਸਕਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"ਕੀ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੀ ਸਰੀਰਕ ਸਰਗਰਮੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੀ ਸਰੀਰਕ ਸਰਗਰਮੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣਾ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੀ ਸਰੀਰਕ ਸਰਗਰਮੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਹੀ ਐਪ ਤਸਵੀਰਾਂ ਖਿੱਚ ਸਕੇਗੀ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰ ਸਕੇਗੀ"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਹੈ?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਸਕਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਕੈਮਰਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਕੈਮਰਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"ਕੀ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਲਈ ਕੈਮਰਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਦੇ ਕਾਲ ਲੌਗਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਫ਼ੋਨ ਕਾਲ ਲੌਗਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਫ਼ੋਨ ਕਾਲ ਲੌਗਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੇਣਾ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੇਣਾ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਤੁਹਾਡੇ ਮਹੱਤਵਪੂਰਨ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਤੁਹਾਡੇ ਮਹੱਤਵਪੂਰਨ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ਇਸ ਐਪ ਨੂੰ ਹਰ ਵੇਲੇ ਤੁਹਾਡੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਚਾਹੀਦੀ ਹੈ, ਭਾਵੇਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਹੀਂ। ਇਹ ਤਬਦੀਲੀ ਕਰਨ ਲਈ, "<annotation id="link">"ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ।"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਡੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਤੁਹਾਡੇ ਮਹੱਤਵਪੂਰਨ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਆਪਣੇ ਮਹੱਤਵਪੂਰਨ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰਨ ਵੇਲੇ ਵੀ, ਇਸ ਐਪ ਨੂੰ ਹਰ ਸਮੇਂ ਸਰੀਰ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣ ਲਈ, "<annotation id="link">"ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ।"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ਕੀ ਐਪ ਦੇ ਵਰਤੋਂ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਸਰੀਰ ਸੰਬੰਧੀ ਸੈਂਸਰ ਦੇ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣ ਲਈ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਗਿਆ ਦੇਣਾ ਜਾਰੀ ਰੱਖਣੀ ਹੈ?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ਕੀ ਐਪ ਵਰਤੋਂ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਸਰੀਰ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਦੇਣ ਲਈ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਆਗਿਆ ਦੇ ਕੇ ਰੱਖਣੀ ਹੈ?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਐਪ ਦੇ ਵਰਤੋਂ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਸਰੀਰ ਸੰਬੰਧੀ ਸੈਂਸਰ ਦੇ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇ ਕੇ ਰੱਖਣੀ ਹੈ?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ਨੂੰ ਆਪਣੇ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> \'ਤੇ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਦੇਣੀਆਂ ਹਨ?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"ਕੀ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> \'ਤੇ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"ਨਿਯੰਤਰਿਤ ਇਜਾਜ਼ਤਾਂ"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਦੀ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ਤੁਹਾਡੀ ਸੰਸਥਾ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ਕੋਈ ਨਹੀਂ"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"ਪਿਛਲੇ\n24 ਘੰਟੇ"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"ਪਿਛਲੇ\n7 ਦਿਨ"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> ਫ਼ੀਸਦ"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ Android ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਕਿਉਂਕਿ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਤੁਹਾਡੇ ਡਾਟੇ \'ਤੇ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਇਸ ਐਪ ਦੀ ਇਜਾਜ਼ਤ ਸੰਬੰਧੀ ਵਰਤੋਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸਥਿਤੀ ਪੱਟੀ ਜਾਂ ਤੁਹਾਡੇ ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ \'ਤੇ ਨਹੀਂ ਦਿਸਦੀ।"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ Android ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਕਿਉਂਕਿ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਤੁਹਾਡੇ ਡਾਟੇ \'ਤੇ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਲਈ ਇਸ ਐਪ ਦੀ ਇਜਾਜ਼ਤ ਸੰਬੰਧੀ ਵਰਤੋਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਤੁਹਾਡੇ ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ \'ਤੇ ਨਹੀਂ ਦਿਸਦੀ।"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"ਡੀਵਾਈਸ ਦੇ ਕੈਮਰੇ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ"</string> @@ -549,10 +560,15 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ਜਦੋਂ ਤੁਸੀਂ ਐਮਰਜੈਂਸੀ ਨੰਬਰ \'ਤੇ ਕਾਲ ਕਰਦੇ ਹੋ ਤਾਂ ਸ਼ਾਇਦ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਡਾਟਾ ਹਾਲੇ ਵੀ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"ਬਦਲੋ"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"ਕੈਮਰੇ ਤੱਕ ਪਹੁੰਚ ਬੰਦ ਹੈ"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"ਵਾਹਨ ਆਡੀਓ ਐਪਾਂ ਲਈ"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"ਲੋੜੀਂਦੀਆਂ ਐਪਾਂ ਲਈ"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ਇਹ ਐਪ ਲੋੜੀਂਦੀ ਹੈ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ਤੁਹਾਡੇ ਕਾਰ ਦੇ ਨਿਰਮਾਤਾ ਵੱਲੋਂ ਇਹ ਐਪ ਲੋੜੀਂਦੀ ਹੈ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"ਡੀਵਾਈਸ ਨੂੰ ਸਕੈਨ ਕਰੋ"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ਖਾਰਜ ਕਰੋ"</string> - <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"ਕੀ ਇਸ ਸੁਚੇਤਨਾ ਨੂੰ ਖਾਰਜ ਕਰਨਾ ਹੈ?"</string> + <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"ਕੀ ਇਸ ਅਲਰਟ ਨੂੰ ਖਾਰਜ ਕਰਨਾ ਹੈ?"</string> <string name="safety_center_issue_card_dismiss_confirmation_message" msgid="3775418736671093563">"ਹੋਰ ਸੁਰੱਖਿਆ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਕਿਸੇ ਵੀ ਸਮੇਂ ਆਪਣੀਆਂ ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ ਸੈਟਿੰਗਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ"</string> <string name="safety_center_issue_card_confirm_dismiss_button" msgid="5884137843083634556">"ਖਾਰਜ ਕਰੋ"</string> <string name="safety_center_issue_card_cancel_dismiss_button" msgid="2874578798877712346">"ਰੱਦ ਕਰੋ"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ਡਾਟਾ ਸਾਂਝਾਕਰਨ ਅੱਪਡੇਟ"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"ਕੁਝ ਐਪਾਂ ਨੇ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਦੇ ਡਾਟੇ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਦਾ ਤਰੀਕਾ ਬਦਲ ਦਿੱਤਾ ਹੈ"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ਸੈਟਿੰਗਾਂ"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> ਵਜੇ ਪਹੁੰਚ ਕੀਤੀ ਗਈ"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"<xliff:g id="TIME_DATE">%1$s</xliff:g> ਵਜੇ ਕੱਲ੍ਹ ਪਹੁੰਚ ਕੀਤੀ ਗਈ"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> ਨੂੰ <xliff:g id="TIME_DATE_1">%2$s</xliff:g> ਵਜੇ ਪਹੁੰਚ ਕੀਤੀ ਗਈ"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ਤੁਹਾਡਾ ਇਕਹਰੀ-ਵਰਤੋਂ ਪਾਸਵਰਡ 132435 ਹੈ"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"ਪ੍ਰਤਿਬੰਧਿਤ ਸੈਟਿੰਗਾਂ"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ਤੁਹਾਡੀ ਸੁਰੱਖਿਆ ਲਈ, ਫ਼ਿਲਹਾਲ ਇਹ ਸੈਟਿੰਗ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"ਐਪ ਨੂੰ <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੱਤੀ ਗਈ"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ਐਪ ਨੇ ਸੰਵੇਦਨਸ਼ੀਲ ਇਜਾਜ਼ਤ ਤੱਕ ਪਹੁੰਚ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੀ ਨਿੱਜੀ ਅਤੇ ਵਿੱਤੀ ਜਾਣਕਾਰੀ ਜੋਖਮ ਵਿੱਚ ਪੈ ਸਕਦੀ ਹੈ।<xliff:g id="ID_1"><br><br></xliff:g>ਇਹ ਸੰਭਵ ਹੈ, ਕਿ ਐਪ ਇਸ ਪ੍ਰਤਿਬੰਧਿਤ ਇਜਾਜ਼ਤ ਤੋਂ ਬਿਨਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰੇ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਜਾਣੋ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ਐਪ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ <xliff:g id="ROLE_NAME">%1$s</xliff:g> ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੱਤੀ ਗਈ"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ਐਪ ਨੇ ਸੰਵੇਦਨਸ਼ੀਲ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੀ ਨਿੱਜੀ ਅਤੇ ਵਿੱਤੀ ਜਾਣਕਾਰੀ ਜੋਖਮ ਵਿੱਚ ਪੈ ਸਕਦੀ ਹੈ।<xliff:g id="ID_1"><br><br></xliff:g>ਇਹ ਸੰਭਵ ਹੈ, ਕਿ ਐਪ ਇਨ੍ਹਾਂ ਪ੍ਰਤਿਬੰਧਿਤ ਇਜਾਜ਼ਤਾਂ ਤੋਂ ਬਿਨਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰੇ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਜਾਣੋ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ਐਪ ਨੂੰ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੱਤੀ ਗਈ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ਇਸ ਇਜਾਜ਼ਤ ਲਈ ਪਹੁੰਚ ਦੇਣ ਨਾਲ ਤੁਹਾਡੀ ਨਿੱਜੀ ਅਤੇ ਵਿੱਤੀ ਜਾਣਕਾਰੀ ਜੋਖਮ ਵਿੱਚ ਪੈ ਸਕਦੀ ਹੈ।<xliff:g id="ID_1"><br><br></xliff:g>ਇਹ ਸੰਭਵ ਹੈ, ਕਿ ਐਪ ਇਸ ਪ੍ਰਤਿਬੰਧਿਤ ਇਜਾਜ਼ਤ ਤੋਂ ਬਿਨਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰੇ। <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਜਾਣੋ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ਹੋਰ ਜਾਣੋ"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ਠੀਕ ਹੈ"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ਇਜਾਜ਼ਤ ਸੰਬੰਧੀ ਬੇਨਤੀ ਨੂੰ ਰੋਕਿਆ ਗਿਆ"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ਇਹ ਐਪ ਵਧੀਕ ਇਜਾਜ਼ਤਾਂ ਦੀ ਬੇਨਤੀ ਕਰ ਰਹੀ ਹੈ, ਪਰ ਸਟ੍ਰੀਮਿੰਗ ਸੈਸ਼ਨ ਵਿੱਚ ਇਜਾਜ਼ਤਾਂ ਨਹੀਂ ਦਿੱਤੀਆਂ ਜਾ ਸਕਦੀਆਂ। ਪਹਿਲਾਂ ਆਪਣੇ ਫ਼ੋਨ \'ਤੇ ਇਜਾਜ਼ਤ ਦਿਓ।"</string> </resources> diff --git a/PermissionController/res/values-pl-v34/strings.xml b/PermissionController/res/values-pl-v34/strings.xml index b69bf4c4f..201b9d1c7 100644 --- a/PermissionController/res/values-pl-v34/strings.xml +++ b/PermissionController/res/values-pl-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Zarządzaj dostępem aplikacji do danych dotyczących zdrowia"</string> <string name="location_settings" msgid="8863940440881290182">"Dostęp do lokalizacji"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Dotyczy aplikacji i usług. Jeśli wyłączysz to ustawienie, dane mikrofonu wciąż mogą być udostępniane podczas połączenia z numerem alarmowym"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Dotyczy aplikacji i usług"</string> </resources> diff --git a/PermissionController/res/values-pl-watch/strings.xml b/PermissionController/res/values-pl-watch/strings.xml index 1fbfdf245..0fe2421f6 100644 --- a/PermissionController/res/values-pl-watch/strings.xml +++ b/PermissionController/res/values-pl-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nie można zmienić"</string> <string name="generic_yes" msgid="2489207724988649846">"Tak"</string> <string name="generic_cancel" msgid="2631708607129269698">"Anuluj"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Cały czas"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Gdy używasz aplikacji"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Cały czas"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Gdy używasz aplikacji"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Cały czas"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Gdy używasz aplikacji"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Cały czas"</string> </resources> diff --git a/PermissionController/res/values-pl/strings.xml b/PermissionController/res/values-pl/strings.xml index 9ed891733..dc68293f3 100644 --- a/PermissionController/res/values-pl/strings.xml +++ b/PermissionController/res/values-pl/strings.xml @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"Odmówiono aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> dostępu do: <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Dzisiaj}=1{1 dzień temu}few{# dni temu}many{# dni temu}other{# dnia temu}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Wyłącz aplikację"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jeśli wyłączysz tę aplikację, Android i inne aplikacje mogą działać nieprawidłowo. Pamiętaj, że nie możesz usunąć tej aplikacji, bo została ona fabrycznie zainstalowana na Twoim urządzeniu. Wyłączone aplikacje są ukrywane na urządzeniu."</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jeśli wyłączysz tę aplikację, Android i inne aplikacje mogą działać nieprawidłowo. Pamiętaj, że nie możesz usunąć tej aplikacji, bo została ona fabrycznie zainstalowana na Twoim urządzeniu. Wyłączona aplikacja zostanie ukryta na urządzeniu."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Menedżer uprawnień"</string> <string name="never_ask_again" msgid="4728762438198560329">"Nie pytaj ponownie"</string> <string name="no_permissions" msgid="3881676756371148563">"Brak uprawnień"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Wszystkie uprawnienia"</string> <string name="other_permissions" msgid="2901186127193849594">"Inne funkcje aplikacji"</string> <string name="permission_request_title" msgid="8790310151025020126">"Prośba o pozwolenie"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear nie obsługuje instalowania ani odinstalowywania."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Wybierz, jakie uprawnienia dostępu ma mieć <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikacja <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> została zaktualizowana. Wybierz dla niej uprawnienia dostępu."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Anuluj"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Zawsze zezwalaj na wszystko"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Zawsze pytaj"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nie zezwalaj"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Dokładna lokalizacja"</string> <string name="approximate_image_description" msgid="938803699637069884">"Przybliżona lokalizacja"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Używaj dokładnej lokalizacji"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kiedy dokładna lokalizacja jest wyłączona, aplikacje mają dostęp do Twojej przybliżonej lokalizacji"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> – dostęp"</string> <string name="app_permission_header" msgid="2951363137032603806">"Dostęp tej aplikacji do: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Aplikacja ma przyznane uprawnienie <xliff:g id="PERM">%1$s</xliff:g> na tym urządzeniu: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Zobacz wszystkie uprawnienia aplikacji <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Wyświetl wszystkie aplikacje z tym uprawnieniem"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Pokaż użycie mikrofonu w Asystencie"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Usuń uprawnienia, jeśli aplikacja jest nieużywana"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Usuń uprawnienia i zwolnij miejsce"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Wstrzymuj aktywność w aplikacji, jeśli jest nieużywana"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Zarządzaj nieużywanymi aplikacjami"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Usuń uprawnienia i pliki tymczasowe oraz zatrzymaj powiadomienia"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Usuń uprawnienia i pliki tymczasowe, zatrzymaj powiadomienia i zarchiwizuj aplikację"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Aby chronić Twoje dane, usuniemy uprawnienia tej aplikacji, jeśli nie była używana od kilku miesięcy."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Aby chronić Twoje dane, jeśli aplikacja nie będzie używana przez kilka miesięcy, usuniemy te uprawnienia: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Aby chronić Twoje dane, usunęliśmy uprawnienia aplikacji, których nie używano od kilku miesięcy."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Zezwolono na zarządzanie wszystkimi plikami"</string> <string name="ask_header" msgid="2633816846459944376">"Zawsze pytaj"</string> <string name="denied_header" msgid="903209608358177654">"Nie mają dostępu"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> na tym urządzeniu: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Zobacz więcej aplikacji z dostępem do wszystkich plików"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dzień}few{# dni}many{# dni}other{# dnia}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# godzina}few{# godziny}many{# godzin}other{# godziny}}"</string> @@ -342,7 +346,7 @@ <string name="no_apps_allowed" msgid="7718822655254468631">"Nie zezwolono żadnym aplikacjom"</string> <string name="no_apps_allowed_full" msgid="8011716991498934104">"Brak aplikacji z uprawnieniami dla wszystkich plików"</string> <string name="no_apps_allowed_scoped" msgid="4908850477787659501">"Brak aplikacji z uprawnieniami tylko dla multimediów"</string> - <string name="no_apps_denied" msgid="7663435886986784743">"Nie zabroniono żadnym aplikacjom"</string> + <string name="no_apps_denied" msgid="7663435886986784743">"Nie zabroniono dostępu żadnym aplikacjom"</string> <string name="car_permission_selected" msgid="180837028920791596">"Wybrana"</string> <string name="settings" msgid="5409109923158713323">"Ustawienia"</string> <string name="accessibility_service_dialog_title_single" msgid="7956432823014102366">"Usługa <xliff:g id="SERVICE_NAME">%s</xliff:g> ma pełny dostęp do urządzenia"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacja do notatek"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacje umożliwiające robienie notatek na urządzeniu"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notatki"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Domyślna aplikacja portfela"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacja portfela cyfrowego"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aby ułatwić sobie wykonywanie różny form transakcji, w aplikacjach portfeli cyfrowych można przechowywać karty kredytowe i lojalnościowe, kluczyki do samochodu i inne rzeczy."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Ustawić aplikację <xliff:g id="APP_NAME">%1$s</xliff:g> jako domyślną aplikację portfela cyfrowego?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nie potrzebuje uprawnień"</string> <string name="request_role_current_default" msgid="738722892438247184">"Bieżąca aplikacja domyślna"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Nie pytaj ponownie"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Ustaw jako domyślną"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Więcej ustawień domyślnych"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otwieranie linków"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Domyślne do pracy"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Domyślne dla przestrzeni prywatnej"</string> <string name="default_app_none" msgid="9084592086808194457">"Brak"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Domyślna aplikacja systemowa)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Brak aplikacji"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Pokaż wykrywanie wyzwalacza asystenta"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Pokaż ikonę na pasku stanu, gdy używany jest mikrofon do uruchomienia asystenta głosowego"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i multimediów na urządzeniu?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i multimediów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i multimediów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kontaktów?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kontaktów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kontaktów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacja będzie mieć dostęp do lokalizacji tylko wtedy, gdy będzie używana"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Aplikacja chce mieć stały dostęp do Twojej lokalizacji, nawet gdy nie jest używana. "<annotation id="link">"Zezwól w ustawieniach"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Zmienić uprawnienia dostępu do lokalizacji w przypadku aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>”?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do lokalizacji na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do lokalizacji na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aplikacja chce mieć stały dostęp do Twojej lokalizacji, nawet gdy nie jest używana. "<annotation id="link">"Zezwól w ustawieniach"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na znajdowanie urządzeń w pobliżu, ustalanie ich względnego położenia i łączenie się z nimi?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na znajdowanie urządzeń w pobliżu, ustalanie ich względnego położenia i łączenie się z nimi na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na znajdowanie urządzeń w pobliżu, ustalanie ich względnego położenia i łączenie się z nimi na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na znajdowanie urządzeń w pobliżu, ustalanie ich względnego położenia i łączenie się z nimi? "<annotation id="link">"Zezwól w ustawieniach."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Zmienić dostęp aplikacji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> do lokalizacji przybliżonej na dostęp do lokalizacji dokładnej?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Zmienić dostęp aplikacji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> do lokalizacji urządzenia <b><xliff:g id="DEVICE">%2$s</xliff:g></b> z przybliżonej na dokładną?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Zmienić dostęp aplikacji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> do lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> z przybliżonej na dokładną?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Zezwolić aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>” na dostęp do przybliżonej lokalizacji urządzenia?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do przybliżonej lokalizacji urządzenia <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do przybliżonej lokalizacji urządzenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Dokładna"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Przybliżona"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kalendarza?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kalendarza na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kalendarza na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie i wyświetlanie SMS-ów?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie i wyświetlanie SMS-ów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie i wyświetlanie SMS-ów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć, multimediów i plików na urządzeniu?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć, multimediów i plików na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć, multimediów i plików na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć, filmów, muzyki i dźwięków na tym urządzeniu?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć, filmów, muzyki, dźwięków i innych plików na tym urządzeniu?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do muzyki i innych plików audio na tym urządzeniu?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do muzyki i innych plików audio na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do muzyki i innych plików audio na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i filmów na tym urządzeniu?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i filmów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do zdjęć i filmów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kolejnych zdjęć i filmów na tym urządzeniu?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do kolejnych zdjęć i filmów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do większej liczby zdjęć i filmów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nagrywanie dźwięku?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nagrywanie dźwięku na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nagrywanie dźwięku na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacja będzie mogła nagrywać dźwięk tylko wtedy, gdy będzie używana"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Zezwolić aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>” na nagrywanie dźwięku?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nagrywanie dźwięku na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nagrywanie dźwięku na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ta aplikacja chce móc nagrywać dźwięk przez cały czas, nawet gdy jej nie używasz. "<annotation id="link">"Zezwól w ustawieniach."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Zmienić uprawnienia dostępu do mikrofonu w przypadku aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>”?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do mikrofonu na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do mikrofonu na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ta aplikacja chce móc nagrywać dźwięk przez cały czas, nawet gdy jej nie używasz. "<annotation id="link">"Zezwól w ustawieniach."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do aktywności fizycznej?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do aktywności fizycznej na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do aktywności fizycznej na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na robienie zdjęć i nagrywanie filmów?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na robienie zdjęć i nagrywanie filmów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na robienie zdjęć i nagrywanie filmów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacja będzie mogła robić zdjęcia i nagrywać filmy tylko wtedy, gdy będzie używana"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Zezwolić aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>” na robienie zdjęć i nagrywanie filmów?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na robienie zdjęć i nagrywanie filmów na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na robienie zdjęć i nagrywanie filmów na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ta aplikacja chce móc robić zdjęcia i nagrywać filmy przez cały czas, nawet gdy jej nie używasz. "<annotation id="link">"Zezwól w ustawieniach."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Zmienić uprawnienia dostępu do aparatu w przypadku aplikacji „<xliff:g id="APP_NAME">%1$s</xliff:g>”?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do aparatu na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Zmienić dostęp aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> do aparatu na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ta aplikacja chce móc robić zdjęcia i nagrywać filmy przez cały czas, nawet gdy jej nie używasz. "<annotation id="link">"Zezwól w ustawieniach."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do rejestrów połączeń?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do rejestrów połączeń telefonicznych na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do rejestrów połączeń na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wykonywanie połączeń telefonicznych i zarządzanie nimi?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wykonywanie połączeń telefonicznych i zarządzanie nimi na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na nawiązywanie połączeń telefonicznych i zarządzanie nimi na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika podstawowych funkcji życiowych?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika dotyczących parametrów życiowych na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika dotyczących parametrów życiowych na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ta aplikacja chce mieć dostęp do danych z czujnika dotyczących parametrów życiowych przez cały czas, nawet kiedy jej nie używasz. Aby dokonać tej zmiany, "<annotation id="link">"otwórz ustawienia."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika podstawowych funkcji życiowych?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika dotyczących parametrów życiowych na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujnika dotyczących parametrów życiowych na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Aby zezwolić tej aplikacji na dostęp do danych z czujników na ciele przez cały czas, nawet kiedy jej nie używasz, "<annotation id="link">"przejdź do ustawień"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Czy nadal zezwalać aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do czujników na ciele podczas jej używania?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Nadal zezwalać aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp do danych z czujników na ciele na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> podczas jej używania?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Nadal zezwalać aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na dostęp na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> do danych z czujników na ciele, gdy jest ona używana?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie powiadomień?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie powiadomień na urządzeniu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Zezwolić aplikacji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na wysyłanie powiadomień na urządzeniu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Pozwolenia kontrolowane"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> ma dostęp do lokalizacji"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organizacja zezwala na dostęp aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> do Twojej lokalizacji"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Brak"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Ostatnie\n24 godziny"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Ostatnie\n7 dni"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> procent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> jest chroniona przez Androida. Ponieważ Twoje dane są przetwarzane na tym urządzeniu, używanie uprawnień przez tę aplikację nie jest wyświetlane na pasku stanu w panelu prywatności."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> jest chroniona przez Androida. Ponieważ Twoje dane są przetwarzane na tym urządzeniu, używanie uprawnień przez tę aplikację nie jest wyświetlane w panelu prywatności."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Aparat urządzenia jest zablokowany"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"dla aplikacji i usług"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Dane z mikrofonu mogą być udostępniane, kiedy dzwonisz na numer alarmowy."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Zmień"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Dostęp do kamery jest wyłączony"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Dla aplikacji informacyjno-rozrywkowych"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Dla wymaganych aplikacji"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ta aplikacja jest wymagana"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ta aplikacja jest wymagana przez producenta samochodu"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Bezpieczeństwo i prywatność"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Przeskanuj urządzenie"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Odrzuć"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Zmiany w udostępnianiu danych"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Niektóre aplikacje zmieniły sposób udostępniania Twoich danych o lokalizacji"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ustawienia"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Ostatni dostęp <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Ostatni dostęp wczoraj, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Ostatni dostęp <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Twoje hasło jednorazowe to 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ustawienie z ograniczonym dostępem"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ze względów bezpieczeństwa to ustawienie jest obecnie niedostępne."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikacja nie otrzymała dostępu do uprawnień <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacja wymaga dostępu do uprawnień newralgicznych, co może zagrażać Twoim danym osobowym i informacjom finansowym.<xliff:g id="ID_1"><br><br></xliff:g>Możliwe, że bez tego uprawnienia z ograniczeniami aplikacja nie będzie działać poprawnie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak zezwolić na dostęp</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikacja nie otrzymała dostępu jako domyślna <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacja wymaga dostępu do uprawnień newralgicznych, co może zagrażać Twoim danym osobowym i informacjom finansowym.<xliff:g id="ID_1"><br><br></xliff:g>Możliwe, że bez tego uprawnienia z ograniczeniami aplikacja nie będzie działać poprawnie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak zezwolić na dostęp</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikacja nie otrzymała dostępu"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Dostęp do tych uprawnień może zagrażać Twoim danym osobowym i informacjom finansowym.<xliff:g id="ID_1"><br><br></xliff:g>Możliwe, że bez tych uprawnień z ograniczeniami aplikacja nie będzie działać poprawnie. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Jak zezwolić na dostęp</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Więcej informacji"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Prośba o uprawnienia została zablokowana"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ta aplikacja prosi o dodatkowe uprawnienia, ale nie można ich przyznać w trakcie sesji strumieniowania. Najpierw przyznaj te uprawnienia na telefonie."</string> </resources> diff --git a/PermissionController/res/values-pt-rBR-v34/strings.xml b/PermissionController/res/values-pt-rBR-v34/strings.xml index 6e77e0432..78bebb7a5 100644 --- a/PermissionController/res/values-pt-rBR-v34/strings.xml +++ b/PermissionController/res/values-pt-rBR-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gerenciar o acesso de apps aos dados de saúde"</string> <string name="location_settings" msgid="8863940440881290182">"Acesso ao local"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps e serviços. Se esta configuração estiver desativada, os dados do microfone ainda poderão ser compartilhados quando você ligar para um número de emergência"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para apps e serviços"</string> </resources> diff --git a/PermissionController/res/values-pt-rBR-watch/strings.xml b/PermissionController/res/values-pt-rBR-watch/strings.xml index aa3b75772..84379daa0 100644 --- a/PermissionController/res/values-pt-rBR-watch/strings.xml +++ b/PermissionController/res/values-pt-rBR-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Impossível alterar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sim"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"O tempo todo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Durante o uso do app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"O tempo todo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Durante o uso do app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"O tempo todo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Durante o uso do app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"O tempo todo"</string> </resources> diff --git a/PermissionController/res/values-pt-rBR/strings.xml b/PermissionController/res/values-pt-rBR/strings.xml index 03089b17c..43551bd05 100644 --- a/PermissionController/res/values-pt-rBR/strings.xml +++ b/PermissionController/res/values-pt-rBR/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todas as permissões"</string> <string name="other_permissions" msgid="2901186127193849594">"Outros recursos do app"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitação de permissão"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Escolha o que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> terá permissão para acessar"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"O app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> foi atualizado. Escolha o que esse app terá permissão para acessar."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Sempre permitir tudo"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Perguntar sempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Não permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Local exato"</string> <string name="approximate_image_description" msgid="938803699637069884">"Local aproximado"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar local exato"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Apps podem acessar a localização aproximada quando o local exato está desativado"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permissão para acessar <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Permitir que este app acesse: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acesso de <xliff:g id="PERM">%1$s</xliff:g> para esse app no <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todas as permissões do app <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Mostrar todos os apps que têm esta permissão"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar uso de microfone pelo Assistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remover permissões se o app não for usado"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remover permissões e liberar espaço"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade no app quando não usado"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app fora de uso"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissões, exclui arquivos temporários e para notificações"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger seus dados, as permissões serão removidas se o app não for usado por alguns meses."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger seus dados, se o app não for usado por alguns meses, as seguintes permissões serão removidas: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger seus dados, as permissões de apps que não foram usados nos últimos meses foram removidas."</string> @@ -223,7 +226,7 @@ <string name="unused_apps_page_title" msgid="6986983535677572559">"Apps não usados"</string> <string name="unused_apps_page_summary" msgid="1867593913217272155">"Se um app fica sem uso por alguns meses:\n\n• as permissões são removidas para proteger seus dados;\n• as notificações são interrompidas para economizar bateria;\n• os arquivos temporários são removidos para liberar espaço.\n\nPara retomar as permissões e notificações, abra o app."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Quando um app fica sem uso por um mês:\n\n• As permissões são removidas para proteger seus dados.\n• Os arquivos temporários são removidos para liberar espaço.\n\nSe quiser conceder as permissões novamente, abra o app."</string> - <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Usado pela última vez há mais de # mês}one{Usado pela última vez há mais de # mês}many{Usado pela última vez há mais de # de meses}other{Usado pela última vez há mais de # meses}}"</string> + <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Usado pela última vez há mais de # mês}one{Usados pela última vez há mais de # mês}many{Usados pela última vez há mais de # de meses}other{Usados pela última vez há mais de # meses}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"App aberto pela última vez em <xliff:g id="DATE">%s</xliff:g>"</string> <string name="last_opened_summary_short" msgid="1646067226191176825">"Aberto pela última vez em <xliff:g id="DATE">%s</xliff:g>"</string> <string name="app_permission_footer_special_file_access" msgid="1884202176147657788">"Se você permitir o gerenciamento de todos os arquivos, o app poderá acessar, modificar e excluir qualquer arquivo no armazenamento comum do dispositivo ou no armazenamento de dispositivos conectados. O app poderá acessar arquivos sem pedir autorização."</string> @@ -248,12 +251,13 @@ <string name="app_permission_never_accessed_summary" msgid="401346181461975090">"Nunca acessou"</string> <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Negado/nunca acessado"</string> <string name="allowed_header" msgid="7769277978004790414">"Permitido"</string> - <string name="allowed_always_header" msgid="6455903312589013545">"Permitido sempre"</string> - <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitido durante o uso"</string> + <string name="allowed_always_header" msgid="6455903312589013545">"Permitidos sempre"</string> + <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitidos durante o uso"</string> <string name="allowed_storage_scoped" msgid="5383645873719086975">"Com permissão para acessar apenas mídia"</string> <string name="allowed_storage_full" msgid="5356699280625693530">"Com permissão para gerenciar todos os arquivos"</string> <string name="ask_header" msgid="2633816846459944376">"Perguntar sempre"</string> <string name="denied_header" msgid="903209608358177654">"Não permitido"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> no <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Veja mais apps que têm acesso a todos os arquivos"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dia}one{# dia}many{# dias}other{# dias}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}one{# hora}many{# de horas}other{# horas}}"</string> @@ -358,14 +362,14 @@ <string name="role_browser_request_title" msgid="2895200507835937192">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como navegador padrão?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Nenhuma permissão necessária"</string> <string name="role_dialer_label" msgid="1100224146343237968">"App de telefone padrão"</string> - <string name="role_dialer_short_label" msgid="7186888549465352489">"App Telefone"</string> + <string name="role_dialer_short_label" msgid="7186888549465352489">"App de Telefone"</string> <string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem fazer e receber chamadas no seu dispositivo."</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de telefone padrão?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Este app poderá acessar contatos, câmera, microfone, telefone e SMS"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"discador"</string> <string name="role_sms_label" msgid="8456999857547686640">"App de SMS padrão"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"App de SMS"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem usar o número do telefone para enviar e receber mensagens de texto curtas, fotos, vídeos e muito mais."</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem usar seu número do telefone para enviar e receber mensagens de texto curtas, fotos, vídeos e muito mais."</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como app de SMS padrão?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Este app poderá acessar contatos, câmera, arquivos e mídia, microfone, telefone e SMS"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"mensagem de texto, enviar mensagens de texto, mensagens"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps que permitem a criação de notas no dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Carteira digital padrão"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App de carteira"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Os apps de carteira digital armazenam seus cartões de crédito e de fidelidade, chaves de carros, entre outros itens, para agilizar suas transações."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de carteira padrão?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nenhuma permissão necessária"</string> <string name="request_role_current_default" msgid="738722892438247184">"Padrão atual"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Não perguntar novamente"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Definir como padrão"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Mais padrões"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Abrir links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Padrão para trabalho"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Padrão para o espaço privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Nenhum"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Padrão do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nenhum app"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostrar detecção de gatilho do assistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostrar ícone na barra de status quando o microfone for usado para ativar o assistente por voz"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e mídia no seu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e arquivos de mídia no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e arquivos de mídia no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seus contatos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os contatos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seus contatos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local do seu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"O app só terá acesso ao local enquanto estiver sendo usado"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização deste dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local do seu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Este app pode querer acessar sua localização o tempo todo, mesmo quando não estiver em uso. "<annotation id="link">"Permita o acesso nas configurações"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Mudar o acesso que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à localização?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao local no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao local no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Este app quer acessar sua localização o tempo todo, mesmo quando não estiver em uso. "<annotation id="link">"Permita o acesso nas configurações"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, conecte-se e determine a posição relativa de dispositivos por perto?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, se conecte e saiba o pos. relativo de dsps. por perto no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, se conecte e saiba o posicionamento relativo de dispositivos por perto no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, conecte-se e determine a posição relativa de dispositivos por perto? "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Permitir a troca para que o app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> acesse o local exato (em vez do aproximado)?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Mudar o acesso ao local do <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de aproximado para exato?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Mudar o acesso ao local do <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de aproximado para exato?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado do seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exata"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua agenda?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a agenda no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua agenda no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse e envie mensagens SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e acesse mensagens SMS no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e acesse mensagens SMS no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, mídia e arquivos no seu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, arquivos de mídia e outros arquivos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, mídia e arquivos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse <b>fotos, vídeos, músicas e áudios</b> neste dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse <b>fotos, vídeos, músicas, áudios e outros arquivos</b> neste dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"O app poderá gravar áudio apenas quando estiver em uso"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Este app pode querer gravar áudio a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Este app quer gravar áudio a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua atividade física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados de atividade física no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados de atividade física no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"O app poderá tirar fotos e gravar vídeos apenas quando estiver em uso"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Este app pode querer tirar fotos e gravar vídeos a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Este app quer tirar fotos e gravar vídeos a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seu registro de chamadas telefônicas?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os registros de chamadas do smartphone no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seu registro de chamadas telefônicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gerencie e faça chamadas telefônicas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gerencie ligações telefônicas no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gerencie ligações telefônicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor sobre os sinais vitais do usuário no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor sobre seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Este app quer acessar os dados do sensor sobre seus sinais vitais o tempo todo, mesmo quando não estiver em uso. Para fazer essa mudança, "<annotation id="link">"acesse as configurações"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre os sinais vitais do usuário no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que o app tenha acesso a dados do sensor corporal a qualquer momento, mesmo quando não estiver em uso, "<annotation id="link">"acesse as configurações"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Continuar permitindo que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal enquanto estiver em uso?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Continuar permitindo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal durante o uso no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Continuar permitindo que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> durante o uso do app?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações para você no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permissões controladas"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> tem acesso à localização"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Sua organização permite que o app <xliff:g id="APP_NAME">%1$s</xliff:g> tenha acesso à sua localização"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nenhuma"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Nos últimos\nsete dias"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> por cento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> é Protegido pelo Android. Como seus dados são processados no dispositivo, o uso da permissão do app não é mostrado na barra de status nem no painel de privacidade."</string> <string name="exempt_info_label" msgid="6286190981253476699">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> é Protegido pelo Android. Como seus dados são processados no dispositivo, o uso da permissão do app não é mostrado no painel de privacidade."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"A câmera do dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para apps e serviços"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Os dados do microfone ainda poderão ser compartilhados quando você ligar para um número de emergência."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Mudar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"O acesso à câmera está desativado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para apps de infoentretenimento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para apps necessários"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"O app é necessário"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"O app é exigido pelo fabricante do carro"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Segurança e privacidade"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Verificar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dispensar"</string> @@ -637,8 +653,8 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Os dados de local podem ser compartilhados"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Este app indicou que pode compartilhar seus dados de local com terceiros"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Atualizações no compartilhamento de dados de local"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"Conferir apps que mudaram a forma de compartilhar dados de local"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Esses apps mudaram a forma de compartilhar os dados de local. É possível que eles não tenham compartilhado antes ou que agora compartilhem para fins de publicidade ou marketing."</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"Conferir apps que mudaram a forma de compartilhar seus dados de local"</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Esses apps mudaram a forma de compartilhar os dados de local. É possível que eles não os tenham compartilhado antes ou que agora os compartilhem para fins de publicidade ou marketing."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Os desenvolvedores desses apps oferecem informações sobre as práticas deles de compartilhamento de dados com uma app store. Eles podem atualizar essas informações com o tempo.\n\nAs práticas de compartilhamento de dados podem variar de acordo com a versão do app e com a idade, o uso e a região do usuário."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Saiba mais sobre o compartilhamento de dados"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Seus dados de local agora são compartilhados com terceiros"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Atualizações do compartilhamento de dados"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Alguns apps mudaram a forma como podem compartilhar seus dados de local"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Configurações"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Último acesso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Último acesso: ontem, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Último acesso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Sua senha única é 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Configuração restrita"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Para sua segurança, essa configuração está indisponível no momento."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"O app não recebeu a seguinte permissão de acesso: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"O app solicitou acesso a uma permissão sensível que pode colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essa permissão restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"O app não recebeu o acesso para ser a escolha padrão de: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"O app solicitou acesso a permissões sensíveis que podem colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essas permissões restritas. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"O app não recebeu a permissão de acesso"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"O acesso a essa permissão pode colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essa permissão restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saiba mais"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Solicitação de permissão suprimida"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esse app está solicitando permissões extras, mas elas não podem ser concedidas em uma sessão de streaming. Dê permissão pelo smartphone primeiro."</string> </resources> diff --git a/PermissionController/res/values-pt-rPT-v34/strings.xml b/PermissionController/res/values-pt-rPT-v34/strings.xml index 2f7ce1be2..a4d6bd83b 100644 --- a/PermissionController/res/values-pt-rPT-v34/strings.xml +++ b/PermissionController/res/values-pt-rPT-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Faça a gestão do acesso de apps a dados de saúde"</string> <string name="location_settings" msgid="8863940440881290182">"Acesso à localização"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps e serviços. Se esta definição estiver desativada, os dados do microfone ainda podem ser partilhados quando ligar para um número de emergência"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para apps e serviços"</string> </resources> diff --git a/PermissionController/res/values-pt-rPT-watch/strings.xml b/PermissionController/res/values-pt-rPT-watch/strings.xml index 3c3a88806..60b1f5f4d 100644 --- a/PermissionController/res/values-pt-rPT-watch/strings.xml +++ b/PermissionController/res/values-pt-rPT-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Impossív. alterar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sim"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Sempre"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Quando usar a app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Sempre"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Quando usar a app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Sempre"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Quando usar a app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Sempre"</string> </resources> diff --git a/PermissionController/res/values-pt-rPT/strings.xml b/PermissionController/res/values-pt-rPT/strings.xml index 437805f95..c7348125f 100644 --- a/PermissionController/res/values-pt-rPT/strings.xml +++ b/PermissionController/res/values-pt-rPT/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todas as autorizações"</string> <string name="other_permissions" msgid="2901186127193849594">"Outras capacidades de aplicações"</string> <string name="permission_request_title" msgid="8790310151025020126">"Pedido de autorização"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Escolher a que conteúdos permite que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"O <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> foi atualizado. Escolha a que conteúdos permite que esta app aceda."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permitir sempre tudo"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Perguntar sempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Não permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Localização exata"</string> <string name="approximate_image_description" msgid="938803699637069884">"Localização aproximada"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar localização exata"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Localização exata"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Quando a localização exata está desativada, as apps podem aceder à sua localização aproximada"</string> <string name="app_permission_title" msgid="2090897901051370711">"Autorização de <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Acesso desta app a <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acesso a <xliff:g id="PERM">%1$s</xliff:g> para esta app no dispositivo <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todas as autorizações da app <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ver todas as apps com esta autorização"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar utilização do microfone do assistente"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"Definições de apps não usadas"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Remover autorizações se a app não for utilizada"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remover autorizações e libertar espaço"</string> - <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade de apps, se não usadas"</string> - <string name="unused_apps_summary" msgid="8839466950318403115">"Remova autorizações, elimine ficheiros temporários e pare notificações"</string> + <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade de apps se não usadas"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerir app se não for usada"</string> + <string name="unused_apps_summary" msgid="8839466950318403115">"Remover autorizações, eliminar ficheiros temporários e parar notificações"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remove autorizações, elimina ficheiros temporários, interrompe notificações e arquiva a app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger os seus dados, as autorizações desta app serão removidas se a mesma não for utilizada durante alguns meses."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger os seus dados, se a app não for utilizada há alguns meses, serão removidas as seguintes autorizações: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger os seus dados, foram removidas as autorizações para as apps que não utiliza há alguns meses."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Com autorização para gerir todos os ficheiros"</string> <string name="ask_header" msgid="2633816846459944376">"Perguntar sempre"</string> <string name="denied_header" msgid="903209608358177654">"Não permitidas"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> no dispositivo <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Veja mais apps que podem aceder a todos os ficheiros"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dia}many{# dias}other{# dias}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}many{# horas}other{# horas}}"</string> @@ -349,9 +353,9 @@ <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"<xliff:g id="NUM_SERVICES">%s</xliff:g> aplicações de acessibilidade têm acesso total ao seu dispositivo"</string> <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"O serviço <xliff:g id="SERVICE_NAME">%s</xliff:g> pode ver o seu ecrã, as ações e as entradas, efetuar ações e controlar o ecrã."</string> <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Estas aplicações podem ver o ecrã, as ações e as entradas, efetuar ações e controlar o ecrã."</string> - <string name="role_assistant_label" msgid="4727586018198208128">"App assistente digital predef."</string> + <string name="role_assistant_label" msgid="4727586018198208128">"App assistente digital predefinida"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"App assistente digital"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"As apps de assistência podem ajudá-lo com base em informações do ecrã que está a ver. Algumas apps são compatíveis com serviços de iniciação e de entrada de texto por voz para oferecer assistência integrada."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"As apps de assistência podem ser-lhe úteis com base em informações do ecrã que está a ver. Algumas apps são compatíveis com serviços de iniciação e de entrada de texto por voz para oferecer assistência integrada."</string> <string name="role_browser_label" msgid="2877796144554070207">"App navegador predefinida"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"App de navegador"</string> <string name="role_browser_description" msgid="3465253637499842671">"Apps que lhe dão acesso à Internet e apresentam links em que pode tocar."</string> @@ -359,13 +363,13 @@ <string name="role_browser_request_description" msgid="5888803407905985941">"Não são necessárias autorizações."</string> <string name="role_dialer_label" msgid="1100224146343237968">"App de telefone predefinida"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"App Telefone"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem efetuar e receber chamadas no seu dispositivo."</string> + <string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem fazer e receber chamadas no seu dispositivo"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Quer definir o <xliff:g id="APP_NAME">%1$s</xliff:g> como a app de telefone predefinida?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Esta app fica com acesso à sua Câmara, Contactos, Microfone, Telefone e SMS"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"telefone"</string> <string name="role_sms_label" msgid="8456999857547686640">"App de SMS predefinida"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"App de SMS"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem utilizar o seu número de telefone para enviar e receber mensagens de texto, fotos, vídeos e muito mais."</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem usar o seu número de telefone para enviar e receber mensagens de texto, fotos, vídeos e muito mais."</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Quer definir o <xliff:g id="APP_NAME">%1$s</xliff:g> como app SMS predefinida?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Esta app fica com acesso à sua Câmara, Contactos, Ficheiros e multimédia, Microfone, Telefone e SMS"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"mensagem de texto, enviar mensagens de texto, mensagens"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"em caso de emergência"</string> <string name="role_home_label" msgid="3871847846649769412">"App página inicial predefinida"</string> <string name="role_home_short_label" msgid="8544733747952272337">"App Página inicial"</string> - <string name="role_home_description" msgid="7997371519626556675">"Apps, frequentemente denominadas iniciadores, que substituem os ecrãs principais no dispositivo Android e dão acesso aos conteúdos e às funcionalidades do seu dispositivo."</string> + <string name="role_home_description" msgid="7997371519626556675">"Também conhecidas por \"launcher\" são apps que substituem os ecrãs principais no Android e dão acesso aos conteúdos e às funcionalidades do seu dispositivo"</string> <string name="role_home_request_title" msgid="738136983453341081">"Quer definir o <xliff:g id="APP_NAME">%1$s</xliff:g> como a app Página inicial predefinida?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Não são necessárias autorizações."</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"iniciador"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps que lhe permitem tirar notas no seu dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"App de carteira predefinida"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App de carteira"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"As apps de carteira podem armazenar os seus cartões de crédito e de fidelidade, as chaves do carro, entre outras coisas, para ajudar em várias formas de transações."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Definir a app <xliff:g id="APP_NAME">%1$s</xliff:g> como a sua app de carteira predefinida?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Não são necessárias autorizações"</string> <string name="request_role_current_default" msgid="738722892438247184">"Predefinição atual"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Não perguntar novamente"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Definir como predef."</string> @@ -428,13 +437,14 @@ <string name="default_apps_more" msgid="4078194675848858093">"Mais predefinições"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Abertura de links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predefinição para o trabalho"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Predefinição para espaço privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Nenhuma"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Predefinição do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Sem apps"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"Selecionada"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"Selecionada – <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> <string name="special_app_access_search_keyword" msgid="8032347212290774210">"acesso especial a apps"</string> - <string name="special_app_access" msgid="5019319067120213797">"Acesso especial a apps"</string> + <string name="special_app_access" msgid="5019319067120213797">"Acesso especial para apps"</string> <string name="no_special_app_access" msgid="6950277571805106247">"Sem acesso especial a app"</string> <string name="special_app_access_no_apps" msgid="4102911722787886970">"Sem apps"</string> <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Não suporta o perfil de trabalho."</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostre a deteção do acionador do assistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostre o ícone na barra de estado quando o microfone é utilizado para ativar o assistente de voz"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e multimédia no dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e multimédia no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e multimédia no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos seus contactos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos contactos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos seus contactos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"A app tem acesso à localização apenas enquanto a estiver a utilizar"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização deste dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Esta app poderá pretender aceder sempre à sua localização, mesmo quando não a estiver a utilizar. "<annotation id="link">"Permita-o nas definições."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Quer alterar o acesso à localização para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Alterar o acesso à localização para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Alterar o acesso à localização para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Esta app quer aceder sempre à sua localização, mesmo quando não a estiver a utilizar. "<annotation id="link">"Permita-o nas definições."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, determine a posição relativa dos dispositivos próximos e se ligue aos mesmos?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, ligue e determine a posição de dispositivos próximos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, ligue e determine a posição relativa de dispositivos próximos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, determine a posição relativa dos dispositivos próximos e se ligue aos mesmos? "<annotation id="link">"Permita nas Definições."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Alterar o acesso à localização da app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de aproximada para exata?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Alterar o acesso à localização para a app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de aproximada para exata?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Alterar o acesso à localização para a app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de aproximada para exata?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização aproximada deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização aproximada do <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à localização aproximada do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exata"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda ao calendário?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda ao calendário no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda ao seu calendário no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e veja mensagens SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e veja mensagens SMS no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e veja mensagens SMS no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos, multimédia e ficheiros no dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos, multimédia e ficheiros no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos, multimédia e ficheiros no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a <b>fotos, vídeos, música e áudio</b> neste dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a <b>fotos, vídeos, música, áudio, etc.</b> neste dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a música e áudio neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a música e áudio no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a música e áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e vídeos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a mais fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a mais fotos e vídeos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a mais fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"A app apenas poderá gravar áudio enquanto a estiver a utilizar."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Esta app pode pretender gravar áudio sempre, mesmo quando não a está a utilizar. "<annotation id="link">"Permita-o nas Definições."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Quer alterar o acesso ao microfone para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Alterar o acesso ao microfone para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Alterar o acesso ao microfone para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Esta app quer gravar áudio sempre, mesmo quando não a está a utilizar. "<annotation id="link">"Permita-o nas Definições."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à sua atividade física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à sua atividade física no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda à sua atividade física no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeo?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> capture fotos e vídeos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"A app apenas poderá tirar fotos e gravar vídeos enquanto a estiver a utilizar."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeo?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> capture fotos e vídeos no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Esta app pode pretender tirar fotos e gravar vídeos sempre, mesmo quando não a está a utilizar. "<annotation id="link">"Permita-o nas Definições."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Quer alterar o acesso à câmara para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Alterar o acesso à câmara para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Alterar o acesso à câmara para a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Esta app quer tirar fotos e gravar vídeos sempre, mesmo quando não a está a utilizar. "<annotation id="link">"Permita-o nas Definições."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos registos de chamadas do seu telemóvel?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos registos de chamadas telefónicas no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gira chamadas telefónicas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gira chamadas no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos registos de chamadas telefónicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> passe a fazer e gerir chamadas telefónicas?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> passe a fazer e gerir chamadas telefónicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores acerca dos seus sinais vitais?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores sobre os seus sinais vitais no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores sobre os seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Esta app quer aceder sempre aos dados de sensores sobre os seus sinais vitais, mesmo quando não a estiver a usar. Para fazer esta alteração, "<annotation id="link">"aceda às definições."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores acerca dos seus sinais vitais?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores sobre os seus sinais vitais no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores sobre os seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que esta app aceda sempre aos dados de sensores de corpo, mesmo quando não está a usá-la, "<annotation id="link">"aceda às definições."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Continuar a permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda aos dados de sensores de corpo enquanto usa a app?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Continuar a permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a dados de sensores de corpo no <b><xliff:g id="DEVICE">%2$s</xliff:g></b> quando usa a app?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Continuar a permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> aceda a dados de sensores de corpo no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> quando a usa?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lhe envie notificações?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lhe envie notificações para o <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Permitir que a app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> lhe envie notificações no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Autorizações controladas"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> tem acesso à localização"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"A sua organização permite que a app <xliff:g id="APP_NAME">%1$s</xliff:g> aceda à sua localização"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nenhuma"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Últimos\n7 dias"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>: <xliff:g id="PERCENT">%2$d</xliff:g> por cento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> está protegida pelo Android. Uma vez que os seus dados são processados neste dispositivo, a utilização da autorização desta app não é apresentada na barra de estado ou no seu painel de privacidade."</string> <string name="exempt_info_label" msgid="6286190981253476699">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> está protegida pelo Android. Uma vez que os seus dados são processados neste dispositivo, a utilização da autorização desta app não é apresentada no seu painel de privacidade."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"A câmara do dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para apps e serviços"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Os dados do microfone ainda podem ser partilhados quando ligar para um número de emergência."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Alterar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"O acesso à câmara está desativado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para apps de infoentretenimento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para apps necessárias"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Esta app é necessária"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Esta app é exigida pelo fabricante do carro"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Segurança e privacidade"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Analisar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ignorar"</string> @@ -612,9 +628,9 @@ <string name="mic_toggle_description" msgid="9163104307990677157">"Para apps e serviços. Se esta definição estiver desativada, os dados do microfone ainda podem ser partilhados quando ligar para um número de emergência."</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"Veja as apps e os serviços que têm acesso à localização"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Mostrar acesso à área de transferência"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Apresente uma mensagem quando as apps acedem a texto, imagens ou outro conteúdo que copiou"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Mostra uma mensagem quando as apps acedem a texto, imagens ou outro conteúdo que copiou"</string> <string name="show_password_title" msgid="2877269286984684659">"Mostrar palavras-passe"</string> - <string name="show_password_summary" msgid="1110166488865981610">"Apresente rapidamente os carateres ao escrever"</string> + <string name="show_password_summary" msgid="1110166488865981610">"Mostra brevemente os carateres ao escrever"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"Esta app declarou que pode partilhar dados de localização com terceiros"</string> <string name="permission_rationale_location_title" msgid="2404797182678793506">"Localização e partilha de dados"</string> <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"Qual é a origem das informações da partilha de dados"</string> @@ -637,8 +653,8 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Os dados de localização podem ser partilhados"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Esta app declarou que pode partilhar os seus dados de localização com terceiros"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Atualizações da partilha de dados para a localização"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"Reveja apps que mudaram a forma como podem partilhar os seus dados de localização"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Estas apps mudaram a forma como podem partilhar os seus dados de localização. Podem não os ter partilhado antes ou podem partilhá-los agora para fins de publicidade ou marketing."</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"Reveja apps que mudaram a forma de partilhar os seus dados de localização"</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Estas apps mudaram a forma de partilhar os seus dados de localização. É possível que não os tenham partilhado antes ou que passem a partilhá-los agora para fins de publicidade ou marketing."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Os programadores destas apps deram informações sobre as respetivas práticas de partilha de dados a uma loja de apps. Podem atualizá-las ao longo do tempo.\n\nAs práticas de partilha de dados podem variar consoante a versão da app, a utilização, a região e a idade."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Saiba mais sobre a partilha de dados"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Os seus dados de localização são agora partilhados com terceiros"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Atualizações da partilha de dados"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Algumas apps alteraram a forma como podem partilhar os seus dados de localização"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Definições"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Acedido à(s) <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Acedido ontem à(s) <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Acedido a <xliff:g id="TIME_DATE_0">%1$s</xliff:g> à(s) <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"A sua palavra-passe de utilização única é 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Definição restrita"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Para sua segurança, esta definição está indisponível atualmente."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"O acesso a <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> foi negado à app"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"A app pediu acesso a uma autorização confidencial que pode pôr em risco as suas informações pessoais e financeiras.<xliff:g id="ID_1"><br><br></xliff:g>É possível que a app não funcione corretamente sem esta autorização restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saiba como permitir o acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"O acesso à função predefinida <xliff:g id="ROLE_NAME">%1$s</xliff:g> foi negado à app"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"A app pediu acesso a autorizações confidenciais que podem pôr em risco as suas informações pessoais e financeiras.<xliff:g id="ID_1"><br><br></xliff:g>É possível que a app não funcione corretamente sem estas autorizações restritas. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saiba como permitir o acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"O acesso foi negado à app"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"O acesso a esta autorização pode pôr em risco as suas informações pessoais e financeiras.<xliff:g id="ID_1"><br><br></xliff:g>É possível que a app não funcione corretamente sem esta autorização restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Saiba como permitir o acesso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saber mais"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Pedido de autorização suprimido"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esta app está a pedir autorizações adicionais, mas não é possível conceder autorizações numa sessão de streaming. Comece por conceder a autorização no seu telemóvel."</string> </resources> diff --git a/PermissionController/res/values-pt-v34/strings.xml b/PermissionController/res/values-pt-v34/strings.xml index 6e77e0432..78bebb7a5 100644 --- a/PermissionController/res/values-pt-v34/strings.xml +++ b/PermissionController/res/values-pt-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gerenciar o acesso de apps aos dados de saúde"</string> <string name="location_settings" msgid="8863940440881290182">"Acesso ao local"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps e serviços. Se esta configuração estiver desativada, os dados do microfone ainda poderão ser compartilhados quando você ligar para um número de emergência"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para apps e serviços"</string> </resources> diff --git a/PermissionController/res/values-pt-watch/strings.xml b/PermissionController/res/values-pt-watch/strings.xml index aa3b75772..84379daa0 100644 --- a/PermissionController/res/values-pt-watch/strings.xml +++ b/PermissionController/res/values-pt-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Impossível alterar"</string> <string name="generic_yes" msgid="2489207724988649846">"Sim"</string> <string name="generic_cancel" msgid="2631708607129269698">"Cancelar"</string> + <string name="permission_access_always" msgid="2107115233573823032">"O tempo todo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Durante o uso do app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"O tempo todo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Durante o uso do app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"O tempo todo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Durante o uso do app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"O tempo todo"</string> </resources> diff --git a/PermissionController/res/values-pt/strings.xml b/PermissionController/res/values-pt/strings.xml index 03089b17c..43551bd05 100644 --- a/PermissionController/res/values-pt/strings.xml +++ b/PermissionController/res/values-pt/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Todas as permissões"</string> <string name="other_permissions" msgid="2901186127193849594">"Outros recursos do app"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitação de permissão"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"As ações de instalar/desinstalar não são compatíveis com o Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Escolha o que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> terá permissão para acessar"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"O app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> foi atualizado. Escolha o que esse app terá permissão para acessar."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Cancelar"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Sempre permitir tudo"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Perguntar sempre"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Não permitir"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Local exato"</string> <string name="approximate_image_description" msgid="938803699637069884">"Local aproximado"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar local exato"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Apps podem acessar a localização aproximada quando o local exato está desativado"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permissão para acessar <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Permitir que este app acesse: <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acesso de <xliff:g id="PERM">%1$s</xliff:g> para esse app no <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ver todas as permissões do app <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Mostrar todos os apps que têm esta permissão"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Mostrar uso de microfone pelo Assistente"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Remover permissões se o app não for usado"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Remover permissões e liberar espaço"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade no app quando não usado"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gerenciar o app fora de uso"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Remove permissões, exclui arquivos temporários e para notificações"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger seus dados, as permissões serão removidas se o app não for usado por alguns meses."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger seus dados, se o app não for usado por alguns meses, as seguintes permissões serão removidas: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger seus dados, as permissões de apps que não foram usados nos últimos meses foram removidas."</string> @@ -223,7 +226,7 @@ <string name="unused_apps_page_title" msgid="6986983535677572559">"Apps não usados"</string> <string name="unused_apps_page_summary" msgid="1867593913217272155">"Se um app fica sem uso por alguns meses:\n\n• as permissões são removidas para proteger seus dados;\n• as notificações são interrompidas para economizar bateria;\n• os arquivos temporários são removidos para liberar espaço.\n\nPara retomar as permissões e notificações, abra o app."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Quando um app fica sem uso por um mês:\n\n• As permissões são removidas para proteger seus dados.\n• Os arquivos temporários são removidos para liberar espaço.\n\nSe quiser conceder as permissões novamente, abra o app."</string> - <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Usado pela última vez há mais de # mês}one{Usado pela última vez há mais de # mês}many{Usado pela última vez há mais de # de meses}other{Usado pela última vez há mais de # meses}}"</string> + <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Usado pela última vez há mais de # mês}one{Usados pela última vez há mais de # mês}many{Usados pela última vez há mais de # de meses}other{Usados pela última vez há mais de # meses}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"App aberto pela última vez em <xliff:g id="DATE">%s</xliff:g>"</string> <string name="last_opened_summary_short" msgid="1646067226191176825">"Aberto pela última vez em <xliff:g id="DATE">%s</xliff:g>"</string> <string name="app_permission_footer_special_file_access" msgid="1884202176147657788">"Se você permitir o gerenciamento de todos os arquivos, o app poderá acessar, modificar e excluir qualquer arquivo no armazenamento comum do dispositivo ou no armazenamento de dispositivos conectados. O app poderá acessar arquivos sem pedir autorização."</string> @@ -248,12 +251,13 @@ <string name="app_permission_never_accessed_summary" msgid="401346181461975090">"Nunca acessou"</string> <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Negado/nunca acessado"</string> <string name="allowed_header" msgid="7769277978004790414">"Permitido"</string> - <string name="allowed_always_header" msgid="6455903312589013545">"Permitido sempre"</string> - <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitido durante o uso"</string> + <string name="allowed_always_header" msgid="6455903312589013545">"Permitidos sempre"</string> + <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitidos durante o uso"</string> <string name="allowed_storage_scoped" msgid="5383645873719086975">"Com permissão para acessar apenas mídia"</string> <string name="allowed_storage_full" msgid="5356699280625693530">"Com permissão para gerenciar todos os arquivos"</string> <string name="ask_header" msgid="2633816846459944376">"Perguntar sempre"</string> <string name="denied_header" msgid="903209608358177654">"Não permitido"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> no <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Veja mais apps que têm acesso a todos os arquivos"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dia}one{# dia}many{# dias}other{# dias}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hora}one{# hora}many{# de horas}other{# horas}}"</string> @@ -358,14 +362,14 @@ <string name="role_browser_request_title" msgid="2895200507835937192">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como navegador padrão?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Nenhuma permissão necessária"</string> <string name="role_dialer_label" msgid="1100224146343237968">"App de telefone padrão"</string> - <string name="role_dialer_short_label" msgid="7186888549465352489">"App Telefone"</string> + <string name="role_dialer_short_label" msgid="7186888549465352489">"App de Telefone"</string> <string name="role_dialer_description" msgid="8768708633696539612">"Apps que permitem fazer e receber chamadas no seu dispositivo."</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de telefone padrão?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Este app poderá acessar contatos, câmera, microfone, telefone e SMS"</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"discador"</string> <string name="role_sms_label" msgid="8456999857547686640">"App de SMS padrão"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"App de SMS"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem usar o número do telefone para enviar e receber mensagens de texto curtas, fotos, vídeos e muito mais."</string> + <string name="role_sms_description" msgid="3424020199148153513">"Apps que permitem usar seu número do telefone para enviar e receber mensagens de texto curtas, fotos, vídeos e muito mais."</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como app de SMS padrão?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Este app poderá acessar contatos, câmera, arquivos e mídia, microfone, telefone e SMS"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"mensagem de texto, enviar mensagens de texto, mensagens"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"App de notas"</string> <string name="role_notes_description" msgid="8496852798616883551">"Apps que permitem a criação de notas no dispositivo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notas"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Carteira digital padrão"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"App de carteira"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Os apps de carteira digital armazenam seus cartões de crédito e de fidelidade, chaves de carros, entre outros itens, para agilizar suas transações."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Definir <xliff:g id="APP_NAME">%1$s</xliff:g> como seu app de carteira padrão?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nenhuma permissão necessária"</string> <string name="request_role_current_default" msgid="738722892438247184">"Padrão atual"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Não perguntar novamente"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Definir como padrão"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Mais padrões"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Abrir links"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Padrão para trabalho"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Padrão para o espaço privado"</string> <string name="default_app_none" msgid="9084592086808194457">"Nenhum"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Padrão do sistema)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nenhum app"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Mostrar detecção de gatilho do assistente"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostrar ícone na barra de status quando o microfone for usado para ativar o assistente por voz"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e mídia no seu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e arquivos de mídia no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e arquivos de mídia no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seus contatos?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os contatos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seus contatos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local do seu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"O app só terá acesso ao local enquanto estiver sendo usado"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização deste dispositivo?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local do seu <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a localização do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Este app pode querer acessar sua localização o tempo todo, mesmo quando não estiver em uso. "<annotation id="link">"Permita o acesso nas configurações"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Mudar o acesso que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à localização?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao local no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao local no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Este app quer acessar sua localização o tempo todo, mesmo quando não estiver em uso. "<annotation id="link">"Permita o acesso nas configurações"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, conecte-se e determine a posição relativa de dispositivos por perto?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, se conecte e saiba o pos. relativo de dsps. por perto no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, se conecte e saiba o posicionamento relativo de dispositivos por perto no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> encontre, conecte-se e determine a posição relativa de dispositivos por perto? "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Permitir a troca para que o app <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> acesse o local exato (em vez do aproximado)?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Mudar o acesso ao local do <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b> de aproximado para exato?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Mudar o acesso ao local do <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> de aproximado para exato?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado deste dispositivo?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado do seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse o local aproximado do <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>’s?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exata"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximada"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua agenda?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse a agenda no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua agenda no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse e envie mensagens SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e acesse mensagens SMS no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie e acesse mensagens SMS no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, mídia e arquivos no seu dispositivo?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, arquivos de mídia e outros arquivos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos, mídia e arquivos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse <b>fotos, vídeos, músicas e áudios</b> neste dispositivo?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse <b>fotos, vídeos, músicas, áudios e outros arquivos</b> neste dispositivo?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse músicas e áudios no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos neste dispositivo?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse mais fotos e vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"O app poderá gravar áudio apenas quando estiver em uso"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> grave áudio no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Este app pode querer gravar áudio a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem ao microfone no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Este app quer gravar áudio a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse sua atividade física?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados de atividade física no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados de atividade física no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"O app poderá tirar fotos e gravar vídeos apenas quando estiver em uso"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tire fotos e grave vídeos no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Este app pode querer tirar fotos e gravar vídeos a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Mudar o acesso que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Mudar o acesso que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tem à câmera no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Este app quer tirar fotos e gravar vídeos a qualquer momento, mesmo quando não estiver em uso. "<annotation id="link">"Permita nas configurações."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seu registro de chamadas telefônicas?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os registros de chamadas do smartphone no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse seu registro de chamadas telefônicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gerencie e faça chamadas telefônicas?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gerencie ligações telefônicas no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> faça e gerencie ligações telefônicas no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor sobre os sinais vitais do usuário no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor sobre seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Este app quer acessar os dados do sensor sobre seus sinais vitais o tempo todo, mesmo quando não estiver em uso. Para fazer essa mudança, "<annotation id="link">"acesse as configurações"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre os sinais vitais do usuário no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse os dados do sensor sobre seus sinais vitais no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para permitir que o app tenha acesso a dados do sensor corporal a qualquer momento, mesmo quando não estiver em uso, "<annotation id="link">"acesse as configurações"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Continuar permitindo que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal enquanto estiver em uso?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Continuar permitindo que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal durante o uso no <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Continuar permitindo que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> acesse dados do sensor corporal no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> durante o uso do app?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Permitir que o app <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Permitir que <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações no seu <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Permitir que o <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> envie notificações para você no <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permissões controladas"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> tem acesso à localização"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Sua organização permite que o app <xliff:g id="APP_NAME">%1$s</xliff:g> tenha acesso à sua localização"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Nenhuma"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Últimas\n24 horas"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Nos últimos\nsete dias"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> por cento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> é Protegido pelo Android. Como seus dados são processados no dispositivo, o uso da permissão do app não é mostrado na barra de status nem no painel de privacidade."</string> <string name="exempt_info_label" msgid="6286190981253476699">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> é Protegido pelo Android. Como seus dados são processados no dispositivo, o uso da permissão do app não é mostrado no painel de privacidade."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"A câmera do dispositivo está bloqueada"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para apps e serviços"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Os dados do microfone ainda poderão ser compartilhados quando você ligar para um número de emergência."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Mudar"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"O acesso à câmera está desativado"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para apps de infoentretenimento"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para apps necessários"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"O app é necessário"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"O app é exigido pelo fabricante do carro"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Segurança e privacidade"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Verificar dispositivo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Dispensar"</string> @@ -637,8 +653,8 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Os dados de local podem ser compartilhados"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Este app indicou que pode compartilhar seus dados de local com terceiros"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Atualizações no compartilhamento de dados de local"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"Conferir apps que mudaram a forma de compartilhar dados de local"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Esses apps mudaram a forma de compartilhar os dados de local. É possível que eles não tenham compartilhado antes ou que agora compartilhem para fins de publicidade ou marketing."</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"Conferir apps que mudaram a forma de compartilhar seus dados de local"</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Esses apps mudaram a forma de compartilhar os dados de local. É possível que eles não os tenham compartilhado antes ou que agora os compartilhem para fins de publicidade ou marketing."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Os desenvolvedores desses apps oferecem informações sobre as práticas deles de compartilhamento de dados com uma app store. Eles podem atualizar essas informações com o tempo.\n\nAs práticas de compartilhamento de dados podem variar de acordo com a versão do app e com a idade, o uso e a região do usuário."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Saiba mais sobre o compartilhamento de dados"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Seus dados de local agora são compartilhados com terceiros"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Atualizações do compartilhamento de dados"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Alguns apps mudaram a forma como podem compartilhar seus dados de local"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Configurações"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Último acesso: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Último acesso: ontem, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Último acesso: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Sua senha única é 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Configuração restrita"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Para sua segurança, essa configuração está indisponível no momento."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"O app não recebeu a seguinte permissão de acesso: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"O app solicitou acesso a uma permissão sensível que pode colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essa permissão restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"O app não recebeu o acesso para ser a escolha padrão de: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"O app solicitou acesso a permissões sensíveis que podem colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essas permissões restritas. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"O app não recebeu a permissão de acesso"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"O acesso a essa permissão pode colocar suas informações pessoais e financeiras em risco.<xliff:g id="ID_1"><br><br></xliff:g>É possível que o app não funcione corretamente sem essa permissão restrita. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Aprenda a conceder acesso</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Saiba mais"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Solicitação de permissão suprimida"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Esse app está solicitando permissões extras, mas elas não podem ser concedidas em uma sessão de streaming. Dê permissão pelo smartphone primeiro."</string> </resources> diff --git a/PermissionController/res/values-ro-v34/strings.xml b/PermissionController/res/values-ro-v34/strings.xml index e57e8c91a..cf7e275a1 100644 --- a/PermissionController/res/values-ro-v34/strings.xml +++ b/PermissionController/res/values-ro-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Gestionează accesul aplicației la datele despre sănătate"</string> <string name="location_settings" msgid="8863940440881290182">"Accesul la locație"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Pentru aplicații și servicii. Chiar dacă setarea este dezactivată, datele de la microfon pot fi trimise când apelezi un număr de urgență."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Pentru aplicații și servicii"</string> </resources> diff --git a/PermissionController/res/values-ro-watch/strings.xml b/PermissionController/res/values-ro-watch/strings.xml index 2b5702c73..01b6310df 100644 --- a/PermissionController/res/values-ro-watch/strings.xml +++ b/PermissionController/res/values-ro-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nu se poate modif"</string> <string name="generic_yes" msgid="2489207724988649846">"Da"</string> <string name="generic_cancel" msgid="2631708607129269698">"Anulează"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Tot timpul"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Când folosești aplicația"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Tot timpul"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Când folosești aplicația"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Tot timpul"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Când folosești aplicația"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Tot timpul"</string> </resources> diff --git a/PermissionController/res/values-ro/strings.xml b/PermissionController/res/values-ro/strings.xml index b4abb4142..32bd68304 100644 --- a/PermissionController/res/values-ro/strings.xml +++ b/PermissionController/res/values-ro/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Toate permisiunile"</string> <string name="other_permissions" msgid="2901186127193849594">"Alte funcții ale aplicației"</string> <string name="permission_request_title" msgid="8790310151025020126">"Solicitare de permisiune"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Acțiunile Instalează/Dezinstalează nu sunt acceptate pe Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Alege ce va putea accesa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplicația <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> a fost actualizată. Alege ce va putea accesa această aplicație."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Anulează"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Permite-le întotdeauna pe toate"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Întreabă de fiecare dată"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nu permite"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Locația exactă"</string> <string name="approximate_image_description" msgid="938803699637069884">"Locația aproximativă"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Folosește locația exactă"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Când locația exactă este dezactivată, aplicațiile îți pot accesa locația aproximativă"</string> <string name="app_permission_title" msgid="2090897901051370711">"Permisiune <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Accesul la <xliff:g id="PERM">%1$s</xliff:g> pentru această aplicație"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Acces de <xliff:g id="PERM">%1$s</xliff:g> pentru această aplicație pe <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Vezi toate permisiunile aplicației <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Vezi toate aplicațiile cu această permisiune"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Afișează datele de utilizare a microfonului cu Asistentul"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Elimină permisiunile dacă aplicația nu este folosită"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Revocă permisiunile și eliberează spațiu"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Întrerupe activitatea în aplicațiile nefolosite"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Gestionează aplicația dacă nu e folosită"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Revocă permisiunile, șterge fișierele temporare și oprește notificările"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Elimină permisiunile, șterge fișierele temporare, oprește notificările și arhivează aplicația"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Pentru a-ți proteja datele, se vor elimina permisiunile pentru această aplicație dacă nu este folosită câteva luni."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Pentru a-ți proteja datele, dacă aplicația nu este folosită câteva luni, se vor elimina următoarele permisiuni: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Pentru a-ți proteja datele, s-au eliminat permisiunile din aplicațiile pe care nu le-ai folosit de câteva luni."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Permisiunea de a gestiona toate fișierele"</string> <string name="ask_header" msgid="2633816846459944376">"Întreabă de fiecare dată"</string> <string name="denied_header" msgid="903209608358177654">"Nepermise"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> pe <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Vezi mai multe aplicații care pot accesa toate fișierele"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{O zi}few{# zile}other{# de zile}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# oră}few{# ore}other{# de ore}}"</string> @@ -351,7 +355,7 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Aceste aplicații pot vedea ecranul, acțiunile și textul introdus, să facă acțiuni și să controleze afișajul."</string> <string name="role_assistant_label" msgid="4727586018198208128">"Aplicația asistent digital prestabilită"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"Aplicația asistent digital"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"Aplicațiile asistent te pot ajuta pe baza informațiilor din ecranul afișat. Pentru a-ți oferi o asistență integrată, unele aplicații acceptă atât serviciile cu lansatoare, cât și pe cele de intrare vocală."</string> + <string name="role_assistant_description" msgid="6622458130459922952">"Aplicațiile asistent te pot ajuta pe baza informațiilor din ecranul afișat. Pentru a-ți oferi o asistență integrată, unele aplicații acceptă atât serviciile cu lansatoare, cât și pe cele de intrare vocală."</string> <string name="role_browser_label" msgid="2877796144554070207">"Aplicația browser prestabilită"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"Aplicația browser"</string> <string name="role_browser_description" msgid="3465253637499842671">"Aplicații care îți oferă acces la internet și afișează linkurile pe care le atingi"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplicația pentru note"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplicații cu ajutorul cărora poți să iei notițe pe dispozitiv"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notițe"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Aplicația portofel prestabilită"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplicație portofel"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplicațiile portofel pot să stocheze credit și carduri de fidelitate, chei de mașină și alte date, pentru a simplifica diferite tipuri de tranzacții."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Setezi <xliff:g id="APP_NAME">%1$s</xliff:g> ca aplicație portofel prestabilită?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nu sunt necesare permisiuni"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aplicația prestabilită actuală"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Nu mai întreba"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Setează ca prestabilită"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Mai multe setări prestabilite"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Deschiderea linkurilor"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Prestabilite pentru serviciu"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Prestabilit pentru spațiul privat"</string> <string name="default_app_none" msgid="9084592086808194457">"Niciuna"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Valoare prestabilită de sistem)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nicio aplicație"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Afișează detectarea declanșării asistentului"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Afișează pictograma în bara de stare când microfonul este folosit pentru a activa asistentul vocal"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografiile și conținutul media de pe dispozitiv?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la fotografiile și conținutul media de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la fotografiile și conținutul media de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți acceseze agenda?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze agenda de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze agenda ta de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația acestui dispozitiv?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la locația de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația dispozitivului <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplicația va avea acces la locație doar când o folosești"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația acestui dispozitiv?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația dispozitivului <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"E posibil ca aplicația să dorească să-ți acceseze în permanență locația, chiar și când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Modifici accesul la locație pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Modifici accesul la locație pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Modifici accesul la locație pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Aplicația dorește să-ți acceseze în permanență locația, chiar și când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să găsească, să se conecteze la și să afle poziția relativă a dispozitivelor apropiate?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> poate să găsească, să se conecteze la, să determine poziția relativă a dispozitivelor apropiate pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> poate să găsească, să se conecteze la, să determine poziția relativă a dispozitivelor apropiate pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să găsească, să se conecteze la și să determine poziția relativă a dispozitivelor apropiate? "<annotation id="link">"Permite în setări."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Schimbi permisiunile privind accesul la locație pentru <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de la locația aproximativă la cea exactă?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Schimbi accesul la locația de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b> pentru <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de la aproximativă la exactă?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Schimbi accesul la locația de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> pentru <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> de la aproximativă la exactă?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația aproximativă a acestui dispozitiv?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația aproximativă de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze locația aproximativă a dispozitivului <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exactă"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Aproximativă"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze calendarul?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze calendarul de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți acceseze calendarul de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să trimită și să vadă mesaje SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să trimită și să vadă mesajele SMS de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să trimită și să vadă mesaje SMS de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografiile, conținutul media și fișierele de pe dispozitiv?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la fotografiile, conținutul media și fișierele de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografii, conținut media și fișiere de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la <b>fotografii, clipuri, conținut audio și muzică</b> de pe dispozitiv?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la <b>fotografii, clipuri, conținut audio, muzică și alte fișiere</b> de pe dispozitiv?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la muzică și fișiere audio de pe acest dispozitiv?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la muzică și conținut audio de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Permiți accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la muzică și conținut audio de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografiile și videoclipurile de pe dispozitiv?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografii și videoclipuri de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze fotografii și videoclipuri de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze mai multe fotografii și videoclipuri de pe dispozitiv?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze mai multe fotografii și videoclipuri de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze mai multe fotografii și videoclipuri de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze conținut audio pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze conținut audio pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplicația va putea să înregistreze conținut audio doar când o folosești"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze conținut audio pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să înregistreze conținut audio pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Aplicația poate dori să înregistreze conținut audio permanent, chiar și când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Modifici accesul la microfon pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Modifici accesul la microfon pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Modifici accesul la microfon pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Aplicația dorește să înregistreze conținut audio permanent, chiar și când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Permiți aplicației <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți acceseze activitatea fizică?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze activitatea fizică de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze activitatea ta fizică de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să fotografieze și să înregistreze video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să facă fotografii și să înregistreze videoclipuri pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să facă fotografii și să înregistreze videoclipuri pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplicația va putea să fotografieze și să înregistreze videoclipuri doar când o folosești"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să facă fotografii și să înregistreze videoclipuri?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să facă fotografii și să înregistreze videoclipuri pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să facă fotografii și să înregistreze videoclipuri pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Aplicația poate dori să fotografieze și să înregistreze videoclipuri permanent, chiar când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Modifici accesul la camera foto pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Modifici accesul la camera foto pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Modifici accesul la camera foto pentru <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Aplicația dorește să fotografieze și să înregistreze videoclipuri permanent, chiar și când nu o folosești. "<annotation id="link">"Acordă această permisiune din setări."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți acceseze jurnalele de apeluri?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze jurnalele de apeluri de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți acceseze jurnalele de apeluri telefonice de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să dea și să gestioneze apeluri telefonice?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să inițieze și să gestioneze apeluri telefonice pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să inițieze și să gestioneze apeluri telefonice pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele vitale?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele vitale de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele tale vitale de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplicația solicită acces permanent la datele de la senzori despre semnele vitale, chiar și când nu o folosești. Pentru a face această modificare, "<annotation id="link">"accesează setările"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele vitale?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele vitale de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să acceseze datele de la senzori despre semnele tale vitale de pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Pentru a permite accesul permanent al aplicației la datele de la senzorii corporali, chiar și atunci când nu o folosești, "<annotation id="link">"accesează setările"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Permiți în continuare accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la datele de la senzorii corporali în timpul folosirii aplicației?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> poate accesa în continuare date de la senzorii corporali de pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b> în timpul folosirii aplicației?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Permiți în continuare accesul <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> la datele de la senzorii corporali ai dispozitivului <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> în timpul folosirii aplicației?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți trimită notificări?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să trimită notificări pe <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Permiți ca <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> să-ți trimită notificări pe <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Permisiuni controlate"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> are acces la locație"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organizația ta permite ca <xliff:g id="APP_NAME">%1$s</xliff:g> să-ți acceseze locația"</string> @@ -541,6 +551,9 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Fără"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Ultimele\n24 de ore"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Ultimele\nșapte zile"</string> + <!-- String.format failed for translation --> + <!-- no translation found for privdash_usage_percent (6893824766124414127) --> + <skip /> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> este protejată de Android. Întrucât datele tale sunt procesate pe dispozitiv, folosirea permisiunilor de către aplicație nu apare în bara de stare sau în tabloul de bord de confidențialitate."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> este protejată de Android. Întrucât datele tale sunt procesate pe dispozitiv, folosirea permisiunilor de către aplicație nu apare în tabloul de bord de confidențialitate."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Camera dispozitivului este blocată"</string> @@ -549,6 +562,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Pentru aplicații și servicii"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Datele de la microfon pot fi totuși trimise când suni la un număr de urgență."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Modifică"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Accesul la camera foto este dezactivat"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Pentru aplicațiile de infotainment"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pentru aplicațiile necesare"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Această aplicație este necesară"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Această aplicație este cerută de producătorul mașinii"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Securitate și confidențialitate"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Scanează dispozitivul"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Închide"</string> @@ -648,4 +666,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Actualizări privind permiterea accesului la date"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Unele aplicații au schimbat modul în care pot permite accesul la datele tale privind locațiile"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Setări"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Data accesării: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Data accesării: ieri, <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Data accesării: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Parola ta unică este 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Setare restricționată"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Pentru securitatea ta, setarea este momentan indisponibilă."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Accesul aplicației la <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> a fost refuzat"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplicația a solicitat acces la o permisiune de accesare a informațiilor sensibile care îți poate pune în pericol informațiile financiare și cu caracter personal.<xliff:g id="ID_1"><br><br></xliff:g>Este posibil ca aplicația să nu funcționeze corect fără această permisiune restricționată. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Află cum să permiți accesul</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Accesul aplicației pentru a deveni <xliff:g id="ROLE_NAME">%1$s</xliff:g> prestabilită a fost refuzat"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplicația a solicitat acces la permisiuni de accesare a informațiilor sensibile care îți pot pune în pericol informațiile financiare și cu caracter personal.<xliff:g id="ID_1"><br><br></xliff:g>Este posibil ca aplicația să nu funcționeze corect fără aceste permisiuni restricționate. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Află cum să permiți accesul</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Accesul aplicației a fost refuzat"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Accesul la această permisiune îți poate pune în pericol informațiile financiare și cu caracter personal.<xliff:g id="ID_1"><br><br></xliff:g>Este posibil ca aplicația să nu funcționeze corect fără această permisiune restricționată. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Află cum să permiți accesul</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Află mai multe"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Solicitarea de permisiune s-a suprimat"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Aplicația solicită permisiuni suplimentare, dar acestea nu pot fi acordate într-o sesiune de streaming. Acordă permisiunea întâi pe telefon."</string> </resources> diff --git a/PermissionController/res/values-ru-v34/strings.xml b/PermissionController/res/values-ru-v34/strings.xml index 64a927b69..228979029 100644 --- a/PermissionController/res/values-ru-v34/strings.xml +++ b/PermissionController/res/values-ru-v34/strings.xml @@ -17,11 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="security_privacy_brand_name" msgid="7303621734258440812">"Защита и конфиденциальность"</string> + <string name="security_privacy_brand_name" msgid="7303621734258440812">"Безопасность и конфиденциальность"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"Настройки"</string> <string name="health_connect_title" msgid="2132233890867430855">"Здоровье и спорт"</string> <string name="health_connect_summary" msgid="815473513776882296">"Настроить доступ приложений к данным о здоровье"</string> <string name="location_settings" msgid="8863940440881290182">"Доступ к геоданным"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Для приложений и сервисов. Даже если эта функция отключена, данные микрофона могут передаваться при звонке на номер экстренной службы."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Для приложений и сервисов"</string> </resources> diff --git a/PermissionController/res/values-ru-watch/strings.xml b/PermissionController/res/values-ru-watch/strings.xml index a39697ff2..c7f4fd885 100644 --- a/PermissionController/res/values-ru-watch/strings.xml +++ b/PermissionController/res/values-ru-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Нельзя изменить"</string> <string name="generic_yes" msgid="2489207724988649846">"Да"</string> <string name="generic_cancel" msgid="2631708607129269698">"Отмена"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Всегда"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"При использовании"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Всегда"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"При использовании"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Всегда"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"При использовании"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Всегда"</string> </resources> diff --git a/PermissionController/res/values-ru/strings.xml b/PermissionController/res/values-ru/strings.xml index ee9ccfb2b..3e9341026 100644 --- a/PermissionController/res/values-ru/strings.xml +++ b/PermissionController/res/values-ru/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Все разрешения"</string> <string name="other_permissions" msgid="2901186127193849594">"Что ещё может приложение"</string> <string name="permission_request_title" msgid="8790310151025020126">"Запрос разрешений"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Wear OS"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Установка и удаление не поддерживаются в Wear OS."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Выберите разрешения для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Приложение <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> обновлено. Выберите разрешения для него."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Отмена"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Постоянный полный доступ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Спрашивать каждый раз"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Запретить"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Точное местоположение"</string> <string name="approximate_image_description" msgid="938803699637069884">"Приблизительное местоположение"</string> - <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Использовать точное местоположение"</string> + <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Точное местоположение"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Если определение точного местоположения отключено, приложения могут использовать данные о примерном местоположении устройства"</string> <string name="app_permission_title" msgid="2090897901051370711">"Разрешение \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: доступ для этого приложения"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Разрешение \"<xliff:g id="PERM">%1$s</xliff:g>\" для этого приложения на устройстве \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Все разрешения приложения \"<xliff:g id="APP">%1$s</xliff:g>\""</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Все приложения с этим разрешением"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Показывать сведения об использовании микрофона Ассистентом"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Отзывать разрешения, если приложение не используется"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Удалять разрешения и освобождать место"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Приостановить работу в неактивный период"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Приостановить работу в неактивный период"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Удалить разрешения и временные файлы, прекратить отправку уведомлений"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Удалить разрешения и временные файлы, прекратить отправку уведомлений и перенести приложение в архив"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Для защиты ваших данных мы отзовем разрешения, предоставленные этому приложению, если вы не будете пользоваться им несколько месяцев."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Если вы не будете пользоваться приложением несколько месяцев, в целях защиты ваших данных мы отзовем следующие разрешения: <xliff:g id="PERMS">%1$s</xliff:g>."</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"В целях защиты ваших данных мы отозвали разрешения для приложений, которыми вы не пользовались несколько месяцев."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Приложения с доступом ко всем файлам"</string> <string name="ask_header" msgid="2633816846459944376">"Спрашивать каждый раз"</string> <string name="denied_header" msgid="903209608358177654">"Запрещено"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> на устройстве \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\""</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Ещё приложения с доступом ко всем файлам"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 день}one{# день}few{# дня}many{# дней}other{# дня}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# час}one{# час}few{# часа}many{# часов}other{# часа}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Приложение для заметок"</string> <string name="role_notes_description" msgid="8496852798616883551">"Приложения для написания заметок на вашем устройстве"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"заметки"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Кошелек по умолчанию"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Приложение-кошелек"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"В приложении-кошельке можно хранить кредитные карты, карты постоянного клиента, автомобильные ключи и другие цифровые продукты. С его помощью удобнее проводить различные типы транзакций."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Использовать приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" как кошелек по умолчанию?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Разрешения не требуются."</string> <string name="request_role_current_default" msgid="738722892438247184">"Используется по умолчанию"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Больше не спрашивать"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"По умолчанию"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Другие приложения по умолчанию"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Переход по ссылкам"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Стандартные для работы"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Приложения по умолчанию для личного пространства"</string> <string name="default_app_none" msgid="9084592086808194457">"Нет"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(по умолчанию)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Приложений нет"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Показывать значок активации голосового помощника"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Показывать значок в строке состояния, когда для активации голосового помощника используется микрофон"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и мультимедиа на устройстве?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и мультимедиа на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и мультимедиа на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к контактам?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к контактам на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к контактам на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Доступ к местоположению будет открыт, только пока вы пользуетесь приложением."</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Этому приложению может потребоваться доступ к вашему местоположению, даже когда вы им не пользуетесь. Предоставьте разрешение в "<annotation id="link">"настройках"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Изменить настройки доступа к данным о местоположении для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о местоположении на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> настройки доступа к данным о местоположении на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Этому приложению требуется доступ к вашему местоположению, даже когда вы им не пользуетесь. Предоставьте разрешение в "<annotation id="link">"настройках"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> находить устройства поблизости, подключаться к ним и определять их относительное положение?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> находить устройства поблизости, подключаться к ним и определять их относительное местоположение на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> находить устройства поблизости, подключаться к ним и определять их относительное местоположение на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> находить устройства поблизости, подключаться к ним и определять их относительное положение? "<annotation id="link">"Открыть настройки"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Изменить местоположение в приложении \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" с приблизительного на точное?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Разрешить приложению \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" доступ к данным о точном местоположении устройства <b><xliff:g id="DEVICE">%2$s</xliff:g></b> вместо приблизительного?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Разрешить приложению \"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>\" доступ к данным о точном местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> вместо приблизительного?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о приблизительном местоположении устройства?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о приблизительном положении устройства <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о приблизительном местоположении устройства <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Точно"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Приблизительно"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к календарю?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к календарю на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к календарю на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> отправлять и просматривать SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> отправлять и просматривать SMS на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> отправлять и просматривать SMS на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото, мультимедиа и файлам на устройстве?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото, мультимедиа и файлам на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото, мультимедиа и файлам на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к <b>фото, видео, музыке и аудио</b> на устройстве?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к <b>фото, видео, аудио и другим файлам</b> на устройстве?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к музыке и аудио на устройстве?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к музыке и аудио на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к музыке и аудио на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и видео на устройстве?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и видео на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к фото и видео на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к другим фото и видео на этом устройстве?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к другим фото и видео на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к другим фото и видео на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Приложение будет записывать аудио, только когда вы им пользуетесь."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записывать аудио на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Это приложение может записывать аудио в любое время, даже когда вы им не пользуетесь. "<annotation id="link">"Предоставьте разрешение в настройках."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Изменить настройки доступа к микрофону для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> настройки доступа к микрофону на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> настройки доступа к микрофону на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Это приложение записывает аудио в любое время, даже когда вы им не пользуетесь. "<annotation id="link">"Предоставьте разрешение в настройках."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о физической активности?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о физической активности на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным о физической активности на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снимать фото и видео?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снимать фото и видео на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> делать снимки и записывать видео на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Приложение будет делать фотографии и снимать видео, только когда вы им пользуетесь."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снимать фото и видео?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снимать фото и видео на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> делать снимки и записывать видео на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Это приложение может делать фотографии и снимать видео в любое время, даже когда вы им не пользуетесь. "<annotation id="link">"Предоставьте разрешение в настройках."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Изменить настройки доступа к камере для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> настройки доступа к камере на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Изменить для приложения <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> настройки доступа к камере на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Это приложение делает фотографии и снимает видео в любое время, даже когда вы им не пользуетесь. "<annotation id="link">"Предоставьте разрешение в настройках."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к списку вызовов?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к списку вызовов на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к списку вызовов на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> совершать звонки и управлять ими?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> совершать звонки и управлять ими на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> совершать телефонные звонки и управлять ими на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным датчиков о состоянии организма?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Этому приложению требуется доступ к данным нательных датчиков, даже когда вы им не пользуетесь. Предоставить разрешение можно в "<annotation id="link">"настройках"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Разрешить приложению \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" доступ к данным датчиков на теле?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Чтобы предоставить приложению доступ к данным нательных датчиков, даже когда вы им не пользуетесь, "<annotation id="link">"измените настройки"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Предоставлять приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков, только когда оно используется?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Разрешить прил. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нат. датчиков на устр. <b><xliff:g id="DEVICE">%2$s</xliff:g></b> только при использ.?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ к данным нательных датчиков на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> только во время использования?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Разрешить <xliff:g id="APP_NAME">%1$s</xliff:g> отправлять уведомления?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> отправлять уведомления на устройстве <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Разрешить приложению <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> отправлять вам уведомления на устройстве <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Контролируемые разрешения"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"У приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" есть доступ к геоданным"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"В вашей организации приложению \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" разрешен доступ к геоданным."</string> @@ -541,6 +551,9 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Нет"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Последние\n24 часа"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Последние\n7 дней"</string> + <!-- String.format failed for translation --> + <!-- no translation found for privdash_usage_percent (6893824766124414127) --> + <skip /> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" защищено Android. Поскольку ваши данные обрабатываются на устройстве, разрешения, используемые приложением, не показываются в строке состояния на панели управления разрешениями."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" защищено Android. Поскольку ваши данные обрабатываются на устройстве, разрешения, используемые приложением, не показываются на панели управления разрешениями."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камера устройства заблокирована"</string> @@ -549,7 +562,12 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Для приложений и сервисов"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Данные микрофона могут передаваться при звонке на номер экстренной службы"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Изменить"</string> - <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Защита и конфиденциальность"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Доступ к камере запрещен"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Для информационно-развлекательных приложений."</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Для обязательных приложений."</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Это обязательное приложение"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Это приложение указано производителем автомобиля как обязательное."</string> + <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Безопасность и конфиденциальность"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Сканировать устройство"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Закрыть"</string> <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"Закрыть оповещение?"</string> @@ -560,7 +578,7 @@ <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Статус безопасности и конфиденциальности. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> <string name="security_settings" msgid="3808106921175271317">"Настройки безопасности"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"Разрешения"</string> - <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Защита и конфиденциальность"</string> + <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Безопасность и конфиденциальность"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Проверьте статус."</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Ваши настройки конфиденциальности"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Другие настройки"</string> @@ -648,4 +666,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Обновление сведений о передаче данных"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Некоторые приложения изменили подход к передаче данных о вашем местоположении."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Настройки"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Последний доступ: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Последний доступ вчера: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Последний доступ: <xliff:g id="TIME_DATE_0">%1$s</xliff:g>, <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ваш одноразовый код: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Настройки с ограниченным доступом"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"В целях безопасности эти настройки пока недоступны."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Для приложения заблокировано разрешение \"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>\""</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Приложение запрашивает разрешение на доступ к конфиденциальной информации. Если вы предоставите его, ваши личные и финансовые данные могут оказаться под угрозой.<xliff:g id="ID_1"><br><br></xliff:g>Без такого разрешения приложение может работать неправильно. Узнайте, <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>как предоставить доступ к данным</a>."</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Запрещено использовать приложение в качестве стандартного в категории \"<xliff:g id="ROLE_NAME">%1$s</xliff:g>\""</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Приложение запрашивает разрешения на доступ к конфиденциальной информации. Если вы предоставите их, ваши личные и финансовые данные могут оказаться под угрозой.<xliff:g id="ID_1"><br><br></xliff:g>Без таких разрешений приложение может работать неправильно. Узнайте, <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>как предоставить доступ к данным</a>."</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Доступ запрещен"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Если вы предоставите это разрешение, ваши личные и финансовые данные могут оказаться под угрозой.<xliff:g id="ID_1"><br><br></xliff:g>Без него приложение может работать неправильно. Узнайте, <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>как предоставить доступ к данным</a>."</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Подробнее"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ОК"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Запрос разрешений заблокирован"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Это приложение запрашивает дополнительные разрешения, которые невозможно предоставить во время трансляции на устройство. Сначала откройте доступ на телефоне."</string> </resources> diff --git a/PermissionController/res/values-si-v34/strings.xml b/PermissionController/res/values-si-v34/strings.xml index 26121467a..a4c016704 100644 --- a/PermissionController/res/values-si-v34/strings.xml +++ b/PermissionController/res/values-si-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"සෞඛ්ය දත්ත වෙත යෙදුම් ප්රවේශය කළමනාකරණය කරන්න"</string> <string name="location_settings" msgid="8863940440881290182">"ස්ථාන ප්රවේශය"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"යෙදුම් සහ සේවා සඳහා. මෙම සැකසීම ක්රියාවිරහිත නම්, ඔබ හදිසි ඇමතුම් අංකයක් අමතන විට මයික්රෆෝනයේ දත්ත තවම බෙදා ගත හැක."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"යෙදුම් සහ සේවා සඳහා"</string> </resources> diff --git a/PermissionController/res/values-si-watch/strings.xml b/PermissionController/res/values-si-watch/strings.xml index 48c5164f6..a6292c8c3 100644 --- a/PermissionController/res/values-si-watch/strings.xml +++ b/PermissionController/res/values-si-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"වෙනස් කළ නොහැකිය"</string> <string name="generic_yes" msgid="2489207724988649846">"ඔව්"</string> <string name="generic_cancel" msgid="2631708607129269698">"අවලංගු කරන්න"</string> + <string name="permission_access_always" msgid="2107115233573823032">"සෑම විටම"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"යෙදුම භාවිතා කරන අතරේ"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"සෑම විටම"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"යෙදුම භාවිතා කරන අතරේ"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"සෑම විටම"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"යෙදුම භාවිතා කරන අතරේ"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"සෑම විටම"</string> </resources> diff --git a/PermissionController/res/values-si/strings.xml b/PermissionController/res/values-si/strings.xml index fc722dec7..f753f124a 100644 --- a/PermissionController/res/values-si/strings.xml +++ b/PermissionController/res/values-si/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"සියලු අවසර"</string> <string name="other_permissions" msgid="2901186127193849594">"වෙනත් යෙදුම් හැකියාවන්"</string> <string name="permission_request_title" msgid="8790310151025020126">"අවසර ඉල්ලීම"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear මත ස්ථාපන/අස්ථාපනය ක්රියා සහාය දක්වන්නේ නැත."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට පිවිසීමට ඉඩ දෙන දේ තෝරන්න"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> යාවත්කාලීන කර ඇත. මෙම යෙදුමට පිවිසීමට ඉඩ දෙන දේ තෝරන්න."</string> <string name="review_button_cancel" msgid="2191147944056548886">"අවලංගු කරන්න"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"සැම විටම සියල්ලට ඉඩ දෙන්න"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"සෑම විටම ඉල්ලන්න"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ඉඩ නොදෙන්න"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ඉතා නිවැරදි ස්ථානය"</string> <string name="approximate_image_description" msgid="938803699637069884">"දළ ස්ථානය"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ඉතා නිවැරදි ස්ථානය භාවිත කරන්න"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"නිශ්චිත ස්ථානය ක්රියාවිරහිත විට, යෙදුම්වලට ඔබගේ දළ ස්ථානයට ප්රවේශ විය හැකිය"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> අවසරය"</string> <string name="app_permission_header" msgid="2951363137032603806">"මෙම යෙදුම සඳහා <xliff:g id="PERM">%1$s</xliff:g> ප්රවේශය"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> මත මෙම යෙදුම සඳහා <xliff:g id="PERM">%1$s</xliff:g> ප්රවේශය"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"සියලුම <xliff:g id="APP">%1$s</xliff:g> අවසර බලන්න"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"මෙම අවසරය සහිත සියලුම යෙදුම් බලන්න"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"සහායක මයික්රෆෝන භාවිතය පෙන්වන්න"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"යෙදුම භාවිත කර නැති නම් අවසර ඉවත් කරන්න"</string> <string name="unused_apps_label" msgid="2595428768404901064">"අවසර ඉවත් කරන්න සහ ඉඩ හිස් කරන්න"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"භාවිත නොකළේ නම් යෙදුම් ක්රියාකාරකම් විරාම කරන්න"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"යෙදුම භාවිතා නොකළේ නම් කළමනාකරණය කරන්න"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"අවසර ඉවත් කරන්න, තාවකාලික ගොනු මකන්න සහ දැනුම්දීම් නවත්වන්න"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"අවසර ඉවත් කරන්න, තාවකාලික ගොනු මකා දමන්න, දැනුම්දීම් නවත්වන්න, සහ යෙදුම ලේඛනාරක්ෂණය කරන්න"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"ඔබගේ දත්ත ආරක්ෂා කිරීම සඳහා, යෙදුම මාස කිහිපයක් භාවිතා නොකරන්නේ නම් මෙම යෙදුම සඳහා අවසර ඉවත් කරනු ලැබේ."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"ඔබගේ දත්ත ආරක්ෂා කිරීම සඳහා, යෙදුම මාස කිහිපයක් භාවිතා නොකරන්නේ නම් පහත අවසර ඉවත් කරනු ලැබේ: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ඔබේ දත්ත ආරක්ෂා කිරීමට, ඔබ මාස කීපයක් තුළ භාවිත කර නැති යෙදුම්වලින් අවසර ඉවත් කර ඇත"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"සියලු පාලන කළමනාකරණය කිරීමට ඉඩ දී ඇත"</string> <string name="ask_header" msgid="2633816846459944376">"සෑම විටම ඉල්ලන්න"</string> <string name="denied_header" msgid="903209608358177654">"ඉඩ නොදේ"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> මත <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"සියලු ගොනු වෙත ප්රවේශ විය හැකි තව යෙදුම් බලන්න"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{දින 1ක්}one{දින #ක්}other{දින #ක්}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{පැය #ක්}one{පැය #ක්}other{පැය #ක්}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"සටහන් යෙදුම"</string> <string name="role_notes_description" msgid="8496852798616883551">"ඔබේ උපාංගයෙහි සටහන් ගැනීමට ඔබට ඉඩ දෙන යෙදුම්"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"සටහන්"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"පෙරනිමි පසුම්බි යෙදුම"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"පසුම්බි යෙදුම"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"පසුම්බි යෙදුම්වලට විවිධ ආකාරයේ ගනුදෙනුවලට උදවු කිරීමට ඔබේ ණය සහ ලැදියා කාඩ්පත්, මෝටර් රථ යතුරු සහ වෙනත් දේවල් ගබඩා කළ හැක."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"ඔබේ පෙරනිමි පසුම්බි යෙදුම ලෙස <xliff:g id="APP_NAME">%1$s</xliff:g> සකසන්න ද?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"අවසර අවශ්ය නැත"</string> <string name="request_role_current_default" msgid="738722892438247184">"වත්මන් පෙරනිමිය"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"නැවත නොඅසන්න"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"පෙරනිමි ලෙස සකසන්න"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"තවත් පෙරනිමියන්"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"සබැඳි විවෘත කිරීම"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"වැඩ සඳහා පෙරනිමි"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"රහසිගත අවකාශය සඳහා පෙරනිමිය"</string> <string name="default_app_none" msgid="9084592086808194457">"කිසිවක් නැත"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(පද්ධතිය පෙරනිමි)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"යෙදුම් නොමැත"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"සහායක ප්රේරකය අනාවරණය පෙන්වන්න"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"හඬ සහායක සක්රිය කිරීමට මයික්රෆෝනය භාවිතා කරන විට තත්ත්ව තීරුවේ නිරූපකය පෙන්වන්න"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ඔබගේ උපාංගය තුළ ඇති ඡායාරූප, මාධ්ය, සහ ගොනු වෙත ප්රවේශ වීමට ඉඩ දෙන්නේද?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඡායාරූප සහ මාධ්ය වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඡායාරූප සහ මාධ්ය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ඔබගේ සබඳතා වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ සම්බන්ධතා වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ සම්බන්ධතා වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයෙහි ස්ථානය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ගේ</b> ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ගේ</b> ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ඔබ යෙදුම භාවිත කරන විට පමණක් යෙදුමට ස්ථානය වෙත ප්රවේශය ඇත"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයෙහි ස්ථානය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ගේ ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ගේ</b> ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"මෙයට ඔබ යෙදුම භාවිත නොකරමින් සිටින විට පවා සියලු අවස්ථාවල ඔබේ ස්ථානය වෙත ප්රවේශ වීමට අවශ්ය විය හැකිය. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා ස්ථාන ප්රවේශය වෙනස් කරන්නද?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා ස්ථාන ප්රවේශය වෙනස් කරන්න ද?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා ස්ථාන ප්රවේශය වෙනස් කරන්නද?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"මෙම යෙදුමට ඔබ යෙදුම භාවිත නොකරමින් සිටින විට පවා සියලු අවස්ථාවල ඔබේ ස්ථානය වෙත ප්රවේශ වීමට අවශ්යයි. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට අවට උපාංග සොයා ගැනීමට, සම්බන්ධ වීමට සහ ඒවායේ සාපේක්ෂ ස්ථානය සොයා ගැනීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත අවට උපාංගවල සාපේක්ෂ පිහිටීම සොයා ගැනීමට, සම්බන්ධ කිරීමට, සහ තීරණය කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත අවට උපාංගවල සාපේක්ෂ ස්ථානය සොයා ගැනීමට, සම්බන්ධ කිරීමට, සහ තීරණ කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට අවට උපාංග සොයා ගැනීමට, සම්බන්ධ වීමට සහ ඒවායේ සාපේක්ෂ ස්ථානය සොයා ගැනීමට ඉඩ දෙන්නද? "<annotation id="link">"සැකසීම් තුළ ඉඩ දෙන්න."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> හි ස්ථානය ආසන්න සිට නිවැරදි දක්වා වෙනස් කරන්නද?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ගේ ස්ථාන ප්රවේශය ආසන්නයේ සිට නිරවද්ය ලෙස වෙනස් කරන්න ද?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>ගේ ස්ථාන ප්රවේශය ආසන්නයේ සිට නිරවද්ය ලෙස වෙනස් කරන්නද?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ට මෙම උපාංගයෙහි ස්ථානය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>ගේ දළ ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ගේ</b> ආසන්න ස්ථානයට ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ඉතා නිවැරදි"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"ආසන්න"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ඔබගේ දින දර්ශනය ප්රවේශ කිරීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ දින දර්ශනයට ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ දිනදර්ශනයට ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත SMS පණිවිඩ යැවීමට සහ බැලීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත SMS පණිවිඩ යැවීමට සහ බැලීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත කෙටි පණිවුඩ යැවීමට සහ බැලීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ඔබගේ උපාංගය තුළ ඇති ඡායාරූප, මාධ්ය, සහ ගොනු වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඡායාරූප, මාධ්ය, සහ ගොනු වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඡායාරූප, මාධ්ය, සහ ගොනු වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයේ <b>ඡායාරූප, වීඩියෝ, සංගීතය සහ ශ්රව්ය<b> වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයේ <b>ඡායාරූප, වීඩියෝ, සංගීතය, ශ්රව්ය සහ වෙනත් ගොනු<b> වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයේ සංගීතය සහ ශ්රව්ය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත සංගීතය සහ ශ්රව්ය වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත සංගීතය සහ ශ්රව්ය වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට මෙම උපාංගයේ ඇති ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට මෙම උපාංගයෙහි ඇති තවත් ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත තවත් ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත වැඩි ඡායාරූප සහ වීඩියෝ වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ශබ්දය පටි ගත කිරීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ශ්රව්ය පටිගත කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ශ්රව්ය පටිගත කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"යෙදුමට ඔබ යෙදුම භාවිත කරන අතරතුර ඕඩියෝ පටිගත කිරීමට පමණක් හැකි වනු ඇත"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඕඩියෝ පටිගත කිරීමට ඉඩ දෙන්නද?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ශ්රව්ය පටිගත කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ශ්රව්ය පටිගත කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"මෙම යෙදුමට ඔබ යෙදුම භාවිත කරමින් නොසිටින විට පවා මුළු කාලය පුරාම ඕඩියෝ පටිගත කිරීමට අවශ්ය විය හැකිය. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා මයික්රෆෝන ප්රවේශය වෙනස් කරන්නද?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා මයික්රෆෝන ප්රවේශය වෙනස් කරන්න ද?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා මයික්රොෆෝන ප්රවේශය වෙනස් කරන්නද?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"මෙම යෙදුමට ඔබ යෙදුම භාවිත කරමින් නොසිටින විට පවා මුළු කාලය පුරාම ඕඩියෝ පටිගත කිරීමට අවශ්යයි. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ ශාරීරික ක්රියාකාරකමට ප්රවේශ වීමට ඉඩ දෙන්නේද?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ ශාරීරික ක්රියාකාරකම් වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ ශාරීරික ක්රියාකාරකම් වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත පින්තූර සහ වීඩියෝ ගැනීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"යෙදුමට ඔබ යෙදුම භාවිත කරන අතරතුර පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට පමණක් හැකි වනු ඇත"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට ඉඩ දෙන්නද?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"මෙම යෙදුමට ඔබ යෙදුම භාවිත කරමින් නොසිටින විට පවා මුළු කාලය පුරාම පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට අවශ්ය විය හැකිය. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා කැමරා ප්රවේශය වෙනස් කරන්නද?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා කැමරා ප්රවේශය වෙනස් කරන්න ද?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> සඳහා කැමරා ප්රවේශය වෙනස් කරන්නද?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"මෙම යෙදුමට ඔබ යෙදුම භාවිත කරමින් නොසිටින විට පවා මුළු කාලය පුරාම පින්තූර ගැනීමට සහ වීඩියෝ පටිගත කිරීමට අවශ්යයි. "<annotation id="link">"සැකසීම්වල ඉඩ දෙන්න."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> ඔබේ ඇමතුම් ලොග වෙත පිවිසීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ දුරකථන ඇමතුම් ලොග වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ දුරකථන ඇමතුම් ලොග වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත දුරකථන ඇමතුම් ලබා ගැනීමට සහ කළමනාකරණය කිරීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත දුරකථන ඇමතුම් ලබා ගැනීමට සහ කළමනාකරණය කිරීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත දුරකථන ඇමතුම් කිරීමට සහ කළමනා කිරීමට ඉඩ දෙන්නද?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> වෙත ඔබගේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ ජීව සලකුණු පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ ජීව සලකුණු පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"මෙම යෙදුමට ඔබ යෙදුම භාවිත නොකරමින් සිටින විට පවා, සියලු අවස්ථාවල ඔබගේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්තවලට ප්රවේශය අවශ්යයි. මෙම වෙනස් කිරීම සිදු කිරීමට, "<annotation id="link">"සැකසීම් වෙත යන්න."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට ඔබගේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ඔබේ ජීව සලකුණු පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්න ද?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබේ ජීව සලකුණු පිළිබඳ සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙන්නද?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"ඔබ යෙදුම භාවිත නොකරන විට පවා, මෙම යෙදුමට ශරීර සංවේදක දත්තවලට ප්රවේශ වීමට ඉඩ දීමට, "<annotation id="link">"සැකසීම් වෙත යන්න."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"යෙදුම භාවිතයේ ඇති අතරතුර ශරීර සංවේදක දත්ත වෙත ප්රවේශ වීමට <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට ඉඩ දෙන්නද?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"යෙදුම භාවිතයේ පවතින අතරේ ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත ශරීර සංවේදක දත්ත වෙත ප්රවේශ වීමට <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට දිගටම ඉඩ දෙන්න ද?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"යෙදුම භාවිතයේ ඇති විට <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ශරීර සංවේදක දත්ත වෙත ප්රවේශ වීමට ඉඩ දෙමින් පවතින්නද?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"ඔබට දැනුම්දීම් එවීමට <b><xliff:g id="APP_NAME">%1$s</xliff:g><b> හට ඉඩ දෙන්නද?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට ඔබේ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> මත දැනුම්දීම් යැවීමට ඉඩ දෙන්න ද?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> හට <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> මත ඔබට දැනුම්දීම් එවීමට ඉඩ දෙන්නද?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"පාලිත අවසර"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> හට ස්ථාන ප්රවේශය ඇත"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"ඔබේ සංවිධානය <xliff:g id="APP_NAME">%1$s</xliff:g> හට ඔබේ ස්ථානයට ප්රවේශ වීමට ඉඩ දෙයි"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"කිසිවක් නැත"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"පසුගිය\nපැය 24"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"පසුගිය\nදින 7"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> සියයට <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android මඟින් ආරක්ෂා කර ඇත. ඔබගේ දත්ත මෙම උපාංගයේ සකසා ඇති බැවින්, මෙම යෙදුමේ අවසර භාවිතය තත්ත්ව තීරුව හෝ ඔබගේ පෞද්ගලිකත්ව උපකරණ පුවරුව තුළ නොපෙන්වයි."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android මඟින් ආරක්ෂා කර ඇත. ඔබගේ දත්ත මෙම උපාංගයේ සකසා ඇති බැවින්, මෙම යෙදුමේ අවසර භාවිතය ඔබගේ පෞද්ගලිකත්ව උපකරණ පුවරුව තුළ නොපෙන්වයි."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"උපාංග කැමරාව අවහිර කර ඇත"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"යෙදුම් සහ සේවා සඳහා"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ඔබ හදිසි ඇමතුම් අංකයක් අමතන විට මයික්රෆෝනයේ දත්ත තවම බෙදා ගත හැකිය."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"වෙනස් කරන්න"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"කැමරා ප්රවේශය ක්රියා විරහිතයි"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"තොරතුරු විනෝදාස්වාද යෙදුම් සඳහා"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"අවශ්ය යෙදුම් සඳහා"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"මෙම යෙදුම අවශ්ය වේ"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"මෙම යෙදුම ඔබේ මෝටර් රථයේ නිෂ්පාදකයාට අවශ්ය වේ"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ආරක්ෂාව සහ පෞද්ගලිකත්වය"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"උපාංගය ස්කෑන් කරන්න"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ඉවත ලන්න"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"දත්ත බෙදා ගැනීමේ යාවත්කාලීන"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"සමහර යෙදුම් ඒවා ඔබේ ස්ථාන දත්ත බෙදා ගත හැකි ආකාරය වෙනස් කර ඇත"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"සැකසීම්"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"ප්රවේශ වූයේ <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"ප්රවේශ වූයේ ඊයේ <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"ප්රවේශ වූයේ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ඔබේ එක් වරක මුරපදය 132435 වේ"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"සීමා කළ සැකසීම"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"ඔබේ ආරක්ෂාව සඳහා, මෙම සැකසීම දැනට නොමැත."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"යෙදුම <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> වෙත ප්රවේශය ප්රතික්ෂේප කරන ලදි"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"යෙදුම ඔබේ පුද්ගලික සහ මූල්ය තොරතුරු අවදානමට ලක් කළ හැකි සංවේදී අවසරයකට ප්රවේශය ඉල්ලා ඇත.<xliff:g id="ID_1"><br><br></xliff:g>මෙම සීමා කළ අවසරය නොමැතිව යෙදුම නිසි ලෙස ක්රියා නොකරනු ඇත. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ප්රවේශයට ඉඩ දෙන ආකාරය දැන ගන්න</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"යෙදුම පෙරනිමි <xliff:g id="ROLE_NAME">%1$s</xliff:g> වීමට ප්රවේශය ප්රතික්ෂේප කරන ලදි"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"යෙදුම ඔබේ පුද්ගලික සහ මූල්ය තොරතුරු අවදානමට ලක් කළ හැකි සංවේදී අවසර සඳහා ප්රවේශය ඉල්ලා ඇත.<xliff:g id="ID_1"><br><br></xliff:g>මෙම සීමා කළ අවසර නොමැතිව යෙදුම නිසි ලෙස ක්රියා නොකරනු ඇත. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ප්රවේශයට ඉඩ දෙන ආකාරය දැන ගන්න</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"යෙදුමට ප්රවේශය ප්රතික්ෂේප විය"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"මෙම අවසරයට ප්රවේශ වීම ඔබේ පුද්ගලික සහ මූල්ය තොරතුරු අවදානමට ලක් කළ හැක.<xliff:g id="ID_1"><br><br></xliff:g>මෙම සීමා කළ අවසරය නොමැතිව යෙදුම නිසි ලෙස ක්රියා නොකරනු ඇත. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ප්රවේශයට ඉඩ දෙන ආකාරය දැන ගන්න</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"තව දැන ගන්න"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"හරි"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"අවසර ඉල්ලීම වළක්වා ඇත"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"මෙම යෙදුම අතිරේක අවසර ඉල්ලා සිටින නමුත්, ප්රවාහ කිරීමේ සැසියක අවසර ලබා දිය නොහැක. පළමුව ඔබේ දුරකථනයෙන් අවසරය ලබා දෙන්න."</string> </resources> diff --git a/PermissionController/res/values-sk-v34/strings.xml b/PermissionController/res/values-sk-v34/strings.xml index 5f84f5059..e7212c8d5 100644 --- a/PermissionController/res/values-sk-v34/strings.xml +++ b/PermissionController/res/values-sk-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Správa prístupu aplikácie k údajom o zdraví"</string> <string name="location_settings" msgid="8863940440881290182">"Prístup k polohe"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Pre aplikácie a služby. Keď je toto nastavenie vypnuté a zavoláte na tiesňovú linku, údaje mikrofónu sa môžu stále zdieľať."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Pre aplikácie a služby"</string> </resources> diff --git a/PermissionController/res/values-sk-watch/strings.xml b/PermissionController/res/values-sk-watch/strings.xml index 8667362bb..1a7e89701 100644 --- a/PermissionController/res/values-sk-watch/strings.xml +++ b/PermissionController/res/values-sk-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nedá sa zmeniť"</string> <string name="generic_yes" msgid="2489207724988649846">"Áno"</string> <string name="generic_cancel" msgid="2631708607129269698">"Zrušiť"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Po celý čas"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Pri používaní"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Po celý čas"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Pri používaní"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Po celý čas"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Pri používaní"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Po celý čas"</string> </resources> diff --git a/PermissionController/res/values-sk/strings.xml b/PermissionController/res/values-sk/strings.xml index 6680ddad9..c1a0bafda 100644 --- a/PermissionController/res/values-sk/strings.xml +++ b/PermissionController/res/values-sk/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Všetky povolenia"</string> <string name="other_permissions" msgid="2901186127193849594">"Ďalšie možnosti aplikácie"</string> <string name="permission_request_title" msgid="8790310151025020126">"Žiadosť o povolenie"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear nepodporuje akciu inštalácie/odinštalovania."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Vyberte, k čomu môže pristupovať aplikácia <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikácia <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> bola aktualizovaná. Vyberte, k čomu bude mať prístup."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Zrušiť"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Vždy povoliť všetko"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Vždy sa opýtať"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Nepovoliť"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Presná poloha"</string> <string name="approximate_image_description" msgid="938803699637069884">"Približná poloha"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Používať presnú polohu"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Keď je presná poloha vypnutá, aplikácie majú prístup k vašej približnej polohe"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>: povolenie"</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: prístup tejto aplikácie"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Prístup k položke <xliff:g id="PERM">%1$s</xliff:g> pre túto aplikáciu v zariadení <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Zobraziť všetky povolenia aplikácie <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Zobraziť všetky aplikácie s týmto povolením"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Zobraziť používanie mikrofónu Asistentom"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Odstrániť povolenia, ak sa aplikácia nepoužíva"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Odstraňovať povol. a uvoľňovať priestor"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pozastaviť aktivitu v nepoužívaných apl."</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Spravovať aplikáciu, ak sa nepoužíva"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Odstrániť povolenia, vymazať dočasné súbory a zastaviť upozornenia"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Odstrániť povolenia, vymazať dočasné súbory, zastaviť upozornenia a archivovať aplikáciu"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Ak túto aplikáciu niekoľko mesiacov nepoužijete, v záujme ochrany vašich údajov budú odstránené jej povolenia."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ak túto aplikáciu niekoľko mesiacov nepoužijete, v záujme ochrany vašich údajov budú odstránené tieto povolenia: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"V záujme ochrany vašich údajov boli odobrané povolenia aplikáciám, ktoré ste niekoľko mesiacov nepoužívali."</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"Boli odstránené povolenia <xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> a <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"Bolo odstránené povolenie <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> a ďalšie (<xliff:g id="NUMBER">%2$s</xliff:g>)"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"Nepoužívané aplikácie"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"Ak aplikácia nebola používaná niekoľko mesiacov:\n\n• povolenia budú z dôvodu ochrany vašich údajov odstránené,\n• upozornenia sa zastavia, aby sa šetrila batéria,\n• dočasné súbory budú odstránené, aby sa uvoľnilo miesto.\n\nAk budete chcieť povolenia a upozornenia znova aktivovať, otvorte aplikáciu."</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"Ak aplikácia nebola používaná niekoľko mesiacov:\n\n• povolenia budú z dôvodu ochrany vašich údajov odstránené;\n• upozornenia sa zastavia, aby sa šetrila batéria;\n• dočasné súbory budú odstránené, aby sa uvoľnilo miesto.\n\nAk budete chcieť povolenia a upozornenia znova aktivovať, otvorte aplikáciu."</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Ak aplikácia nebola použitá mesiac:\n\n• povolenia budú z dôvodu ochrany vašich údajov odstránené;\n• dočasné súbory budú odstránené, aby sa uvoľnilo miesto.\n\nAk budete chcieť povolenia znova udeliť, otvorte aplikáciu."</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Naposledy otvorené pred viac než # mesiacom}few{Naposledy otvorené pred viac než # mesiacmi}many{Naposledy otvorené pred viac než # mesiaca}other{Naposledy otvorené pred viac než # mesiacmi}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"Aplikácia bola naposledy otvorená <xliff:g id="DATE">%s</xliff:g>"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"S povolením spravovať všetky súbory"</string> <string name="ask_header" msgid="2633816846459944376">"Vždy sa opýtať"</string> <string name="denied_header" msgid="903209608358177654">"Nepovolené"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> v zariadení <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Zobraziť ďalšie aplikácie s prístupom k všetkým súborom"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 deň}few{# dni}many{# dňa}other{# dní}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# hodina}few{# hodiny}many{# hodiny}other{# hodín}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikácia na poznámky"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikácie, ktoré vám v zariadení umožňujú písať poznámky"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"poznámky"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Predvolená aplik. s peňaženkou"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikácia s peňaženkou"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikácie s peňaženkou môžu uložiť vaše kreditné alebo vernostné karty, kľúče od auta a iné položky, aby vám mohli pomáhať s rôznymi druhmi transakcií."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Chcete nastaviť <xliff:g id="APP_NAME">%1$s</xliff:g> ako predvolenú aplikáciu s peňaženkou?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nie sú potrebné žiadne povolenia"</string> <string name="request_role_current_default" msgid="738722892438247184">"Aktuálne predvolená"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Nabudúce sa nepýtať"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Nastav. ako predvol."</string> @@ -428,8 +437,9 @@ <string name="default_apps_more" msgid="4078194675848858093">"Ďalšie predvolené nastavenia"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Otváranie odkazov"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Predvolené na prácu"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Predvolené pre súkromný priestor"</string> <string name="default_app_none" msgid="9084592086808194457">"Žiadna"</string> - <string name="default_app_system_default" msgid="6218386768175513760">"(Predvolená systémová)"</string> + <string name="default_app_system_default" msgid="6218386768175513760">"(Predvolené systémom)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Žiadne aplikácie"</string> <string name="car_default_app_selected" msgid="5416420830430644174">"Vybraná"</string> <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"Vybrané – <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Zobrazovať detekciu spustenia asistenta"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Zobrazovať v stavovom riadku ikonu, keď bude pomocou mikrofónu aktivovaný hlasový asistent"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám a médiám v zariadení?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k fotkám a médiám v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám a médiám v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup ku kontaktom?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup ku kontaktom v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k svojim kontaktom v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k polohe tohto zariadenia?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k polohe zariadenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k polohe zariadenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikácia bude mať prístup k polohe iba vtedy, keď ju budete používať"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k polohe tohto zariadenia?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k polohe zariadenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k polohe zariadenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Táto aplikácia môže požadovať nepretržitý prístup k vašej polohe, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Chcete zmeniť prístup k polohe pre aplikáciu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Chcete zmeniť prístup k polohe pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Chcete zmeniť prístup k polohe pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Táto aplikácia požaduje nepretržitý prístup k vašej polohe, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Chcete aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g> povoliť vyhľadávať zariadenia v okolí, pripájať sa k nim a určovať ich relatívnu polohu?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> vyhľadávať zariadenia v okolí, určovať ich relatívnu polohu a pripájať sa k nim v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> vyhľadávať zariadenia v okolí, určovať ich relatívnu polohu a pripájať sa k nim v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Chcete aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g> povoliť vyhľadávať zariadenia v okolí, pripájať sa k nim a určovať ich vzájomnú polohu? "<annotation id="link">"Urobte to v nastaveniach."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Chcete zmeniť prístup k polohe aplikácie <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> z približnej polohy na presnú?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Chcete zmeniť prístup k polohe pre aplikáciu <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b> z približnej na presnú?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Chcete zmeniť prístup k polohe pre aplikáciu <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> z približnej na presnú?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k približnej polohe tohto zariadenia?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k približnej polohe zariadenia <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k približnej polohe zariadenia <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Presná"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Približná"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup ku kalendáru?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup ku kalendáru v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k svojmu kalendáru v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odosielať a zobrazovať správy SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť odosielať a zobrazovať správy SMS v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> odosielať a zobrazovať správy SMS v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám, médiám a súborom v zariadení?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k fotkám, médiám a súborom v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám, médiám a súborom v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k <b>fotkám, videám, hudbe a zvuku</b> v tomto zariadení?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k <b>fotkám, videám, hudbe, zvuku a ďalším súborom</b> v tomto zariadení?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k hudbe a zvuku v tomto zariadení?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k hudbe a zvuku v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k hudbe a zvuku v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám a videám v tomto zariadení?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k fotkám a videám v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k fotkám a videám v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k ďalším fotkám a videám v tomto zariadení?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k ďalším fotkám a videám v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k ďalším fotkám a videám v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávať zvuk?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť nahrávať zvuk v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávať zvuk v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Táto aplikácia bude môcť nahrávať zvuk iba vtedy, keď ju budete používať"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávať zvuk?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť nahrávať zvuk v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> nahrávať zvuk v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Táto aplikácia môže požadovať nepretržitý prístup k nahrávaniu zvuku, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> zmeniť prístup k mikrofónu?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Chcete zmeniť prístup k mikrofónu pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Chcete zmeniť prístup k mikrofónu pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Táto aplikácia požaduje nepretržitý prístup k nahrávaniu zvuku, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k vašej fyzickej aktivite?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k údajom o fyzickej aktivite v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k svojej fyzickej aktivite v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotiť a nahrávať video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť snímať fotky a nahrávať videá v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotiť a nahrávať videá v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Táto aplikácia bude môcť fotiť a nahrávať videá iba vtedy, keď ju budete používať"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotiť a nahrávať videá?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť snímať fotky a nahrávať videá v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotiť a nahrávať videá v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Táto aplikácia môže požadovať nepretržitý prístup k foteniu a nahrávaniu videí, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> zmeniť prístup k fotoaparátu?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Zmeniť prístup ku kamere pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Chcete zmeniť prístup ku kamere pre <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Táto aplikácia požaduje nepretržitý prístup k foteniu a nahrávaniu videí, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string> - <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k zoznamu tel. hovorov?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť prístup k zoznamu hovorov telefónu v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k zoznamu hovorov?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k svojmu zoznamu telefonických hovorov v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutočňovať a spravovať telefonické hovory?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutočňovať a spravovať telefonické hovor v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uskutočňovať a spravovať telefonické hovory v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> používať údaje senzorov o vašich životných funkciách?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam senzora o životných funkciách v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam senzorov o vašich životných funkciách v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Táto aplikácia požaduje nepretržitý prístup k dátam senzorov o vašich životných funkciách, a to aj vtedy, keď ju nepoužívate. Povolíte to "<annotation id="link">"v nastaveniach"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> používať dáta senzorov o vašich životných funkciách?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam senzora o životných funkciách v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam senzorov o vašich životných funkciách v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Ak chcete tejto aplikácii povoliť nepretržitý prístup k údajom telového senzora, a to aj v prípade, že ju nepoužívate, "<annotation id="link">"prejdite do nastavení."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam telových senzorov počas jej používania?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Má mať <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> počas používania naďalej prístup k dátam telových senzorov v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Chcete ponechať aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> prístup k dátam telových senzorov v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> počas jej používania?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> posielať vám upozornenia?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Chcete aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> povoliť odosielať upozornenia v zariadení <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Chcete povoliť aplikácii <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> posielať vám upozornenia v zariadení <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Ovládané povolenia"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> má prístup k polohe"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaša organizácia povoľuje aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g> prístup k vašej polohe"</string> @@ -534,13 +544,14 @@ <string name="not_used_permissions_description" msgid="7595514824169388718">"Povolenia používané iba systémovými aplikáciami."</string> <string name="additional_permissions_label" msgid="7693557637462569046">"Ďalšie povolenia"</string> <string name="additional_permissions_description" msgid="2186611950890732112">"Povolenia definované aplikáciami."</string> - <string name="privdash_label_camera" msgid="1426440033626198096">"Kamera"</string> + <string name="privdash_label_camera" msgid="1426440033626198096">"Fotoaparát"</string> <string name="privdash_label_microphone" msgid="8415035835803511693">"Mikrofón"</string> <string name="privdash_label_location" msgid="6882400763866489291">"Poloha"</string> <string name="privdash_label_other" msgid="3710394147423236033">"Iné"</string> <string name="privdash_label_none" msgid="5991866260360484858">"Žiadne"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Posledných\n24 hodín"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Posledných\n7 dní"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> percent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> je chránená Androidom. Použitie povolení pre túto aplikáciu sa nezobrazuje v stavovom riadku ani na paneli ochrany súkromia, pretože vaše údaje sa spracúvajú v tomto zariadení."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> je chránená Androidom. Použitie povolení tejto aplikácie sa nezobrazuje na paneli ochrany súkromia, pretože vaše údaje sa spracúvajú v tomto zariadení."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera zariadenia je blokovaná"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"V prípade aplikácií a služieb"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Keď zavoláte na tiesňovú linku, môžu sa stále zdieľať údaje mikrofónu."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Zmeniť"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Prístup ku kamere je vypnutý"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Pre aplikácie pre palubný systém"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Pre požadované aplikácie"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Vyžaduje sa táto aplikácia"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Túto aplikáciu vyžaduje výrobca vášho auta"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Zabezpečenie, ochrana súkromia"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skontrolovať zariadenie"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Zavrieť"</string> @@ -610,9 +626,9 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Prístup k mikrofónu"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Pre aplikácie a služby"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Pre aplikácie a služby. Keď je toto nastavenie vypnuté a zavoláte na tiesňovú linku, údaje mikrofónu sa môžu stále zdieľať."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Zobraziť aplikácie a služby, ktoré majú prístup k polohe"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Zoznam aplikácií a služieb, ktoré majú prístup k polohe"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Zobrazovať prístup k schránke"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Zobrazovať správu, keď aplikácie získajú pristup k textu, obrázkom alebo inému obsahu, ktorý ste skopírovali"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Zobrazovať správu, keď aplikácie získajú prístup k textu, obrázkom alebo inému obsahu, ktorý ste skopírovali"</string> <string name="show_password_title" msgid="2877269286984684659">"Zobrazovať heslá"</string> <string name="show_password_summary" msgid="1110166488865981610">"Pri písaní nakrátko zobrazovať zadávané znaky"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"V tejto aplikácii bolo uvedené, že môže zdieľať údaje o polohe s tretími stranami"</string> @@ -637,7 +653,7 @@ <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Môžu sa zdieľať údaje o polohe"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"V tejto aplikácii je uvedené, že môže zdieľať údaje o polohe s tretími stranami"</string> <string name="data_sharing_updates_title" msgid="7996933386875213859">"Aktualizácie zdieľania údajov o polohe"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"Skontrolujte aplikácie, ktoré zmenili spôsob zdieľania údajov o vašej polohe"</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"Kontrola aplikácií, ktoré zmenili spôsob zdieľania údajov o vašej polohe"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Tieto aplikácie zmenili spôsob zdieľania údajov o vašej polohe. Možno ich v minulosti nezdieľali alebo ich teraz zdieľajú na účely reklamy a marketingu."</string> <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"Vývojári týchto aplikácií poskytli informácie o ich postupoch zdieľania údajov v obchode s aplikáciami. Priebežne ich môžu aktualizovať.\n\nPostupy zdieľania údajov sa môžu líšiť v závislosti od verzie a používania vašej aplikácie, ako aj regiónu a veku jej používateľa."</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"Ďalšie informácie o zdieľaní údajov"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Aktualizácie zdieľania údajov"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Niektoré aplikácie zmenili spôsob zdieľania údajov o polohe"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Nastavenia"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Otvorené <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Otvorené včera <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Otvorené <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Jednorazové heslo je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Obmedzené nastavenie"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Z bezpečnostných dôvodov nie je toto nastavenie momentálne k dispozícii."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikácii bol prístup k povoleniu <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> zamietnutý"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Táto aplikácia vyžaduje prístup k citlivému povoleniu, čo môže ohroziť vaše osobné údaje a finančné informácie.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že bez tohto obmedzeného povolenia nebude aplikácia správne fungovať. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ako povoliť prístup</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikácii bol zamietnutý prístup a predvolene nemôže byť <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Táto aplikácia vyžaduje prístup k citlivým povoleniam, čo môže ohroziť vaše osobné údaje a finančné informácie.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že bez týchto obmedzených povolení nebude aplikácia správne fungovať. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ako povoliť prístup</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikácii bol zamietnutý prístup"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Prístup k tomuto povoleniu môže ohroziť vaše osobné údaje a finančné informácie.<xliff:g id="ID_1"><br><br></xliff:g>Je možné, že bez tohto obmedzeného povolenia nebude aplikácia správne fungovať. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Ako povoliť prístup</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Ďalšie informácie"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Žiadosť o povolenie bola zablokovaná"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Táto aplikácia požaduje ďalšie povolenia, ale povolenia nie je možné udeliť v relácii streamovania. Najprv udeľte povolenie v telefóne."</string> </resources> diff --git a/PermissionController/res/values-sl-v34/strings.xml b/PermissionController/res/values-sl-v34/strings.xml index 18afff3d1..11fafdf93 100644 --- a/PermissionController/res/values-sl-v34/strings.xml +++ b/PermissionController/res/values-sl-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Upravljajte dostop aplikacij do podatkov o zdravju."</string> <string name="location_settings" msgid="8863940440881290182">"Dostop do lokacije"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Za aplikacije in storitve. Če je ta nastavitev izklopljena, bodo podatki mikrofona morda še vedno deljeni, ko pokličete številko za klic v sili."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Za aplikacije in storitve."</string> </resources> diff --git a/PermissionController/res/values-sl-watch/strings.xml b/PermissionController/res/values-sl-watch/strings.xml index 83cff82ee..f93ba26b5 100644 --- a/PermissionController/res/values-sl-watch/strings.xml +++ b/PermissionController/res/values-sl-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Ni mogoče sprem."</string> <string name="generic_yes" msgid="2489207724988649846">"Da"</string> <string name="generic_cancel" msgid="2631708607129269698">"Prekliči"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Ves čas"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Med uporabo aplikacije"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Ves čas"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Med uporabo aplikacije"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Ves čas"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Med uporabo aplikacije"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Ves čas"</string> </resources> diff --git a/PermissionController/res/values-sl/strings.xml b/PermissionController/res/values-sl/strings.xml index d4b8a1037..6d045b29d 100644 --- a/PermissionController/res/values-sl/strings.xml +++ b/PermissionController/res/values-sl/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Vsa dovoljenja"</string> <string name="other_permissions" msgid="2901186127193849594">"Druge zmožnosti aplikacije"</string> <string name="permission_request_title" msgid="8790310151025020126">"Zahteva za dovoljenje"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Dejanja namestitve in odstranitve v sistemu Android Wear niso podprta."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Izberite, do česa aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovolite dostop"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Aplikacija <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> je posodobljena. Izberite, do česa tej aplikaciji dovolite dostop."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Prekliči"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Vedno dovoli vse"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Vedno vprašaj"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne dovoli"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Natančna lokacija"</string> <string name="approximate_image_description" msgid="938803699637069884">"Približna lokacija"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Uporabi natančno lokacijo"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Ko je zaznavanje natančne lokacije izklopljeno, lahko aplikacije dostopajo do vaše približne lokacije."</string> <string name="app_permission_title" msgid="2090897901051370711">"Dovoljenje »<xliff:g id="PERM">%1$s</xliff:g>«"</string> <string name="app_permission_header" msgid="2951363137032603806">"Dostop te aplikacije do dovoljenja »<xliff:g id="PERM">%1$s</xliff:g>«"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Dostop do dovoljenja »<xliff:g id="PERM">%1$s</xliff:g>« za to aplikacijo v napravi <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ogled vseh dovoljenj za aplikacijo <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ogled vseh aplikacij s tem dovoljenjem"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Prikaz uporabe pomožnega mikrofona"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Odstrani dovoljenja, če aplikacija ni v uporabi"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Odstrani dovoljenja in sprosti prostor"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Zaustavi dejavnost aplikacije ob neuporabi"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Upravljanje aplikacije ob neuporabi"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Dovoljenja se odstranijo, začasne datoteke se izbrišejo in prikazovanje obvestil se ustavi."</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Odstranitev dovoljenj, izbris začasnih datotek, ustavitev prikazovanja obvestil in arhiviranje aplikacije"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Z namenom zaščite podatkov bodo dovoljenja za to aplikacijo odstranjena, če je več mesecev ne boste uporabljali."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Če aplikacije več mesecev ne boste uporabljali, bodo z namenom zaščite podatkov odstranjena ta dovoljenja: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Z namenom zaščite podatkov so bila odstranjena dovoljenja za aplikacije, ki jih več mesecev niste uporabljali."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Dovoljeno je upravljanje vseh datotek"</string> <string name="ask_header" msgid="2633816846459944376">"Vedno vprašaj"</string> <string name="denied_header" msgid="903209608358177654">"Ni dovoljeno"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"Skupina dovoljenj »<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>« v napravi <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Prikaži več aplikacij z dostopom do vseh datotek"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dan}one{# dan}two{# dneva}few{# dni}other{# dni}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ura}one{# ura}two{# uri}few{# ure}other{# ur}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacija za zapiske"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacije, ki vam omogočajo ustvarjanje zapiskov v napravi."</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"zapiski"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Privzeta aplikacija denarnice"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacija denarnice"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"V aplikacijah denarnice lahko shranite kreditne kartice in kartice zvestobe, avtomobilske ključe ter druge stvari, ki vam omogočajo različne oblike transakcij."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Želite nastaviti <xliff:g id="APP_NAME">%1$s</xliff:g> kot privzeto aplikacijo denarnice?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nobeno dovoljenje ni potrebno"</string> <string name="request_role_current_default" msgid="738722892438247184">"Trenutna privzeta nastavitev"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ne vprašaj me več"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Nastavi kot privzeto"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Več privzetih aplikacij"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Odpiranje povezav"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Privzeto za delo"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Privzeto za zasebni prostor"</string> <string name="default_app_none" msgid="9084592086808194457">"Brez"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(privzeta v sistemu)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Ni aplikacij"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Prikaz zaznavanja sprožilca za pomočnika"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Prikaz ikone v vrstici stanja, ko z mikrofonom aktivirate glasovnega pomočnika"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do fotografij in predstavnosti v napravi?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij in predstavnosti v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij in predstavnosti v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do stikov?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do stikov v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do vaših stikov v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do lokacije te naprave?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do lokacije naprave <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do lokacije naprave <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacija bo imela dostop do lokacije samo, ko aplikacijo uporabljate"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do lokacije te naprave?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do lokacije naprave <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do lokacije naprave <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ta aplikacija bo morda želela imeti stalen dostop do vaše lokacije, tudi ko aplikacije ne boste uporabljali. "<annotation id="link">"Omogočite v nastavitvah."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Želite spremeniti dostop do lokacije za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Želite spremeniti dostop do lokacije za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Želite spremeniti dostop do lokacije za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ta aplikacija želi imeti stalen dostop do vaše lokacije, tudi ko aplikacije ne uporabljate. "<annotation id="link">"Omogočite v nastavitvah."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Ali apl. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovolite iskanje naprav v bližini, povezovanje z njimi in določanje njihove rel. lokacije?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Žel. apl. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti isk. napr. v bliž., pov. z njimi in določ. rel. lok. v napr. <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti iskanje naprav v bližini, povezavo z njimi in določanje njihovega relativnega položaja v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Ali aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovolite iskanje naprav v bližini, povezovanje z njimi in določanje njihove rel. lokacije? "<annotation id="link">"Omogočite v nastavitvah."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Ali želite aplikaciji <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> omogočiti dostop do natančne lokacije namesto približne?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Želite dostop do lokacije za aplikacijo <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b> spremeniti iz približnega v natančnega?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Želite dostop do lokacije za aplikacijo <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> spremeniti iz približnega v natančnega?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do približne lokacije te naprave?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do približne lokacije naprave <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do približne lokacije naprave <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Natančna"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Približna"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do koledarja?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do koledarja v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do vašega koledarja v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> pošiljanje in ogled sporočil SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti pošiljanje in ogled sporočil SMS v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti pošiljanje in ogled sporočil SMS v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do fotografij, predstavnosti in datotek v svoji napravi?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Želite aplik. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij, predstavnosti in datotek v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij, predstavnosti in datotek v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do <b>fotografij, videoposnetkov, glasbe in zvočnih datotek</b> v tej napravi?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do <b>fotografij, videoposnetkov, glasbe, zvočnih datotek in drugih datotek</b> v tej napravi?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do glasbe in zvočnih datotek v tej napravi?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do glasbe in zvočnih datotek v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do glasbe in zvočnih datotek v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do fotografij in videoposnetkov v tej napravi?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do več fotografij in videoposnetkov v tej napravi?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do več fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do več fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> snemanje zvoka?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje zvoka v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje zvoka v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacija bo lahko snemala zvok le med vašo uporabo aplikacije."</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> omogočiti snemanje zvoka?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje zvoka v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje zvoka v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ta aplikacija bo morda želela vseskozi snemati zvok, tudi ko aplikacije ne uporabljate. "<annotation id="link">"To omogočite v nastavitvah."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Želite spremeniti dostop do mikrofona za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Želite spremeniti dostop do mikrofona za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Želite spremeniti dostop do mikrofona za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ta aplikacija želi vseskozi snemati zvok, tudi ko aplikacije ne uporabljate. "<annotation id="link">"To omogočite v nastavitvah."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do svoje telesne dejavnosti?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do telesne dejavnosti v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do vaše telesne dejavnosti v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> fotografiranje in snemanje videoposnetkov?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti fotografiranje in snemanje videoposnetkov v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacija bo lahko snemala fotografije in videoposnetke le med vašo uporabo aplikacije."</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> omogočiti fotografiranje in snemanje videoposnetkov?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti snemanje fotografij in videoposnetkov v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti fotografiranje in snemanje videoposnetkov v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ta aplikacija bo morda želela vseskozi snemati fotografije in videoposnetke, tudi ko aplikacije ne uporabljate. "<annotation id="link">"To omogočite v nastavitvah."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Želite spremeniti dostop do fotoaparata za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Želite spremeniti dostop do fotoaparata za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Želite spremeniti dostop do fotoaparata za aplikacijo <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ta aplikacija želi vseskozi snemati fotografije in videoposnetke, tudi ko aplikacije ne uporabljate. "<annotation id="link">"To omogočite v nastavitvah."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do dnevnikov klicev v telefonu?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do dnevnikov telefonskih klicev v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do dnevnikov telefonskih klicev v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> opravljanje in upravljanje telefonskih klicev?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Želite aplik. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti opravljanje in upravljanje telefonskih klicev v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti klicanje in upravljanje telefonskih klicev v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Dovolite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dostop do podatkov tipala o vitalnih znakih?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do podatkov tipal o vitalnih znakih v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do podatkov tipal o vitalnih znakih v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ta aplikacija želi stalen dostop do podatkov tipal vitalnih znakov, tudi ko aplikacije ne uporabljate. Če želite izvesti to spremembo, "<annotation id="link">"pojdite v nastavitve"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> omogočiti dostop do podatkov tipal o vitalnih znakih?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do podatkov tipal o vitalnih znakih v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti dostop do podatkov tipal o vitalnih znakih v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Če želite tej aplikaciji omogočiti stalen dostop do podatkov tipal telesnih funkcij, tudi ko je ne uporabljate, "<annotation id="link">"pojdite v nastavitve"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Ali želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> še naprej dovoliti dostop do podatkov tipal telesnih funkcij, ko je v uporabi?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Žel. apl. <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b> še napr. dov. dost. do pod. tip. tel. funkc., ko je v upor.?"</string> - <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> omogočiti, da vam pošilja obvestila?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti pošiljanje obvestil v napravi <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> še naprej dovoliti dostop do podatkov tipala telesnih funkcij, ko je v uporabi?"</string> + <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti, da vam pošilja obvestila?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Želite aplikaciji <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> dovoliti pošiljanje obvestil v napravi <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Zunanje upravljana dovoljenja"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ima dostop do lokacije"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaša organizacija aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dovoljuje dostop do vaše lokacije."</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Brez"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"V zadnjih\n24 urah"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Zadnjih\n7 dni"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> %%"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je zaščitena z Androidom. Ker obdelava podatkov poteka v tej napravi, uporaba dovoljenj za to aplikacijo ni prikazana v vrstici stanja ali na nadzorni plošči za zasebnost."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> je zaščitena z Androidom. Ker obdelava podatkov poteka v tej napravi, uporaba dovoljenj za to aplikacijo ni prikazana na nadzorni plošči za zasebnost."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Fotoaparat naprave je blokiran"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Za aplikacije in storitve"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Podatki mikrofona bodo morda še vedno deljeni, ko pokličete številko za klic v sili."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Spremeni"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Dostop do fotoaparata je izklopljen"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Za informativno-razvedrilne aplikacije"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Za obvezne aplikacije"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ta aplikacija je obvezna"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"To aplikacijo zahteva proizvajalec avtomobila"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Varnost in zasebnost"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Preglej napravo"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Opusti"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Posodobitve deljenja podatkov"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Nekatere aplikacije so spremenile način deljenja vaših lokacijskih podatkov."</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Nastavitve"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Zadnji dostop: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Zadnji dostop včeraj: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Zadnji dostop: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Enkratno geslo je 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Omejena nastavitev"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Zaradi vaše varnosti ta nastavitev trenutno ni na voljo."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikaciji je bil zavrnjen dostop do dovoljenja »<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>«"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacija je zahtevala dostop do občutljivega dovoljenja, ki lahko ogrozi vaše osebne in finančne podatke.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija morda ne bo pravilno delovala brez tega omejenega dovoljenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Preberite, kako omogočite dostop</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikaciji je bil zavrnjen dostop do privzete vloge »<xliff:g id="ROLE_NAME">%1$s</xliff:g>«"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacija je zahtevala dostop do občutljivih dovoljenj, ki lahko ogrozijo vaše osebne in finančne podatke.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija morda ne bo pravilno delovala brez teh omejenih dovoljenj. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Preberite, kako omogočite dostop</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikaciji je bil zavrnjen dostop"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Dostop do tega dovoljenja lahko ogrozi vaše osebne in finančne podatke.<xliff:g id="ID_1"><br><br></xliff:g>Aplikacija morda ne bo pravilno delovala brez tega omejenega dovoljenja. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Preberite, kako omogočite dostop</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Več o tem"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"V redu"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Zahteva za dovoljenje je bila prezrta"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ta aplikacija zahteva dodatna dovoljenja, vendar teh ni mogoče odobriti med sejo pretočnega predvajanja. Dovoljenje najprej odobrite v telefonu."</string> </resources> diff --git a/PermissionController/res/values-sq-v34/strings.xml b/PermissionController/res/values-sq-v34/strings.xml index bf9c922cd..960da8d7d 100644 --- a/PermissionController/res/values-sq-v34/strings.xml +++ b/PermissionController/res/values-sq-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Menaxho qasjen e aplikacioneve te të dhënat e shëndetit"</string> <string name="location_settings" msgid="8863940440881290182">"Qasja te vendndodhja"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Për aplikacionet dhe shërbimet. Nëse ky cilësim është joaktiv, të dhënat e mikrofonit mund të vazhdojnë të ndahen kur telefonon një numër urgjence."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Për aplikacionet dhe shërbimet"</string> </resources> diff --git a/PermissionController/res/values-sq-watch/strings.xml b/PermissionController/res/values-sq-watch/strings.xml index 3043bf520..cddff97c5 100644 --- a/PermissionController/res/values-sq-watch/strings.xml +++ b/PermissionController/res/values-sq-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Nuk mund të ndryshohet"</string> <string name="generic_yes" msgid="2489207724988649846">"Po"</string> <string name="generic_cancel" msgid="2631708607129269698">"Anulo"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Gjatë gjithë kohës"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Kur përdor aplikacionin"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Gjatë gjithë kohës"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Kur përdor aplikacionin"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Gjatë gjithë kohës"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Kur përdor aplikacionin"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Gjatë gjithë kohës"</string> </resources> diff --git a/PermissionController/res/values-sq/strings.xml b/PermissionController/res/values-sq/strings.xml index a32dfb4f7..a8b9a925d 100644 --- a/PermissionController/res/values-sq/strings.xml +++ b/PermissionController/res/values-sq/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Të gjitha lejet"</string> <string name="other_permissions" msgid="2901186127193849594">"Kapacitete të tjera të aplikacionit"</string> <string name="permission_request_title" msgid="8790310151025020126">"Kërkesa e lejes"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Instalo/çinstalo veprimet që nuk mbështeten në Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Zgjidh se ku do të lejohet të ketë qasje <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> është përditësuar. Zgjidh se ku do të lejohet të ketë qasje ky aplikacion."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Anulo"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Lejoji gjithmonë të gjitha"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Pyet çdo herë"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Mos lejo"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Vendndodhja e saktë"</string> <string name="approximate_image_description" msgid="938803699637069884">"Vendndodhja e përafërt"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Përdor vendndodhjen e saktë"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kur është joaktive vendndodhja e saktë, aplikacionet mund të qasen te vendndodhja jote e përafërt"</string> <string name="app_permission_title" msgid="2090897901051370711">"Leje për te \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> <string name="app_permission_header" msgid="2951363137032603806">"Qasja te \"<xliff:g id="PERM">%1$s</xliff:g>\" për këtë aplikacion"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Qasja te <xliff:g id="PERM">%1$s</xliff:g> për këtë aplikacion në <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Shiko të gjitha lejet e aplikacionit \"<xliff:g id="APP">%1$s</xliff:g>\""</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Shiko të gjitha aplikacionet me këtë leje"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Shfaq përdorimin e mikrofonit të \"Asistentit\""</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Hiq lejet nëse aplikacioni nuk është përdorur"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Hiq lejet dhe liro hapësirën"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Ndërprit aktivitetin nëse nuk përdoret"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Menaxho aplikacionin nëse nuk përdoret"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Hiq lejet, fshi skedarët e përkohshëm dhe ndalo njoftimet"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Hiq lejet, fshi skedarët e përkohshëm, ndalo njoftimet dhe arkivo aplikacionin"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Për të mbrojtur të dhënat e tua, lejet për këtë aplikacion do të hiqen nëse aplikacioni nuk përdoret për disa muaj."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Për të mbrojtur të dhënat e tua, nëse aplikacioni nuk është përdorur për disa muaj, lejet e mëposhtme do të hiqen: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Për të mbrojtur të dhënat e tua, lejet janë hequr nga aplikacionet që nuk i ke përdorur për disa muaj."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Lejohet të menaxhojë të gjithë skedarët"</string> <string name="ask_header" msgid="2633816846459944376">"Pyet çdo herë"</string> <string name="denied_header" msgid="903209608358177654">"Nuk lejohet"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> në <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Shiko më shumë aplikacione me qasje tek të gjithë skedarët"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ditë}other{# ditë}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# orë}other{# orë}}"</string> @@ -386,7 +390,7 @@ <string name="role_call_redirection_description" msgid="6091669882014664420">"Aplikacione që të lejojnë t\'i transferosh telefonatat dalëse te një numër tjetër telefoni"</string> <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Dëshiron ta caktosh <xliff:g id="APP_NAME">%1$s</xliff:g> si aplikacionin e parazgjedhur për ridrejtimin e telefonatave?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Nuk ka nevojë për asnjë autorizim"</string> - <string name="role_call_screening_label" msgid="883935222060878724">"Aplikacioni i parazgjedhur për ID-në dhe telefonuesit e bezdisshëm"</string> + <string name="role_call_screening_label" msgid="883935222060878724">"Apl. i parazgjedhur për ID-në dhe telefonuesit e bezdisshëm"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"Aplikacioni për ID-në e telefonuesit dhe telefonuesit e bezdisshëm"</string> <string name="role_call_screening_description" msgid="2349431420497468981">"Aplikacionet që të lejojnë të identifikosh telefonatat dhe të bllokosh komunikimet e bezdisshme, telefonatat e automatizuara ose numrat e padëshiruar"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Dëshiron të caktosh <xliff:g id="APP_NAME">%1$s</xliff:g> si apl. e parazgjedhur për ID-në e telefonuesit dhe filtrimin telefonatave të bezdisshme?"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Aplikacioni për shënime"</string> <string name="role_notes_description" msgid="8496852798616883551">"Aplikacione që të lejojnë të mbash shënime në pajisjen tënde"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"shënime"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Aplikacioni i parazgjedhur i portofolit"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Aplikacioni i portofolit"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Aplikacionet e portofolit mund të ruajnë kartat e tua të kreditit dhe të besnikërisë, çelësat e makinës dhe gjëra të tjera për të të ndihmuar për forma të ndryshme transaksionesh."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Të caktohet <xliff:g id="APP_NAME">%1$s</xliff:g> si aplikacioni yt i parazgjedhur i portofolit?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Nuk nevojitet asnjë leje"</string> <string name="request_role_current_default" msgid="738722892438247184">"Parazgjedhja aktuale"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Mos pyet më"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Cakto si parazgjedhje"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Parazgjedhje të tjera"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Hapja e lidhjeve"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Të parazgjedhura për punën"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Të parazgjedhurat për hapësirën private"</string> <string name="default_app_none" msgid="9084592086808194457">"Asnjë"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Parazgjedhja e sistemit)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Nuk ka aplikacione"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Shfaq zbulimin e aktivizimit të asistentit"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Shfaq ikonën në shiritin e statusit kur përdoret mikrofoni për të aktivizuar asistentin me zë"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe media në pajisjen tënde?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe media në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe media në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kontaktet e tua?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kontaktet e tua në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kontaktet e tua në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e kësaj pajisjeje?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Aplikacioni do të ketë qasje te vendndodhja vetëm kur po e përdor aplikacionin"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e kësaj pajisjeje?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ky aplikacion mund të dëshirojë të ketë qasje në vendndodhjen tënde gjatë gjithë kohës, edhe kur nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Do ta ndryshosh qasjen për vendndodhjen për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Të ndryshohet qasje te vendndodhja për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Të ndryshohet qasja te vendndodhja për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ky aplikacion dëshiron të ketë qasje në vendndodhjen tënde gjatë gjithë kohës, edhe kur nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Të lejohet <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të gjejë, të lidhet dhe të përcaktojë pozicionin relativ të pajisjeve në afërsi?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të gjejë, të lidhet dhe të përcaktojë pozicionin e përafërt të pajisjeve në afërsi në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të gjejë, të lidhet dhe të përcaktojë pozicionin e përafërt të pajisjeve në afërsi në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Të lejohet <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të gjejë, të lidhet dhe të përcaktojë pozicionin relativ të pajisjeve në afërsi? "<annotation id="link">"Lejoje te cilësimet."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Të ndryshohet qasja që ka <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> te vendndodhja nga \"e përafërt\" në \"e saktë\"?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Të ndryshohet qasja e <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> te vendndodhja në <b><xliff:g id="DEVICE">%2$s</xliff:g></b> nga e përafërt në e saktë?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Të ndryshohet qasja e <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> te vendndodhja në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> nga e përafërt në e saktë?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e përafërt e kësaj pajisjeje?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e përafërt e <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te vendndodhja e përafërt e <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"E saktë"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"E përafërt"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kalendari yt?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kalendari yt në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te kalendari yt në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të dërgojë dhe të shikojë mesazhet SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të dërgojë dhe të shikojë mesazhet SMS në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të dërgojë dhe të shikojë mesazhet SMS në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë, media dhe skedarët në pajisjen tënde?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë, media dhe skedarët në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë, media dhe skedarët në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te <b>fotografitë, videot, muzika dhe audioja</b> në këtë pajisje?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Të lejohet që <b&gt<xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te <b>fotografitë, videot, muzika, audioja e të tjera</b> në pajisje?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te muzika dhe te audioja në këtë pajisje?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te muzika dhe audioja në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te muzika dhe audioja në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe videot në këtë pajisje?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe videot në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te fotografitë dhe videot në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të qaset te më shumë fotografi dhe video në pajisje?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje në më shumë fotografi dhe video në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje në më shumë fotografi dhe video në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacioni do të mund të regjistrojë audion vetëm kur ti po e përdor aplikacionin"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të regjistrojë audio në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ky aplikacion mund të dëshirojë të regjistrojë audion gjatë gjithë kohës, edhe kur ti nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Të ndryshohet qasja për mikrofonin për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Të ndryshohet qasja te mikrofoni për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Të ndryshohet qasja te mikrofoni për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ky aplikacion dëshiron të regjistrojë audion gjatë gjithë kohës, edhe kur ti nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje në aktivitetin tënd fizik?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje tek aktiviteti yt fizik në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje tek aktiviteti yt fizik në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacioni do të mund të nxjerrë fotografi dhe të regjistrojë video vetëm kur ti po e përdor aplikacionin"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të nxjerrë fotografi dhe të regjistrojë video në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ky aplikacion mund të dëshirojë të nxjerrë fotografi dhe video gjatë gjithë kohës, edhe kur ti nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Të ndryshohet qasja për kamerën për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Të ndryshohet qasja te kamera për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Të ndryshohet qasja te kamera për <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ky aplikacion dëshiron të nxjerrë fotografi dhe video gjatë gjithë kohës, edhe kur ti nuk po e përdor aplikacionin. "<annotation id="link">"Lejoje te cilësimet"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Të lejohet <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje në evidencat e tua të telefonatave?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje tek evidencat e telefonatave të telefonit në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje tek evidencat e telefonatave të telefonit në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të kryejë dhe të menaxhojë telefonata?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të bëjë dhe të menaxhojë telefonatat në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të bëjë dhe të menaxhojë telefonatat në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave të tua jetësore?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave jetësore në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave jetësore në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Aplikacioni kërkon qasje te të dhënat e sensorëve rreth shenjave të tua jetësore gjithmonë, edhe kur nuk e përdor aplikacionin. Për ta bërë këtë ndryshim, "<annotation id="link">"shko te cilësimet."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave të tua jetësore?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave jetësore në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve rreth shenjave jetësore në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Për të lejuar këtë aplikacion që të ketë qasje te të dhënat e sensorit të trupit gjithmonë, edhe kur nuk e përdor aplikacionin, "<annotation id="link">"shko te cilësimet."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Të lejohet akoma që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorit të trupit kur aplikacioni përdoret?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Të lejohet akoma që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve të trupit në <b><xliff:g id="DEVICE">%2$s</xliff:g></b> kur aplikacioni është në përdorim?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Të lejohet akoma që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të ketë qasje te të dhënat e sensorëve të trupit në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> kur aplikacioni është në përdorim?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të të dërgojë njoftime?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të të dërgojë njoftime në <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Të lejohet që <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> të të dërgojë njoftime në <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Lejet e kontrolluara"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ka qasje te vendndodhja"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Organizata jote lejon që <xliff:g id="APP_NAME">%1$s</xliff:g> të ketë qasje te vendndodhja jote"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Asnjë"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Në 24 orët\ne kaluara"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 ditët\ne fundit"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>: <xliff:g id="PERCENT">%2$d</xliff:g> përqind"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> mbrohet nga Android. Duke qenë se të dhënat e tua përpunohen në këtë pajisje, përdorimi i lejes së aplikacionit nuk shfaqet në shiritin e statusit ose në panelin tënd të privatësisë."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> mbrohet nga Android. Duke qenë se të dhënat e tua përpunohen në këtë pajisje, përdorimi i lejes së aplikacionit nuk shfaqet në panelin tënd të privatësisë."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera e pajisjes është bllokuar"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Për aplikacionet dhe shërbimet"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Të dhënat e mikrofonit mund të vazhdojnë të ndahen kur telefonon një numër urgjence."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Ndrysho"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Qasja te kamera është çaktivizuar"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Për aplikacionet infoargëtuese"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Për aplikacionet e domosdoshme"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ky aplikacion është i domosdoshëm"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ky aplikacion kërkohet nga prodhuesi i makinës sate"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Siguria dhe privatësia"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skano pajisjen"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Hiq"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Përditësimet për ndarjen e të dhënave"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Disa aplikacione ndryshuan mënyrën se si mund të ndajnë të dhënat e vendndodhjes sate"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Cilësimet"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Qasja e fundit në <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Qasja e fundit dje në <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Qasja e fundit më <xliff:g id="TIME_DATE_0">%1$s</xliff:g> në <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Fjalëkalimi yt njëpërdorimësh është 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Cilësim i kufizuar"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Për sigurinë tënde, ky cilësim nuk ofrohet për momentin."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Aplikacionit iu refuzua qasja te: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Aplikacioni kërkoi qasje në një leje delikate që mund t\'i vendosë në rrezik informacionet e tua personale dhe financiare.<xliff:g id="ID_1"><br><br></xliff:g>Ka mundësi që aplikacioni të mos funksionojë si duhet pa këtë leje të kufizuar. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Mëso se si të lejosh qasjen</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Aplikacionit iu refuzua qasja për të qenë parazgjedhja për: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Aplikacioni kërkoi qasje në leje delikate që mund t\'i vendosin në rrezik informacionet e tua personale dhe financiare.<xliff:g id="ID_1"><br><br></xliff:g>Ka mundësi që aplikacioni të mos funksionojë si duhet pa këto leje të kufizuara. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Mëso se si të lejosh qasjen</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Aplikacionit iu refuzua qasja"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Qasja në këtë leje mund t\'i vendosë në rrezik informacionet e tua personale dhe financiare.<xliff:g id="ID_1"><br><br></xliff:g>Ka mundësi që aplikacioni të mos funksionojë si duhet pa këtë leje të kufizuar. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Mëso se si të lejosh qasjen</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Mëso më shumë"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Në rregull"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Kërkesa për leje është ndaluar"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ky aplikacion po kërkon leje shtesë, por lejet nuk mund të jepen në një seancë transmetimi. Fillimisht jep lejen në telefonin tënd."</string> </resources> diff --git a/PermissionController/res/values-sr-v34/strings.xml b/PermissionController/res/values-sr-v34/strings.xml index 89233996c..3708c5d93 100644 --- a/PermissionController/res/values-sr-v34/strings.xml +++ b/PermissionController/res/values-sr-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Управљајте приступом апликација подацима о здрављу"</string> <string name="location_settings" msgid="8863940440881290182">"Приступ локацији"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"За апликације и услуге. Ако је ово подешавање искључено, подаци микрофона могу и даље да се деле када позовете број за хитне случајеве"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"За апликације и услуге"</string> </resources> diff --git a/PermissionController/res/values-sr-watch/strings.xml b/PermissionController/res/values-sr-watch/strings.xml index 6d9cff946..6f21adc03 100644 --- a/PermissionController/res/values-sr-watch/strings.xml +++ b/PermissionController/res/values-sr-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Не може да се промени"</string> <string name="generic_yes" msgid="2489207724988649846">"Да"</string> <string name="generic_cancel" msgid="2631708607129269698">"Откажи"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Све време"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"При коришћењу апликације"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Све време"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"При коришћењу апликације"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Све време"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"При коришћењу апликације"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Све време"</string> </resources> diff --git a/PermissionController/res/values-sr/strings.xml b/PermissionController/res/values-sr/strings.xml index 847f95fbb..16184e5b4 100644 --- a/PermissionController/res/values-sr/strings.xml +++ b/PermissionController/res/values-sr/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Све дозволе"</string> <string name="other_permissions" msgid="2901186127193849594">"Остале могућности апликације"</string> <string name="permission_request_title" msgid="8790310151025020126">"Захтев за дозволу"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Радње Инсталирај/Деинсталирај нису подржане у Wear-у."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Изаберите чему <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> може да приступа"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> је ажурирана. Изаберите чему ова апликација може да приступа."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Откажи"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Увек дозволи све"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Питај сваки пут"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Не дозволи"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Прецизна локација"</string> <string name="approximate_image_description" msgid="938803699637069884">"Приближна локација"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Користи прецизну локацију"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Апликације могу да приступају вашој приближној локацији када је прецизна искључена"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> - дозвола"</string> <string name="app_permission_header" msgid="2951363137032603806">"Приступ ове апликације функцији „<xliff:g id="PERM">%1$s</xliff:g>“"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Ова апликација има приступ за: <xliff:g id="PERM">%1$s</xliff:g> на уређају <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Прикажи све дозволе за: <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Прикажи све апликације са овом дозволом"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Прикажи како Помоћник користи микрофон"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Уклони дозволе ако се апликација не користи"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Уклони дозволе и ослободи простор"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Паузирај активности ако се не користи"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Управљајте апликацијом ако се не користи"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Уклоните дозволе, избришите привремене фајлове и зауставите обавештења"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Уклоните дозволе, избришите привремене фајлове, зауставите обавештења и архивирајте апликацију"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Ради заштите података, дозволе за ову апликацију се уклањају ако се апликација не користи пар месеци."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ради заштите података, следеће дозволе се уклањају ако се апликација не користи пар месеци: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Ради заштите података, дозволе су уклоњене из апликација које нисте користили пар месеци."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Имају дозволу за управљање свим датотекама"</string> <string name="ask_header" msgid="2633816846459944376">"Питај сваки пут"</string> <string name="denied_header" msgid="903209608358177654">"Није дозвољено"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> на уређају <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Прикажи још апликација са приступом свим фајловима"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 дан}one{# дан}few{# дана}other{# дана}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# сат}one{# сат}few{# сата}other{# сати}}"</string> @@ -375,7 +379,7 @@ <string name="role_emergency_request_title" msgid="8469579020654348567">"Желите ли да подесите <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију за хитне случајеве?"</string> <string name="role_emergency_request_description" msgid="131645948770262850">"Није потребна ниједна дозвола"</string> <string name="role_emergency_search_keywords" msgid="1920007722599213358">"у хитном случају"</string> - <string name="role_home_label" msgid="3871847846649769412">"Подраз. апл. почетне странице"</string> + <string name="role_home_label" msgid="3871847846649769412">"Подразумевана апл. почетне странице"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Апликација почетне странице"</string> <string name="role_home_description" msgid="7997371519626556675">"Апликације које се често зову покретачи и замењују почетне екране на Android уређају и пружају приступ садржају и функцијама на уређају"</string> <string name="role_home_request_title" msgid="738136983453341081">"Желите ли да подесите <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију почетне странице?"</string> @@ -387,13 +391,13 @@ <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Желите ли да подесите <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију за преусмеравање позива?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Није потребна ниједна дозвола"</string> <string name="role_call_screening_label" msgid="883935222060878724">"Апликација за ИД позиваоца и непожељне поруке"</string> - <string name="role_call_screening_short_label" msgid="2048465565063130834">"Апл. за ИД поз. и непож. поз."</string> + <string name="role_call_screening_short_label" msgid="2048465565063130834">"ИД позиваоца и непожељни позиви"</string> <string name="role_call_screening_description" msgid="2349431420497468981">"Апликације које вам омогућавају да идентификујете позиве, блокирате непожељне и аутоматизоване позиве и нежељене бројеве"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Желите ли да подесите <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију за ИД позиваоца и непожељне поруке?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Није потребна ниједна дозвола"</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Подразумевана апликација за навигацију"</string> <string name="role_automotive_navigation_short_label" msgid="5165823092506922457">"Апликација за навигацију"</string> - <string name="role_automotive_navigation_description" msgid="7834601873792870134">"Апликације које могу да пружају претрагу занимљивих места и детаљну помоћ при навигацији"</string> + <string name="role_automotive_navigation_description" msgid="7834601873792870134">"Апликације које могу да пружају претрагу тачака од интереса и детаљну помоћ при навигацији"</string> <string name="role_automotive_navigation_request_title" msgid="7525693151489384300">"Желите да подесите апликацију <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију за навигацију?"</string> <string name="role_automotive_navigation_request_description" msgid="7073023813249245540">"Није потребна ниједна дозвола"</string> <string name="role_watch_description" msgid="267003778693177779">"<xliff:g id="APP_NAME">%1$s</xliff:g> ће добити дозволу за интеракцију са обавештењима и приступ дозволама за телефон, SMS поруке, контакте и календар."</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Апликација за белешке"</string> <string name="role_notes_description" msgid="8496852798616883551">"Апликације које вам омогућавају да правите белешке на уређају"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"белешке"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Подразумевана апликација новчаника"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Апликација Новчаник"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Апликације новчаника могу да чувају ваше кредитне картице и картице лојалности, кључеве од аутомобила и друге ствари како би вам помогли при различитим трансакцијама."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Желите да подесите <xliff:g id="APP_NAME">%1$s</xliff:g> као подразумевану апликацију новчаника?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Није потребна ниједна дозвола"</string> <string name="request_role_current_default" msgid="738722892438247184">"Тренутно подразумевана"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Не питај поново"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Подеси као подразум."</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Још подразумеваних апликација"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Отварање линкова"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Подразумевана за посао"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Подразумевано за приватан простор"</string> <string name="default_app_none" msgid="9084592086808194457">"Ништа"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Подразумевана системска)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Нема апликација"</string> @@ -438,7 +448,7 @@ <string name="no_special_app_access" msgid="6950277571805106247">"Нема посебног приступа апл."</string> <string name="special_app_access_no_apps" msgid="4102911722787886970">"Нема апликација"</string> <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Не подржава пословни профил"</string> - <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Напомена: Ако рестартујете уређај и подесили сте закључавање екрана, ова апликација не може да се покрене док не откључате уређај."</string> + <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Напомена: Ако рестартујете уређај и подесили сте откључавање екрана, ова апликација не може да се покрене док не откључате уређај."</string> <string name="assistant_confirmation_message" msgid="7476540402884416212">"Помоћник ће моћи да чита информације о апликацијама које се користе у систему, укључујући информације видљиве на екрану или којима може да се приступа у оквиру апликација."</string> <string name="incident_report_channel_name" msgid="3144954065936288440">"Дељење података о отклањању грешака"</string> <string name="incident_report_notification_title" msgid="4635984625656519773">"Делите детаљне податке за отклањање грешака?"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Приказуј откривање активирања помоћника"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Приказује икону на статусној траци када се микрофон користи за активирање гласовног помоћника"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Желите ли да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама и медијима на уређају?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама и медијима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама и медијима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа контактима?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа контактима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа контактима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији овог уређаја?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Апликација ће имати приступ локацији само док користите апликацију"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији овог уређаја?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ова апликација можда жели да приступа локацији све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Желите ли да промените приступ локацији за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Мењате приступ локацији за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Мењате приступ локацији за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ова апликација жели да приступа локацији све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> проналази уређаје у близини, повезује се с њима и одређује им релативан положај?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> може да налази уређаје у близини, повезује се са њима и утврђује релативни положај на: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> проналази уређаје у близини, повезује се са њима и утврђује њихову релативну позицију на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> проналази уређаје у близини, повезује се с њима и одређује им релативан положај? "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Желите ли да промените приступ апликације <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> из приближне локације на прецизну?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Мењате приступ апликације <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> локацији уређаја <b><xliff:g id="DEVICE">%2$s</xliff:g></b> из приближне у прецизну локацију?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Мењате приступ апликације <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> из приближне у прецизну локацију?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Желите ли да омогућите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа приближној локацији овог уређаја?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа приближној локацији уређаја <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа приближној локацији уређаја <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Прецизна"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Приближна"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа календару?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа календару на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа календару на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље и прегледа SMS-ове?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље и прегледа SMS поруке на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље и прегледа SMS поруке на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама, медијским и другим фајловима на уређају?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама, медијима и фајловима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама, медијима и фајловима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Приступ <b>сликама, видеу, музици и звуку</b> на уређају за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Приступ сликама, видеу, музици, звуку и другом на уређају за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Дозвољавате ли приступ музици и звуку на овом уређају за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа музици и аудио садржају на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа музици и звуку на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Дозвољавате ли приступ сликама и видеу на овом уређају за <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама и видеима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа сликама и видеима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Дозвољавате ли да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа и другим сликама и видеима на овом уређају?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа и другим сликама и видеима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа и другим сликама и видеима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима звук?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима аудио садржај на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима звук на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Апликација ће моћи да снима звук само док користите апликацију"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима звук?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима аудио садржај на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима звук на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ова апликација можда жели да снима звук све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Желите да промените приступ микрофону за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Мењате приступ микрофону за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Мењате приступ микрофону за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ова апликација жели да снима звук све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Желите ли да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа физичким активностима?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима о физичким активностима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео снимке?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Дозволићете да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео снимке на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима о физичким активностима на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Апликација ће моћи да снима слике и видео снимке само док користите апликацију"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео снимке?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео снимке на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> снима слике и видео на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ова апликација можда жели да снима слике и видео снимке све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Желите да промените приступ камери за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Мењате приступ камери за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Мењате приступ камери за апликацију <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ова апликација жели да снима слике и видео снимке све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа евиденцијама позива на телефону?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа евиденцијама телефонских позива на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа евиденцији телефонских позива на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> упућује позиве и управља њима?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> упућује телефонске позиве и управља њима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> упућује телефонске позиве на уређају <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> и управља њима?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Желите да дозволите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним функцијама?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним знацима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним функцијама на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ова апликација жели да све време приступа подацима сензора о виталним функцијама, чак и када не користите апликацију. Да бисте обавили ову измену, "<annotation id="link">"идите у подешавања."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Желите да омогућите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним функцијама?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним знацима на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> приступа подацима сензора о виталним функцијама на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Да бисте дозволили овој апликацији да све време приступа подацима сензора за тело, чак и када не користите апликацију, "<annotation id="link">"идите у подешавања."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Желите да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> и даље приступа подацима сензора за тело док се апликација користи?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Дозвољавате да <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> током коришћења и даље приступа подацима сензора за тело на: <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Дозвољавате да апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> током коришћења и даље приступа подацима сензора за тело на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Желите да дозволите да вам <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље обавештења?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Дозвољавате да вам <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље обавештења на уређају <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Дозвољавате да вам апликација <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> шаље обавештења на: <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Контролисане дозволе"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> има приступ локацији"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Организација дозвољава да <xliff:g id="APP_NAME">%1$s</xliff:g> приступа локацији"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Ништа"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Претходна\n24 сата"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"У претходних\n7 дана"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> посто"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android штити <xliff:g id="APP_NAME">%1$s</xliff:g>. Пошто се подаци обрађују на овом уређају, коришћење дозвола за ову апликацију се не приказује на статусној траци или контролној табли за приватност."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android штити <xliff:g id="APP_NAME">%1$s</xliff:g>. Пошто се подаци обрађују на овом уређају, коришћење дозвола за ову апликацију се не приказује на контролној табли за приватност."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камера уређаја је блокирана"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"За апликације и услуге"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Подаци микрофона могу и даље да се деле када позовете број за хитне случајеве."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Промени"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Приступ камери је искључен"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"За апликације за инфо-забаву"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"За обавезне апликације"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Ова апликација је обавезна"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Ову апликацију захтева произвођач аутомобила"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Безбедност и приватност"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Скенирај уређај"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Одбаци"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Ажурирања за дељење података"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Неке апликације су промениле начин на који могу да деле податке о локацији"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Подешавања"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Приступано: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Приступано јуче: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Приступано: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Једнократна лозинка је 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Ограничено подешавање"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ово подешавање је тренутно недоступно ради ваше безбедности."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Апликацији није дозвољен приступ дозволи: <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Апликација је затражила приступ осетљивој дозволи, што може да угрози безбедност личних и финансијских података.<xliff:g id="ID_1"><br><br></xliff:g>Апликација можда неће радити исправно без ове ограничене дозволе. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Сазнајте како да дозволите приступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Апликацији није дозвољен приступ да постане подразумевана: <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Апликација је затражила приступ осетљивим дозволама, што може да угрози безбедност личних и финансијских података.<xliff:g id="ID_1"><br><br></xliff:g>Апликација можда неће радити исправно без ових ограничених дозвола. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Сазнајте како да дозволите приступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Апликацији није дозвољен приступ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Приступ овој дозволи може да угрози безбедност личних и финансијских података.<xliff:g id="ID_1"><br><br></xliff:g>Апликација можда неће радити исправно без ове ограничене дозволе. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Сазнајте како да дозволите приступ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Сазнајте више"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Важи"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Захтев за дозволу је блокиран"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ова апликација захтева додатне дозволе, али дозволе не могу да се дају у сесији стримовања. Прво дајте дозволу на телефону."</string> </resources> diff --git a/PermissionController/res/values-sv-v34/strings.xml b/PermissionController/res/values-sv-v34/strings.xml index 09e204e2e..f6e4f3571 100644 --- a/PermissionController/res/values-sv-v34/strings.xml +++ b/PermissionController/res/values-sv-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Hantera appars åtkomst till din hälsodata"</string> <string name="location_settings" msgid="8863940440881290182">"Platsåtkomst"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"För appar och tjänster. Om inställningen är inaktiverad kan mikrofondata fortfarande delas när du ringer ett nödnummer"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"För appar och tjänster"</string> </resources> diff --git a/PermissionController/res/values-sv-watch/strings.xml b/PermissionController/res/values-sv-watch/strings.xml index 0a170e27e..9086da508 100644 --- a/PermissionController/res/values-sv-watch/strings.xml +++ b/PermissionController/res/values-sv-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Kan inte ändras"</string> <string name="generic_yes" msgid="2489207724988649846">"Ja"</string> <string name="generic_cancel" msgid="2631708607129269698">"Avbryt"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Hela tiden"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"När appen används"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Hela tiden"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"När appen används"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Hela tiden"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"När appen används"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Hela tiden"</string> </resources> diff --git a/PermissionController/res/values-sv/strings.xml b/PermissionController/res/values-sv/strings.xml index 350d6528c..0709a35c0 100644 --- a/PermissionController/res/values-sv/strings.xml +++ b/PermissionController/res/values-sv/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Alla behörigheter"</string> <string name="other_permissions" msgid="2901186127193849594">"Andra appbehörigheter"</string> <string name="permission_request_title" msgid="8790310151025020126">"Behörighetsbegäran"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Åtgärder för att installera/avinstallera stöds inte på Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Välj vad du vill ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> har uppdaterats. Välj vad du vill ge appen åtkomst till."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Avbryt"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Tillåt alltid alla"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Fråga varje gång"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Tillåt inte"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Exakt plats"</string> <string name="approximate_image_description" msgid="938803699637069884">"Ungefärlig plats"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Använd exakt plats"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"När exakt plats har inaktiverats har appar åtkomst till din ungefärliga plats"</string> <string name="app_permission_title" msgid="2090897901051370711">"Behörighet till <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Åtkomst till <xliff:g id="PERM">%1$s</xliff:g> för appen"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Åtkomst till <xliff:g id="PERM">%1$s</xliff:g> för den här appen på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Visa alla behörigheter för <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Visa alla appar med den här behörigheten"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Visa mikrofonanvändning för assistenten"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ta bort behörigheter om en app inte används"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ta bort behörigheter och frigör utrymme"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausa appaktivitet om appen inte används"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Hantera appen om den inte används"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Ta bort behörigheter, radera tillfälliga filer och hindra aviseringar"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Ta bort behörigheter, radera tillfälliga filer, hindra aviseringar och arkivera appen"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Behörigheter tas bort av säkerhetsskäl från den här appen om den inte används på några månader."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Följande behörigheter tas bort av säkerhetsskäl från appen om den inte används på några månader: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Behörigheter har tagits bort av säkerhetsskäl från appar som inte har använts på några månader."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Tillåts att hantera alla filer"</string> <string name="ask_header" msgid="2633816846459944376">"Fråga varje gång"</string> <string name="denied_header" msgid="903209608358177654">"Tillåts inte"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> på <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Se fler appar som kan komma åt alla filer"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 dag}other{# dagar}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# timme}other{# timmar}}"</string> @@ -357,7 +361,7 @@ <string name="role_browser_description" msgid="3465253637499842671">"Appar som visar länkar du trycker på och du använder för att ansluta till internet"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"Vill du ställa in <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardwebbläsarapp?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Inga behörigheter krävs"</string> - <string name="role_dialer_label" msgid="1100224146343237968">"Standard telefonapp"</string> + <string name="role_dialer_label" msgid="1100224146343237968">"Standardtelefonapp"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Telefonapp"</string> <string name="role_dialer_description" msgid="8768708633696539612">"Appar som möjliggör att ringa och ta emot telefonsamtal på enheten"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Vill du ställa in <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardtelefonapp?"</string> @@ -377,7 +381,7 @@ <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string> <string name="role_home_label" msgid="3871847846649769412">"Standard startskärmsapp"</string> <string name="role_home_short_label" msgid="8544733747952272337">"Startskärmsapp"</string> - <string name="role_home_description" msgid="7997371519626556675">"Appar som kallas Översikter ersätter startskärmarna på Android-enheten. Du får åtkomst till innehåll och funktioner på enheten via översikten."</string> + <string name="role_home_description" msgid="7997371519626556675">"Appar som kallas appstartare ersätter startskärmarna på Android-enheten. Du får åtkomst till innehåll och funktioner på enheten via appstartaren."</string> <string name="role_home_request_title" msgid="738136983453341081">"Vill du ställa in <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardapp för startskärm?"</string> <string name="role_home_request_description" msgid="2658833966716057673">"Inga behörigheter krävs"</string> <string name="role_home_search_keywords" msgid="3830755001192666285">"översikt"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Anteckningsapp"</string> <string name="role_notes_description" msgid="8496852798616883551">"Appar som låter dig göra anteckningar på enheten"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"anteckningar"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Standardplånboksapp"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Plånboksapp"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Plånboksappar kan lagra dina kredit- och stamkundskort, bilnycklar och andra saker som hjälper till med olika sorters transaktioner."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Vill du ställa in <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardplånboksapp?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Inga behörigheter krävs"</string> <string name="request_role_current_default" msgid="738722892438247184">"Nuvarande standardapp"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Fråga inte igen"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Ange som standard"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Fler standardappar"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Öppna länkar"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Standardinställning för jobbet"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Standard för privat område"</string> <string name="default_app_none" msgid="9084592086808194457">"Ingen"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Systemstandard)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Inga appar"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Visa när enheten lyssnar efter ord som aktiverar assistenten"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Visa en ikon i statusfältet när mikrofonen används för att aktivera röstassistenten"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomstbehörighet till foton och media på enheten?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton och media på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton och media på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till dina kontakter?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till kontakter på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till dina kontakter på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till enhetens plats?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till platsen för <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till platsen för <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Appen får endast åtkomst till din plats när du använder den"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till enhetens plats?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till platsen för <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till platsen för <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Appen kanske vill få åtkomst till din plats hela tiden, även när du inte använder den. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Vill du ändra platsåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Vill du ändra platsåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Vill du ändra platsåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Appen vill få åtkomst till din plats hela tiden, även när du inte använder den. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Vill du tillåta att <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kan hitta, ansluta till och fastställa relativ position för enheter i närheten?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Tillåt <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att hitta, ansluta till och avgöra relativ plats för enheter i närheten på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att hitta, ansluta till och avgöra relativ plats för enheter i närheten på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Vill du tillåta att <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kan hitta, ansluta till och fastställa relativ position för enheter i närheten? "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Vill du ändra platsåtkomsten för <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> från ungefärlig till exakt?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Vill du ändra <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>s platsåtkomst på <b><xliff:g id="DEVICE">%2$s</xliff:g></b> från ungefärlig till exakt?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Vill du ändra platsåtkomsten för <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> från ungefärlig till exakt?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till enhetens ungefärliga plats?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till den ungefärliga platsen för <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till den ungefärliga platsen för <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Exakt"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Ungefärlig"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till din kalender?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till kalendern på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till din kalender på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att skicka och visa sms?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att skicka och visa sms på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att skicka och visa sms på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton, mediefiler och andra filer på enheten?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton, media och filer på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton, media och filer på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till <b>foton, videor, musik och ljud</b> på enheten?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till <b>foton, videor, musik, ljud och andra filer</b> på enheten?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till musik och ljud på enheten?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till musik och ljud på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till musik och ljud på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton och videor på enheten?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton och videor på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till foton och videor på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till fler foton och videor på enheten?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till fler foton och videor på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till fler bilder och videor på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att spela in ljud?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att spela in ljud på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att spela in ljud på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Appen kan bara spela in ljud medan du använder den"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att spela in ljud?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att spela in ljud på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att spela in ljud på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Appen kanske vill spela in ljud hela tiden, även när du inte använder appen. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Vill du ändra mikrofonåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Vill du ändra mikrofonåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Vill du ändra mikrofonåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Appen vill ha behörighet att spela in ljud hela tiden, även när du inte använder appen. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till data om fysisk aktivitet?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till din fysiska aktivitet på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till din fysiska aktivitet på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ta bilder och spela in video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ta bilder och spela in video på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att ta bilder och spela in video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Appen kan bara ta bilder och spela in video medan du använder den"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ta bilder och spela in video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ta bilder och spela in video på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att ta bilder och spela in video på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Appen kanske vill ta bilder och spela in videor hela tiden, även när du inte använder appen. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Vill du ändra kameraåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Vill du ändra kameraåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Vill du ändra kameraåtkomsten för <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Appen vill ha behörighet att ta bilder och spela in videor hela tiden, även när du inte använder appen. "<annotation id="link">"Tillåt i inställningarna."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till samtalsloggarna?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till dina samtalsloggar på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till dina samtalsloggar på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ringa och hantera telefonsamtal?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att ringa och hantera telefonsamtal på<b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att ringa och hantera samtal på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till sensordata om vitalparametrar?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till sensordata om dina vitalparametrar på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till sensordata om dina vitalparametrar på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Appen vill ha åtkomst till sensordata om vitalparametrar hela tiden, även när du inte använder den. "<annotation id="link">"Öppna inställningarna"</annotation>" om du vill tillåta detta."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomstbehörighet till sensordata om vitalparametrar?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till sensordata om dina vitalparametrar på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till sensordata om dina vitalparametrar på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501"><annotation id="link">"Öppna inställningarna"</annotation>" om du vill ge appen åtkomst till data från kroppssensorer hela tiden, även när du inte använder appen."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Ska <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ha åtkomst till data från kroppssensorer medan appen används även i fortsättningen?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Vill du fortsätta ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till kroppssensorsdata på <b><xliff:g id="DEVICE">%2$s</xliff:g></b> medan appen används?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vill du fortsätta ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> åtkomst till kroppssensordata på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> medan appen används?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att skicka aviseringar?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vill du ge <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> behörighet att skicka aviseringar på <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Vill du tillåta <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> att skicka dig aviseringar på <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Styrda behörigheter"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> har platsåtkomst"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Din organisation tillåter att <xliff:g id="APP_NAME">%1$s</xliff:g> får åtkomst till din plats"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Inga"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Senaste\n24 timmarna"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Senaste\n7 dagarna"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> procent"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> skyddas av Android. Appens användning av behörigheter visas inte i statusfältet eller integritetsöversikten eftersom din data bearbetas på enheten."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> skyddas av Android. Appens användning av behörigheter visas inte i integritetsöversikten eftersom din data bearbetas på enheten."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Enhetens kamera är blockerad"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"För appar och tjänster"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofondata kan fortfarande delas när du ringer ett nödnummer."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Ändra"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameraåtkomst är inaktiverad"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"För infotainment-appar"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"För appar som krävs"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Den här appen krävs"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Den här appen krävs av bilens tillverkare"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Säkerhet och integritet"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skanna enhet"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Stäng"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Uppdateringar av datadelning"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"En del appar har ändrat hur de kan dela din platsdata"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Inställningar"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Öppnades <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Öppnades i går <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Öppnades <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ditt engångslösenord är 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Begränsad inställning"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Av säkerhetsskäl är den här inställningen inte tillgänglig för närvarande."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Appen nekades åtkomst till <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Appen begärde åtkomstbehörighet till känsliga uppgifter, vilket kan utsätta din personliga och finansiella information för risk.<xliff:g id="ID_1"><br><br></xliff:g>Appen kanske inte fungerar som den ska utan denna begränsade behörighet. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtLäs mer om hur du tillåter åtkomst</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Appen nekades åtkomst till standardrollen för <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Appen begärde åtkomstbehörigheter till känsliga uppgifter, vilket kan utsätta din personliga och finansiella information för risk.<xliff:g id="ID_1"><br><br></xliff:g>Appen kanske inte fungerar som den ska utan dessa begränsade behörigheter. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtLäs mer om hur du tillåter åtkomst</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Appen nekades åtkomst"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Åtkomst till denna behörighet kan utsätta din personliga och finansiella information för risk.<xliff:g id="ID_1"><br><br></xliff:g>Appen kanske inte fungerar som den ska utan denna begränsade behörighet. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>&gtLäs mer om hur du tillåter åtkomst</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Läs mer"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Begäran om behörighet har dolts"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Appen begär ytterligare behörigheter, men det går inte att bevilja behörigheter under streamingsessionen. Bevilja behörigheten på telefonen först."</string> </resources> diff --git a/PermissionController/res/values-sw-v34/strings.xml b/PermissionController/res/values-sw-v34/strings.xml index be6f2f72b..5e5d5f149 100644 --- a/PermissionController/res/values-sw-v34/strings.xml +++ b/PermissionController/res/values-sw-v34/strings.xml @@ -22,6 +22,5 @@ <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"Dhibiti uwezo wa programu wa kufikia data ya afya"</string> <string name="location_settings" msgid="8863940440881290182">"Uwezo wa kufikia mahali"</string> - <string name="mic_toggle_description" msgid="1504101620086616040">"Kwenye programu na huduma. Mipangilio hii ikizimwa, data ya maikrofoni bado inaweza ikashirikiwa unapopiga nambari ya dharura"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Kwenye programu na huduma"</string> + <string name="mic_toggle_description" msgid="1504101620086616040">"Kwenye programu na huduma. Mipangilio hii ikizimwa, data ya maikrofoni bado inaweza ikashirikiwa unapopiga namba ya dharura"</string> </resources> diff --git a/PermissionController/res/values-sw-watch/strings.xml b/PermissionController/res/values-sw-watch/strings.xml index b23b8b022..e6eb0999d 100644 --- a/PermissionController/res/values-sw-watch/strings.xml +++ b/PermissionController/res/values-sw-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Haiwezi kubadilishwa"</string> <string name="generic_yes" msgid="2489207724988649846">"Ndiyo"</string> <string name="generic_cancel" msgid="2631708607129269698">"Ghairi"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Muda wote"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Unapotumia programu"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Muda wote"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Unapotumia programu"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Muda wote"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Unapotumia programu"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Muda wote"</string> </resources> diff --git a/PermissionController/res/values-sw/strings.xml b/PermissionController/res/values-sw/strings.xml index 689ed6f9e..8262d87c9 100644 --- a/PermissionController/res/values-sw/strings.xml +++ b/PermissionController/res/values-sw/strings.xml @@ -67,7 +67,7 @@ <string name="review_permission_decisions" msgid="309559429150613632">"Uamuzi wa ruhusa wa hivi majuzi"</string> <string name="review_permission_decisions_view_all" msgid="90391040431566130">"Angalia uamuzi wa ruhusa zote za hivi majuzi"</string> <string name="review_permission_decisions_empty" msgid="8120775336417279806">"Hakuna uamuzi wa ruhusa wa hivi majuzi"</string> - <string name="auto_permission_manager_summary" msgid="9157438376234301354">"Dhibiti ufikiaji wa data kwenye kalenda, rekodi za nambari za simu na zaidi"</string> + <string name="auto_permission_manager_summary" msgid="9157438376234301354">"Dhibiti ufikiaji wa data kwenye kalenda, rekodi za namba za simu na zaidi"</string> <string name="granted_permission_decision" msgid="7824827491551861365">"Umeipa <xliff:g id="APP_NAME">%1$s</xliff:g> ruhusa ya kufikia <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="denied_permission_decision" msgid="5308961501779563781">"Umeinyima <xliff:g id="APP_NAME">%1$s</xliff:g> ruhusa ya kufikia <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Leo}=1{Siku moja iliyopita}other{Siku # zilizopita}}"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Ruhusa zote"</string> <string name="other_permissions" msgid="2901186127193849594">"Uwezo mwingine wa programu"</string> <string name="permission_request_title" msgid="8790310151025020126">"Ombi la idhini"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Huduma ya Android Wear haiwezi kutekeleza vitendo vya Kusakinisha au Kuondoa vipengee."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Chagua vipengee ambavyo unaruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> imesasishwa. Chagua vipengee unavyoruhusu programu hii ifikie."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Ghairi"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Ruhusu zote kila wakati"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Uliza kila wakati"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Usiruhusu"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Eneo mahususi"</string> <string name="approximate_image_description" msgid="938803699637069884">"Mahali palipokadiriwa"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Tumia eneo mahususi"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Wakati umezima eneo mahususi, programu zinaweza kufikia eneo lako lililokadiriwa"</string> <string name="app_permission_title" msgid="2090897901051370711">"Ruhusa ya <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Idhini ya programu hii kufikia <xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Ufikaiji wa <xliff:g id="PERM">%1$s</xliff:g> katika programu hii kwenye <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Angalia ruhusa zote za <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Angalia programu zote zenye ruhusa hii"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Onyesha matumizi ya maikrofoni ya mratibu"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ondoa ruhusa ikiwa programu haitumiki"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ondoa ruhusa na upate nafasi"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Simamisha shughuli kwenye programu ikiwa haitumiki"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Dhibiti programu iwapo haitumiki"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Ondoa ruhusa, futa faili za muda na usitishe arifa"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Ondoa ruhusa, futa faili za muda, komesha arifa na uweke programu kwenye kumbukumbu"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Ili kulinda data yako, ruhusa za programu hii zitaondolewa programu isipotumika kwa miezi michache."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ili kulinda data yako, programu isipotumika kwa miezi michache, ruhusa zifuatazo zitaondolewa: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Ili kulinda data yako, ruhusa zimeondolewa kwenye programu ambazo hujatumia kwa miezi michache."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Zinazoruhusiwa kudhibiti faili zote"</string> <string name="ask_header" msgid="2633816846459944376">"Uliza kila wakati"</string> <string name="denied_header" msgid="903209608358177654">"Zisizoruhusiwa"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> kwenye <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Angalia programu zaidi zinazoweza kufikia faili zote"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{Siku moja}other{Siku #}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{Saa #}other{Saa #}}"</string> @@ -365,7 +369,7 @@ <string name="role_dialer_search_keywords" msgid="3324448983559188087">"kipiga simu"</string> <string name="role_sms_label" msgid="8456999857547686640">"Programu chaguomsingi ya SMS"</string> <string name="role_sms_short_label" msgid="4371444488034692243">"Programu ya SMS"</string> - <string name="role_sms_description" msgid="3424020199148153513">"Programu zinazokuruhusu kutumia nambari yako ya simu kutuma na kupokea ujumbe mfupi, picha, video na zaidi"</string> + <string name="role_sms_description" msgid="3424020199148153513">"Programu zinazokuruhusu kutumia namba yako ya simu kutuma na kupokea ujumbe mfupi, picha, video na zaidi"</string> <string name="role_sms_request_title" msgid="7953552109601185602">"Ungependa kuweka <xliff:g id="APP_NAME">%1$s</xliff:g> iwe programu yako chaguomsingi ya SMS?"</string> <string name="role_sms_request_description" msgid="2691004766132144886">"Programu hii itapewa uwezo wa kufikia Kamera, Anwani, Faili na maudhui, Maikrofoni, Simu na SMS kwenye kifaa chako"</string> <string name="role_sms_search_keywords" msgid="8022048144395047352">"SMS, kutuma SMS, ujumbe, kutuma ujumbe"</string> @@ -383,12 +387,12 @@ <string name="role_home_search_keywords" msgid="3830755001192666285">"kifungua programu"</string> <string name="role_call_redirection_label" msgid="5785304207206147590">"Programu chaguomsingi ya kuelekeza simu kwingine"</string> <string name="role_call_redirection_short_label" msgid="7568143419571217757">"Programu ya kuelekeza simu"</string> - <string name="role_call_redirection_description" msgid="6091669882014664420">"Programu zinazokuruhusu usambaze simu unazopiga kwenye nambari nyingine ya simu"</string> + <string name="role_call_redirection_description" msgid="6091669882014664420">"Programu zinazokuruhusu usambaze simu unazopiga kwenye namba nyingine ya simu"</string> <string name="role_call_redirection_request_title" msgid="2816244455003562925">"Je, ungependa kuweka <xliff:g id="APP_NAME">%1$s</xliff:g> iwe programu yako chaguomsingi ya kuelekeza simu kwingine?"</string> <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Hakuna ruhusa zinazohitajika"</string> <string name="role_call_screening_label" msgid="883935222060878724">"Kutambua taka na anayepiga: programu msingi"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"Kutambua anayepiga na taka"</string> - <string name="role_call_screening_description" msgid="2349431420497468981">"Programu zinazokuruhusu utambue simu zinazoingia na kuzuia taka, simu zinazopigwa kiotomatiki au nambari zisizohitajika"</string> + <string name="role_call_screening_description" msgid="2349431420497468981">"Programu zinazokuruhusu utambue simu zinazoingia na kuzuia taka, simu zinazopigwa kiotomatiki au namba zisizohitajika"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Je, ungependa kuweka <xliff:g id="APP_NAME">%1$s</xliff:g> iwe programu chaguomsingi ya kukagua kitambulisho cha anayepiga na taka?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Hakuna ruhusa zinazohitajika"</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Programu chaguomsingi ya maelekezo"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Programu ya madokezo"</string> <string name="role_notes_description" msgid="8496852798616883551">"Programu zinazokuruhusu uandike madokezo kwenye kifaa chako"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"madokezo"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Programu chaguomsingi ya pochi"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Programu ya pochi"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Unaweza kuhifadhi kadi zako za mikopo na za kutuza uaminifu, funguo za magari na mengine kwenye programu za Pochi ili kukusaidia kufanya miamala mbalimbali."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Ungependa kuweka <xliff:g id="APP_NAME">%1$s</xliff:g> iwe programu yako chaguomsingi ya pochi?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Hakuna ruhusa zinazohitajika"</string> <string name="request_role_current_default" msgid="738722892438247184">"Chaguomsingi ya sasa"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Isiniulize tena"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Weka iwe chaguomsingi"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Chaguomsingi zaidi"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Kufungua viungo"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Programu chaguomsingi kazini"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Programu chaguomsingi za sehemu ya faragha"</string> <string name="default_app_none" msgid="9084592086808194457">"Hakuna"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Programu chaguomsingi ya mfumo)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Hakuna programu"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Onyesha utambuzi wa kuwashwa/kuzimwa kwa mratibu"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Onyesha aikoni kwenye sehemu ya kuonyesha hali wakati maikrofoni inatumika kuwasha kipengele cha maagizo ya sauti"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na maudhui kwenye kifaa chako?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na maudhui kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na maudhui kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie anwani zako?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie anwani zako kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie anwani zako kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie mahali kilipo kifaa hiki?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie maelezo ya mahali ya <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie maelezo ya mahali <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ilipo?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Programu itafikia data ya mahali ulipo unapoitumia tu"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie mahali kilipo kifaa hiki?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie maelezo ya mahali ya <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> yako?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie maelezo ya mahali <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ilipo?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Huenda programu hii ikataka kufikia maelezo ya mahali ulipo kila wakati, hata wakati huitumii."<annotation id="link">"Iruhusu katika mipangilio."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Ungependa kubadilisha ruhusa za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> za kufikia maelezo ya mahali?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Ungependa kubadilisha idhini ya kufikia maelezo ya mahali ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Ungependa kubadilisha idhini ya kufikia maelezo ya mahali ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Programu hii inataka kufikia maelezo ya mahali ulipo kila wakati, hata wakati huitumii."<annotation id="link">"Iruhusu katika mipangilio."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itafute, iunganishe kwenye na ibaini mahali vilipo vifaa vilivyo karibu?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itafute, iunganishe na kubaini nafasi ya makadirio ya vifaa vilivyo karibu kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itafute, iunganishe na kubaini nafasi ya makadirio ya vifaa vilivyo karibu kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itafute, iunganishe kwenye na ibaini mahali vilipo vifaa vilivyo karibu? "<annotation id="link">"Ruhusu katika mipangilio."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Ungependa kubadilisha ufikiaji wa maelezo ya mahali kwenye <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> kutoka eneo lililokadiriwa utumie eneo mahususi?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Ungependa kubadilisha ufikiaji wa maelezo ya mahali ya <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako kutoka makadirio kuwa mahususi?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Ungependa kubadilisha idhini ya <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ya kufikia maelezo ya mahali kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> kutoka makadirio kuwa mahususi?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie mahali palipokadiriwa kilipo kifaa hiki?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie maelezo ya mahali pa kukadiria pa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie eneo linalokadiriwa la <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Mahususi"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Palipokadiriwa"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie kalenda yako?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie kalenda yako kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie kalenda yako kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itume na ione ujumbe wa SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> itume na kuona ujumbe wa SMS kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie na itume ujumbe wa SMS kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Ungependa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha, maudhui na faili kwenye kifaa chako?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha, maudhui na faili kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha, maudhui na faili kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie <b>picha, video, muziki na sauti</b> kwenye kifaa hiki?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie <b>picha, video, muziki, sauti na faili zingine</b> kwenye kifaa hiki?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie muziki na sauti kwenye kifaa hiki?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie muziki na sauti kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie muziki na sauti kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video kwenye kifaa hiki?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video zaidi kwenye kifaa hiki?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video zaidi kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie picha na video zaidi kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kurekodi sauti?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> irekodi sauti kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> irekodi sauti kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Programu itaweza kurekodi sauti unapoitumia tu"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> irekodi sauti?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> irekodi sauti kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> irekodi sauti kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Huenda programu hii ikataka kurekodi sauti kila wakati, hata wakati huitumii."<annotation id="link">"Ruhusu katika mipangilio."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Ungependa kubadilisha ruhusa za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> za kufikia maikrofoni?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Ungependa kubadilisha idhini ya maikrofoni ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Ungependa kubadilisha idhini ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ya kufikia maikrofoni kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Programu hii inataka kurekodi sauti kila wakati, hata wakati huitumii."<annotation id="link">"Ruhusu katika mipangilio."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie shughuli zako za kimwili?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie shughuli yako ya mazoezi ya mwili kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie shughuli yako ya mazoezi ya mwili kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kupiga picha na kurekodi video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige picha na kurekodi video kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige picha na kurekodi video kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Programu itaweza kupiga picha na kurekodi video unapoitumia tu"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige picha na kurekodi video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige picha na kurekodi video kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige picha na kurekodi video kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Huenda programu hii ikataka kupiga picha na kurekodi video kila wakati, hata wakati huitumii."<annotation id="link">"Ruhusu katika mipangilio."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Ungependa kubadilisha ruhusa za <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> za kufikia kamera?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Ungependa kubadilisha idhini ya kufikia ya kamera ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Ungependa kubadilisha idhini ya kufikia kamera ya <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Programu hii inataka kupiga picha na kurekodi video kila wakati, hata wakati huitumii."<annotation id="link">"Ruhusu katika mipangilio."</annotation></string> - <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie rekodi zako za nambari za simu?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie rekodi za nambari za simu yako kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie rekodi zako za namba za simu?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie rekodi zako za namba za simu kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> kupiga na kudhibiti simu?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige na kudhibiti simu kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ipige na kudhibiti simu kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi kuhusu viashiria muhimu vya mwili wako?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi inayohusu viashiria muhimu vya mwili wako kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi inayohusu viashiria muhimu vya mwili wako kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Programu hii inataka kufikia data ya vitambuzi ya viashiria muhimu vya mwili wako kila wakati, hata wakati huitumii. Ili ufanye mabadiliko haya, "<annotation id="link">"nenda kwenye mipangilio."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi inayohusu viashiria muhimu vya mwili wako?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi inayohusu viashiria muhimu vya mwili wako kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi inayohusu viashiria muhimu vya mwili wako kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Ili uruhusu programu hii ifikie data ya vitambuzi vya shughuli za mwili kila wakati, hata wakati hutumii programu, "<annotation id="link">"nenda kwenye mipangilio."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Ungependa kuendelea kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi vya shughuli za mwili wakati programu inatumika?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Ungependa kuendelea kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi shughuli za mwili kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako wakatii programu inatumika?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Ungependa kuendelea kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifikie data ya vitambuzi vya shughuli za mwili kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> wakati programu inatumika?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Ungependa kuruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ikutumie arifa?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ikutumie arifa kwenye <b><xliff:g id="DEVICE">%2$s</xliff:g></b> yako?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Ungependa kuiruhusu <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ikutumie arifa kwenye <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Ruhusa zinazodhibitiwa"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ina idhini ya kufikia maelezo ya mahali kilipo kifaa"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Shirika lako limeruhusu <xliff:g id="APP_NAME">%1$s</xliff:g> kufikia maelezo ya mahali kilipo kifaa chako"</string> @@ -541,14 +551,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Hamna"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Saa 24\nzilizopita"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Siku\nsaba zilizopita"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> asilimia <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> inalindwa na Android. Kwa sababu data yako inachakatwa kwenye kifaa hiki, matumizi ya ruhusa ya programu hii hayaonyeshwi kwenye sehemu ya kuonyesha hali au dashibodi yako ya faragha."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> inalindwa na Android. Kwa sababu data yako inachakatwa kwenye kifaa hiki, matumizi ya ruhusa ya programu hii hayaonyeshwi kwenye dashibodi yako ya faragha."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Kamera ya kifaa imezuiwa"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"Maikrofoni ya kifaa imezuiwa"</string> <string name="blocked_location_title" msgid="2005608279812892383">"Utambuzi wa mahali kifaa kilipo umezimwa"</string> <string name="blocked_sensor_summary" msgid="4443707628305027375">"Kwa ajili ya programu na huduma"</string> - <string name="blocked_mic_summary" msgid="8960466941528458347">"Huenda bado data ya maikrofoni ikashirikiwa unapopigia nambari ya dharura."</string> + <string name="blocked_mic_summary" msgid="8960466941528458347">"Huenda bado data ya maikrofoni ikashirikiwa unapopigia namba ya dharura."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Badilisha"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Idhini ya kufikia kamera imezimwa"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Kwa programu za habari na burudani"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Kwa programu zinazotakiwa kuwepo"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Programu hii inatakiwa kuwepo"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Mtengenezaji wa gari lako anataka programu hii iwepo"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Usalama na faragha"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Kagua kifaa"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Ondoa"</string> @@ -609,7 +625,7 @@ <string name="camera_toggle_title" msgid="1251201397431837666">"Ufikiaji wa kamera"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"Ufikiaji wa maikrofoni"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Kwenye programu na huduma"</string> - <string name="mic_toggle_description" msgid="9163104307990677157">"Kwenye programu na huduma. Mipangilio hii ikizimwa, huenda data ya maikrofoni ikaendelea kushirikiwa unapopiga nambari ya dharura."</string> + <string name="mic_toggle_description" msgid="9163104307990677157">"Kwenye programu na huduma. Mipangilio hii ikizimwa, huenda data ya maikrofoni ikaendelea kushirikiwa unapopiga namba ya dharura."</string> <string name="location_settings_subtitle" msgid="2328360561197430695">"Angalia huduma na programu zenye uwezo wa kufikia mipangilio ya mahali"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Onyesha ufikiaji wa ubao wa kunakili"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Onyesha ujumbe programu zinapofikia maandishi, picha au maudhui mengine uliyonakili"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Masasisho ya kushiriki data"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Baadhi ya programu zimebadilisha jinsi zinavyoweza kushiriki data ya mahali ulipo"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Mipangilio"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Kilifunguliwa <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Kilifunguliwa jana <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Kilifunguliwa <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Nenosiri lako la wakati mmoja ni 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Mipangilio imezuiwa"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ili kulinda usalama wako, mipangilio hii haipatikani kwa sasa."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Programu haijapewa idhini ya kufikia <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Programu imeomba kufikia ruhusa nyeti, hali ambayo inaweza kuhatarisha maelezo yako ya kifedha na ya binafsi.<xliff:g id="ID_1"><br><br></xliff:g>Kuna uwezekano kuwa programu haitafanya kazi vizuri bila ruhusa hii inayodhibitiwa. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Pata maelezo kuhusu jinsi ya kuruhusu ufikiaji</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Programu haijapewa idhini ya kuwa <xliff:g id="ROLE_NAME">%1$s</xliff:g> chaguomsingi"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Programu imeomba kufikia ruhusa nyeti, hali ambayo inaweza kuhatarisha maelezo yako ya kifedha na ya binafsi.<xliff:g id="ID_1"><br><br></xliff:g>Kuna uwezekano kuwa programu haitafanya kazi vizuri bila ruhusa hii inayodhibitiwa. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Pata maelezo kuhusu jinsi ya kuruhusu ufikiaji</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Programu haijapewa idhini"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Ufikiaji wa ruhusa hii unaweza kuhatarisha maelezo yako ya kifedha na ya binafsi.<xliff:g id="ID_1"><br><br></xliff:g>Kuna uwezekano kuwa programu haitafanya kazi vizuri bila ruhusa hii inayodhibitiwa. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Pata maelezo kuhusu jinsi ya kuruhusu ufikiaji</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Pata maelezo zaidi"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Sawa"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Ombi la ruhusa limezuiwa"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Programu hii inaomba ruhusa za ziada. Hata hivyo, huwezi kutoa ruhusa ukitiririsha. Ruhusu kwenye simu yako kwanza."</string> </resources> diff --git a/PermissionController/res/values-ta-v34/strings.xml b/PermissionController/res/values-ta-v34/strings.xml index b92b9a184..593225811 100644 --- a/PermissionController/res/values-ta-v34/strings.xml +++ b/PermissionController/res/values-ta-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"உடல் ஆரோக்கியத் தரவுக்கான ஆப்ஸ் அணுகலை நிர்வகிக்கலாம்"</string> <string name="location_settings" msgid="8863940440881290182">"இருப்பிட அணுகல்"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ஆப்ஸ் மற்றும் சேவைகளுக்கு. இந்த அமைப்பு முடக்கப்பட்டிருந்தாலும் அவசர உதவி எண்ணை நீங்கள் அழைக்கும்போது மைக்ரோஃபோன் தரவு பகிரப்படலாம்"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ஆப்ஸ் & சேவைகளுக்கு"</string> </resources> diff --git a/PermissionController/res/values-ta-watch/strings.xml b/PermissionController/res/values-ta-watch/strings.xml index 8ba5ec786..51073c144 100644 --- a/PermissionController/res/values-ta-watch/strings.xml +++ b/PermissionController/res/values-ta-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"மாற்ற இயலாது"</string> <string name="generic_yes" msgid="2489207724988649846">"சரி"</string> <string name="generic_cancel" msgid="2631708607129269698">"வேண்டாம்"</string> + <string name="permission_access_always" msgid="2107115233573823032">"எப்போதும்"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ஆப்ஸைப் பயன்படுத்தும்போது"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"எப்போதும்"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ஆப்ஸைப் பயன்படுத்தும்போது"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"எப்போதும்"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ஆப்ஸைப் பயன்படுத்தும்போது"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"எப்போதும்"</string> </resources> diff --git a/PermissionController/res/values-ta/strings.xml b/PermissionController/res/values-ta/strings.xml index 70d71f31b..faa721118 100644 --- a/PermissionController/res/values-ta/strings.xml +++ b/PermissionController/res/values-ta/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"அனைத்து அனுமதிகளும்"</string> <string name="other_permissions" msgid="2901186127193849594">"ஆப்ஸிற்கான பிற அனுமதிகள்"</string> <string name="permission_request_title" msgid="8790310151025020126">"அனுமதி கோரிக்கை"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"நிறுவல்/நிறுவல் நீக்குதலை Wearரில் செய்ய இயலாது."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> எவற்றையெல்லாம் அணுகலாம் என்பதைத் தேர்வுசெய்யவும்"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> புதுப்பிக்கப்பட்டது. இந்த ஆப்ஸ் எவற்றையெல்லாம் அணுகலாம் என்பதைத் தேர்வுசெய்யவும்."</string> <string name="review_button_cancel" msgid="2191147944056548886">"வேண்டாம்"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"எப்போதும் அனைத்தையும் அனுமதி"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ஒவ்வொரு முறையும் கேள்"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"அனுமதிக்க வேண்டாம்"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"துல்லியமான இருப்பிடம்"</string> <string name="approximate_image_description" msgid="938803699637069884">"தோராயமான இருப்பிடம்"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"துல்லியமான இருப்பிடத்தைப் பயன்படுத்து"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"துல்லியமான இருப்பிடம் ஆஃப் செய்யப்பட்டிருக்கும்போது உங்கள் தோராயமான இருப்பிடத்தை ஆப்ஸ் அணுகலாம்"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> என்பதற்கான அனுமதி"</string> <string name="app_permission_header" msgid="2951363137032603806">"இந்த ஆப்ஸிற்கு <xliff:g id="PERM">%1$s</xliff:g> அணுகல்"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> சாதனத்தில் இந்த ஆப்ஸுக்கான <xliff:g id="PERM">%1$s</xliff:g> அணுகல்"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"அனைத்து <xliff:g id="APP">%1$s</xliff:g> அனுமதிகளையும் காட்டு"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"இந்த அனுமதியைக் கொண்டுள்ள அனைத்து ஆப்ஸையும் காட்டு"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"அசிஸ்டண்ட் மைக்ரோஃபோன் உபயோகத்தைக் காட்டு"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"இந்த ஆப்ஸ் பயன்படுத்தப்படவில்லை என்றால் அனுமதிகளை அகற்றவும்"</string> <string name="unused_apps_label" msgid="2595428768404901064">"அனுமதிகளை அகற்றி இடத்தைக் காலியாக்கு"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"செயலில் இல்லாதபோது ஆப்ஸை இடைநிறுத்துதல்"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ஆப்ஸைப் பயன்படுத்தாதபோது நிர்வகித்தல்"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"அனுமதிகளை அகற்றும், தற்காலிக ஃபைல்களை நீக்கும், அறிவிப்புகளை நிறுத்தும்"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"அனுமதிகளை அகற்றும், தற்காலிக ஃபைல்களை நீக்கும், அறிவிப்புகளை நிறுத்தும், ஆப்ஸைக் காப்பிடும்"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"இந்த ஆப்ஸைச் சில மாதங்கள் பயன்படுத்தவில்லை என்றால் உங்கள் தரவைப் பாதுகாப்பதற்காக இதற்கான அனுமதிகள் அகற்றப்படும்."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"இந்த ஆப்ஸைச் சில மாதங்கள் பயன்படுத்தவில்லை என்றால் உங்கள் தரவைப் பாதுகாப்பதற்காக பின்வரும் அனுமதிகள் அகற்றப்படும்: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"உங்கள் தரவைப் பாதுகாப்பதற்காக, கடந்த சில மாதங்களில் நீங்கள் பயன்படுத்தாத ஆப்ஸில் இருந்து அனுமதிகள் அகற்றப்பட்டன."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"எல்லா ஃபைல்களையும் நிர்வகிக்கும் அணுகலுள்ளவை"</string> <string name="ask_header" msgid="2633816846459944376">"ஒவ்வொரு முறையும் கேள்"</string> <string name="denied_header" msgid="903209608358177654">"அனுமதிக்கப்படாதவை"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> சாதனத்தில் <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"அனைத்து ஃபைல்களையும் அணுகக்கூடிய கூடுதல் ஆப்ஸைப் பாருங்கள்"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 நாள்}other{# நாட்கள்}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# மணிநேரம்}other{# மணிநேரம்}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"குறிப்பு எடுப்பதற்கான ஆப்ஸ்"</string> <string name="role_notes_description" msgid="8496852798616883551">"உங்கள் சாதனத்தில் குறிப்புகள் எடுக்க அனுமதிக்கும் ஆப்ஸ்"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"குறிப்புகள்"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"இயல்புநிலை வாலட் ஆப்ஸ்"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"வாலட் ஆப்ஸ்"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"பல்வேறு வகையான பரிமாற்றங்கள் தொடர்பாக உங்களுக்கு உதவ கிரெடிட் கார்டுகள், லாயல்டி கார்டுகள், கார் சாவிகள் மற்றும் பிறவற்றை வாலட் ஆப்ஸில் சேமிக்கலாம்."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸை உங்கள் இயல்புநிலை வாலட் ஆப்ஸாக அமைக்கவா?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"அனுமதிகள் தேவையில்லை"</string> <string name="request_role_current_default" msgid="738722892438247184">"தற்போதைய இயல்பான ஆப்ஸ்"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"மீண்டும் கேட்காதே"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"இயல்பு ஆப்ஸாக அமை"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"கூடுதல் இயல்புநிலைகள்"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"இணைப்புகளைத் திறத்தல்"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"பணிக்கான இயல்பு நிலை ஆப்ஸ்"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ரகசிய இடத்திற்கான இயல்பு"</string> <string name="default_app_none" msgid="9084592086808194457">"ஏதுமில்லை"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(சிஸ்டத்தின் இயல்புநிலை)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ஆப்ஸ் இல்லை"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"அசிஸ்டண்ட் இயக்கப்படுவதைக் கண்டறியும் ஐகானைக் காட்டு"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"குரல் உதவியை இயக்க மைக்ரோஃபோனைப் பயன்படுத்தும்போது நிலைப் பட்டியில் ஐகானைக் காட்டு"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"இந்தச் சாதனத்திலுள்ள படங்களையும் மீடியாவையும் அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திலுள்ள படங்களையும் மீடியாவையும் அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் படங்கள் மற்றும் மீடியாவிற்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"தொடர்புகளை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் தொடர்புகளை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உங்கள் தொடர்புகளுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"இந்தச் சாதன இருப்பிடத்தை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"உங்கள் <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தின் இருப்பிடத்தை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தின் இருப்பிடத்திற்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"இந்த ஆப்ஸை நீங்கள் உபயோகிக்கும்போது மட்டுமே இருப்பிடத்தை அணுகும்"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"இந்தச் சாதனத்தின் இருப்பிடத்தை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"உங்கள் <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> சாதனத்தின் இருப்பிடத்தை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தின் இருப்பிடத்திற்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"இந்த ஆப்ஸை நீங்கள் பயன்படுத்தாதபோதும்கூட உங்கள் இருப்பிடத்தை எந்நேரமும் அணுக இது விரும்பக்கூடும். "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸிற்கு இருப்பிட அணுகலை மாற்றவா?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான இருப்பிட அணுகலை மாற்றவா?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான இருப்பிட அணுகலை மாற்றவா?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"இந்த ஆப்ஸை நீங்கள் பயன்படுத்தாதபோதும்கூட உங்கள் இருப்பிடத்தை எந்நேரமும் அணுக இது விரும்பக்கூடும். "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"அருகிலுள்ள சாதனங்களைக் கண்டறியவும் அவற்றுடன் இணையவும் அவற்றின் தூரத்தைத் தீர்மானிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இன் அருகிலுள்ள சாதனங்களைக் கண்டறியவும், அவற்றுடன் இணையவும், அவற்றின் தூரத்தைத் தீர்மானிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தின் அருகிலுள்ள சாதனங்களைக் கண்டறியவும் அவற்றுடன் இணையவும் அவற்றின் தூரத்தைத் தீர்மானிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"அருகிலுள்ள சாதனங்களைக் கண்டறியவும் அவற்றுடன் இணையவும் அவற்றின் தூரத்தைத் தீர்மானிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா? "<annotation id="link">"அமைப்புகளில் அனுமதி."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ஆப்ஸின் இருப்பிட அணுகலைத் தோராயத்திலிருந்து துல்லியத்திற்கு மாற்றவா?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ஆப்ஸின் இருப்பிட அணுகலைத் தோராயமானதிலிருந்து துல்லியமானதாக மாற்றவா?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ஆப்ஸின் இருப்பிட அணுகலைத் தோராயத்திலிருந்து துல்லியத்திற்கு மாற்றவா?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"இந்தச் சாதனத்தின் தோராயமான இருப்பிடத்தை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தின் தோராயமான இருப்பிடத்தை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தின் தோராய இருப்பிடத்திற்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"துல்லியமானது"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"தோராயமானது"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"கேலெண்டரை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் கேலெண்டரை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உங்கள் கேலெண்டருக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"மெசேஜ்களை அனுப்பவும், பார்க்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் மெசேஜ்களை அனுப்பவும் பார்க்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் மெசேஜ்களை அனுப்பவும் பார்க்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"உங்கள் சாதனத்திலுள்ள படங்கள், மீடியா, ஃபைல்கள் ஆகியவற்றை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திலுள்ள படங்கள், மீடியா, ஃபைல்கள் ஆகியவற்றை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் படங்கள், மீடியா, ஃபைல்கள் ஆகியவற்றுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"சாதனத்திலுள்ள <b>படங்கள், வீடியோக்கள், இசை & ஆடியோவுக்கான</b> அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"சாதனத்திலுள்ள <b>படம், வீடியோ, இசை, ஆடியோ & பிற ஃபைல்களின்</b> அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"இந்தச் சாதனத்திலுள்ள இசை மற்றும் ஆடியோவுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திலுள்ள இசையையும் ஆடியோவையும் அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் இசை மற்றும் ஆடியோவுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"இந்தச் சாதனத்திலுள்ள படங்கள் மற்றும் வீடியோக்களுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திலுள்ள படங்களையும் வீடியோக்களையும் அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் படங்கள் மற்றும் வீடியோக்களுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"இந்தச் சாதனத்திலுள்ள கூடுதல் படங்கள் மற்றும் வீடியோக்களுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திலுள்ள கூடுதல் படங்களையும் வீடியோக்களையும் அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் கூடுதல் படங்கள் மற்றும் வீடியோக்களுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ஆடியோ ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் ஆடியோ ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் ஆடியோவை ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"இந்த ஆப்ஸை நீங்கள் உபயோகிக்கும்போது மட்டுமே ஆடியோ ரெக்கார்டு செய்யும்"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ஆடியோ ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் ஆடியோ ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் ஆடியோவை ரெக்கார்டு செய்ய <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"இந்த ஆப்ஸை உபயோகிக்காத போதும்கூட எந்நேரமும் ஆடியோ ரெக்கார்டு செய்ய அனுமதி கேட்கக்கூடும். "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான மைக்ரோஃபோன் அணுகலை மாற்றவா?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான மைக்ரோஃபோன் அணுகலை மாற்றவா?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான மைக்ரோஃபோன் அணுகலை மாற்றவா?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"இந்த ஆப்ஸை உபயோகிக்காத போதும்கூட எந்நேரமும் ஆடியோ ரெக்கார்டு செய்ய அனுமதி கேட்கிறது. "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"உடல் செயல்பாட்டைக் கண்காணிக்க <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் உடல் செயல்பாட்டை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உங்கள் உடல் செயல்பாட்டிற்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் படங்களை எடுக்கவும் வீடியோவை ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"இந்த ஆப்ஸை நீங்கள் உபயோகிக்கும்போது மட்டுமே படங்கள் எடுக்கும், வீடியோ ரெக்கார்டு செய்யும்"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் படங்களை எடுக்கவும் வீடியோவை ரெக்கார்டு செய்யவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"இந்த ஆப்ஸை உபயோகிக்காத போதும்கூட எந்நேரமும் படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் அனுமதி கேட்கக்கூடும். "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான கேமரா அணுகலை மாற்றவா?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான கேமரா அணுகலை மாற்றவா?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கான கேமரா அணுகலை மாற்றவா?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"இந்த ஆப்ஸை உபயோகிக்காத போதும்கூட எந்நேரமும் படங்கள் எடுக்கவும் வீடியோ ரெக்கார்டு செய்யவும் அனுமதி கேட்கிறது. "<annotation id="link">"அமைப்புகளில் அனுமதிக்கவும்."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"உங்கள் மொபைல் அழைப்புப் பதிவுகளை அணுக, <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்தில் மொபைல் அழைப்புப் பதிவுகளை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உங்கள் மொபைல் அழைப்புப் பதிவுகளுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"மொபைல் அழைப்புகள் செய்யவும், அவற்றை நிர்வகிக்கவும், <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் மொபைல் அழைப்புகள் செய்யவும், அவற்றை நிர்வகிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் மொபைல் அழைப்புகளைச் செய்யவும் அவற்றை நிர்வகிக்கவும் <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"உங்கள் உடலியக்கக் குறிகள் பற்றிய சென்சார் தரவை அணுகுவதற்கு <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் உடல் இயக்க அளவீடுகள் குறித்த சென்சார் தரவை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உடல் இயக்க அளவீடுகள் பற்றிய சென்சார் தரவுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ஆப்ஸைப் பயன்படுத்தாதபோதும் உங்கள் உடலியக்க அளவீடுகள் பற்றிய சென்சார் தரவை எப்போதும் அணுக இந்த ஆப்ஸ் விரும்புகிறது. இந்த மாற்றத்தைச் செய்ய "<annotation id="link">"அமைப்புகளுக்குச் செல்லுங்கள்."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"உடலியக்க அளவீடுகள் பற்றிய சென்சார் தரவை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் உடல் இயக்க அளவீடுகள் குறித்த சென்சார் தரவை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உடல் இயக்க அளவீடுகள் பற்றிய சென்சார் தரவுக்கான அணுகலை <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸுக்கு வழங்கவா?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"இந்த ஆப்ஸ் எல்லா நேரங்களிலும் உடல் சென்சார் தரவை அணுக (நீங்கள் ஆப்ஸைப் பயன்படுத்தாதபோதும்) "<annotation id="link">"அமைப்புகளுக்குச் செல்லுங்கள்."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ஆப்ஸ் பயன்பாட்டில் இருக்கும்போது உடல் சென்சார் தரவை அணுக <b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt ஆப்ஸுக்குத் தொடர்ந்து அனுமதியளிக்கவா?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸ் உபயோகத்தில் இருக்கும்போது உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> இல் உடல் சென்சார் குறித்த தரவை அணுக தொடர்ந்து அனுமதிக்கவா?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸ் உபயோகத்தில் இருக்கும்போது <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உடல் சென்சார் தரவுக்கான அணுகலை அந்த ஆப்ஸுக்குத் தொடர்ந்து வழங்கவா?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"உங்களுக்கு அறிவிப்புகளை அனுப்ப <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"உங்கள் <b><xliff:g id="DEVICE">%2$s</xliff:g></b> சாதனத்திற்கு அறிவிப்புகளை அனுப்ப <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> சாதனத்தில் உங்களுக்கு அறிவிப்புகளை அனுப்ப <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"கட்டுப்படுத்தப்பட்ட அனுமதிகள்"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸுக்கு இருப்பிட அணுகல் உள்ளது"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"உங்கள் இருப்பிடத்தை <xliff:g id="APP_NAME">%1$s</xliff:g> அணுக உங்கள் நிறுவனம் அனுமதிக்கிறது"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"எதுவுமில்லை"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"கடந்த\n24 மணிநேரம்"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"கடந்த\n7 நாட்கள்"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> சதவீதம்"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸ் Android மூலம் பாதுகாக்கப்படுகிறது. இந்தச் சாதனத்தில் உங்கள் தரவு செயலாக்கப்படுவதால் நிலைப் பட்டியிலோ தனியுரிமை டாஷ்போர்டிலோ இந்த ஆப்ஸின் அனுமதி உபயோகம் காட்டப்படவில்லை."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸ் Android மூலம் பாதுகாக்கப்படுகிறது. இந்தச் சாதனத்தில் உங்கள் தரவு செயலாக்கப்படுவதால் தனியுரிமை டாஷ்போர்டில் இந்த ஆப்ஸின் அனுமதி உபயோகம் காட்டப்படவில்லை."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"சாதனத்தின் கேமரா தடைசெய்யப்பட்டுள்ளது"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ஆப்ஸ் & சேவைகளுக்கு"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"எனினும் அவசர உதவி எண்ணைத் தொடர்பு கொள்ளும்போது மைக்ரோஃபோன் தரவு பகிரப்படலாம்."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"மாற்று"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"கேமரா அணுகல் முடக்கப்பட்டுள்ளது"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"இன்ஃபோடெயின்மென்ட் ஆப்ஸுக்கு"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"தேவையான ஆப்ஸுக்கு"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"இந்த ஆப்ஸ் தேவை"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"இந்த ஆப்ஸ் உங்கள் காரின் உற்பத்தியாளருக்குத் தேவை"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"பாதுகாப்பு & தனியுரிமை"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"சாதனத்தை ஸ்கேன் செய்"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"நிராகரிக்கும்"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"தரவுப் பகிர்வு குறித்த அறிவிப்புகள்"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"உங்கள் இருப்பிடத் தரவைப் பகிரும் விதத்தைச் சில ஆப்ஸ் மாற்றியுள்ளன"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"அமைப்புகள்"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"அணுகிய நேரம்: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"நேற்று அணுகிய நேரம்: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"அணுகிய நேரம்: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"ஒருமுறை பயன்படுத்தப்படும் கடவுச்சொல்: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"கட்டுப்படுத்தப்பட்ட அமைப்பு"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"உங்கள் பாதுகாப்பிற்காக, இந்த அமைப்பு தற்போது இல்லை."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>க்கான ஆப்ஸ் அணுகல் நிராகரிக்கப்பட்டது"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"பாதுகாக்க வேண்டிய தகவல்களுக்கான அனுமதியை வழங்க ஆப்ஸ் கேட்டுள்ளது, இது உங்கள் தனிப்பட்ட மற்றும் நிதித் தகவல்களை ஆபத்துக்குள்ளாக்கலாம்.<xliff:g id="ID_1"><br><br></xliff:g>இந்தக் கட்டுப்படுத்தப்பட்ட அனுமதி இல்லாமல் ஆப்ஸ் சரியாக வேலை செய்யாமல் போகக்கூடும். <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>எப்படி அணுகல் வழங்குவதென அறிக</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"இயல்புநிலை <xliff:g id="ROLE_NAME">%1$s</xliff:g>க்கான ஆப்ஸ் அணுகல் நிராகரிக்கப்பட்டது"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"பாதுகாக்க வேண்டிய தகவல்களுக்கான அனுமதிகளை வழங்க ஆப்ஸ் கேட்டுள்ளது, இது உங்கள் தனிப்பட்ட மற்றும் நிதித் தகவல்களை ஆபத்துக்குள்ளாக்கலாம்.<xliff:g id="ID_1"><br><br></xliff:g>இந்தக் கட்டுப்படுத்தப்பட்ட அனுமதிகள் இல்லாமல் ஆப்ஸ் சரியாக வேலை செய்யாமல் போகக்கூடும். <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>எப்படி அணுகல் வழங்குவதென அறிக</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ஆப்ஸ் அணுகல் நிராகரிக்கப்பட்டது"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"இதற்கு அனுமதி அளிப்பதனால் உங்கள் தனிப்பட்ட மற்றும் நிதித் தகவல்கள் ஆபத்துக்குள்ளாகலாம்.<xliff:g id="ID_1"><br><br></xliff:g>இந்தக் கட்டுப்படுத்தப்பட்ட அனுமதி இல்லாமல் ஆப்ஸ் சரியாக வேலை செய்யாமல் போகக்கூடும். <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>எப்படி அணுகல் வழங்குவதென அறிக</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"மேலும் அறிக"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"சரி"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"அணுகல் கோரிக்கை முடக்கப்பட்டது"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"இந்த ஆப்ஸ் கூடுதல் அனுமதிகளைக் கேட்கிறது. ஆனால் ஸ்ட்ரீமிங் அமர்வில் அனுமதிகள் வழங்கப்படாது. முதலில் உங்கள் மொபைலில் அனுமதி வழங்கவும்."</string> </resources> diff --git a/PermissionController/res/values-te-v34/strings.xml b/PermissionController/res/values-te-v34/strings.xml index c8281ea1d..f3df7f7d3 100644 --- a/PermissionController/res/values-te-v34/strings.xml +++ b/PermissionController/res/values-te-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"ఆరోగ్యానికి సంబంధించిన డేటాకు యాప్ యాక్సెస్ను మేనేజ్ చేయండి"</string> <string name="location_settings" msgid="8863940440881290182">"లొకేషన్ యాక్సెస్"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"యాప్లు, సర్వీస్ల కోసం. ఈ సెట్టింగ్ ఆఫ్ చేసి ఉన్నా కూడా, మీరు ఎమర్జెన్సీ నంబర్కు కాల్ చేసినప్పుడు మైక్రోఫోన్ డేటా షేర్ చేయబడవచ్చు"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"యాప్లు, సర్వీస్ల కోసం"</string> </resources> diff --git a/PermissionController/res/values-te-watch/strings.xml b/PermissionController/res/values-te-watch/strings.xml index dfd5af38f..57f32b8d3 100644 --- a/PermissionController/res/values-te-watch/strings.xml +++ b/PermissionController/res/values-te-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"మార్చడం సాధ్యపడదు"</string> <string name="generic_yes" msgid="2489207724988649846">"అవును"</string> <string name="generic_cancel" msgid="2631708607129269698">"రద్దు చేయండి"</string> + <string name="permission_access_always" msgid="2107115233573823032">"అన్ని సమయాలలో అనుమతించండి"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"యాప్ను వాడుతున్నప్పుడు"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"అన్ని సమయాలలో అనుమతించండి"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"యాప్ను వాడుతున్నప్పుడు"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"అన్ని సమయాలలో అనుమతించండి"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"యాప్ను వాడుతున్నప్పుడు"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"అన్ని సమయాలలో అనుమతించండి"</string> </resources> diff --git a/PermissionController/res/values-te/strings.xml b/PermissionController/res/values-te/strings.xml index 22eae448d..6615730ea 100644 --- a/PermissionController/res/values-te/strings.xml +++ b/PermissionController/res/values-te/strings.xml @@ -71,7 +71,7 @@ <string name="granted_permission_decision" msgid="7824827491551861365">"మీరు <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>కు <xliff:g id="APP_NAME">%1$s</xliff:g> యాక్సెస్ను ఇచ్చారు"</string> <string name="denied_permission_decision" msgid="5308961501779563781">"మీరు <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>కు <xliff:g id="APP_NAME">%1$s</xliff:g> యాక్సెస్ను తిరస్కరించారు"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{ఈరోజు}=1{1 రోజు క్రితం}other{# రోజుల క్రితం}}"</string> - <string name="app_disable_dlg_positive" msgid="7418444149981904940">"యాప్ను డిజేబుల్ చేయి"</string> + <string name="app_disable_dlg_positive" msgid="7418444149981904940">"యాప్ను డిజేబుల్ చేయండి"</string> <string name="app_disable_dlg_text" msgid="3126943217146120240">"మీరు ఈ యాప్ను డిజేబుల్ చేస్తే, Android మరియు ఇతర యాప్లు ఇకపై ఉద్దేశించిన రీతిలో పని చేయకపోవచ్చు. ఈ యాప్ మీ పరికరంలో ముందుగానే ఇన్స్టాల్ చేసి, అందించబడింది కాబట్టి మీరు దీనిని తొలగించలేరని గుర్తుంచుకోండి. డిజేబుల్ చేయడం ద్వారా, మీరు ఈ యాప్ను ఆఫ్ చేసి, మీ పరికరంలో దానిని దాస్తున్నారు."</string> <string name="app_permission_manager" msgid="3903811137630909550">"అనుమతి మేనేజర్"</string> <string name="never_ask_again" msgid="4728762438198560329">"మళ్లీ అడగవద్దు"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"అన్ని అనుమతులు"</string> <string name="other_permissions" msgid="2901186127193849594">"ఇతర యాప్ సామర్థ్యాలు"</string> <string name="permission_request_title" msgid="8790310151025020126">"అనుమతి రిక్వెస్ట్"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android వేర్"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wearలో ఇన్స్టాల్/అన్ఇన్స్టాల్ చర్యలకు మద్దతు లేదు."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాక్సెస్ చేయడానికి అనుమతించాల్సిన వాటిని ఎంచుకోండి"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> అప్డేట్ చేయబడింది. ఈ యాప్ యాక్సెస్ చేయడానికి అనుమతించాల్సిన వాటిని ఎంచుకోండి."</string> <string name="review_button_cancel" msgid="2191147944056548886">"రద్దు చేయండి"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"అన్నింటినీ ఎల్లవేళలా అనుమతించండి"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ప్రతిసారి అడగాలి"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"అనుమతించవద్దు"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ఖచ్చితమైన లొకేషన్"</string> <string name="approximate_image_description" msgid="938803699637069884">"సుమారు లొకేషన్"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ఖచ్చితమైన లొకేషన్ను ఉపయోగించండి"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"ఖచ్చితమైన లొకేషన్ అనే సెట్టింగ్ ఆఫ్లో ఉన్నప్పుడు, యాప్లు మీ సుమారు లొకేషన్ను యాక్సెస్ చేయగలవు"</string> <string name="app_permission_title" msgid="2090897901051370711">"\'<xliff:g id="PERM">%1$s</xliff:g>\' అనుమతి"</string> <string name="app_permission_header" msgid="2951363137032603806">"ఈ యాప్ కోసం \'<xliff:g id="PERM">%1$s</xliff:g>\' యాక్సెస్ను ఇవ్వాలా? వద్దా"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> పరికరంలో ఈ యాప్నకు <xliff:g id="PERM">%1$s</xliff:g> యాక్సెస్"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"అన్ని \'<xliff:g id="APP">%1$s</xliff:g>\' అనుమతులను చూడండి"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ఈ అనుమతి ఉన్న అన్ని యాప్లను చూడండి"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"అసిస్టెంట్ మైక్రోఫోన్ వినియోగాన్ని చూపు"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"యాప్ని ఉపయోగించకపోతే, అనుమతులను తీసివేయండి"</string> <string name="unused_apps_label" msgid="2595428768404901064">"అనుమతులను తీసివేసి స్పేస్ను ఖాళీ చేయండి"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"యాప్ను ఉపయోగించకపోతే దాని యాక్టివిటీని పాజ్ చేయండి"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"ఉపయోగించని యాప్ను మేనేజ్ చేయండి"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"అనుమతులను తీసివేయండి, తాత్కాలిక ఫైళ్లను తొలగించండి, అలాగే నోటిఫికేషన్లను ఆపివేయండి"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"అనుమతులను తీసివేయండి, తాత్కాలిక ఫైళ్లను తొలగించండి, నోటిఫికేషన్లను ఆపివేయండి, యాప్ను ఆర్కైవ్ చేయండి"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"మీ డేటాను సురక్షితంగా ఉంచడానికి, ఈ యాప్ కొన్ని నెలలుగా వినియోగంలో లేకుంటే, దాని అనుమతులు తీసివేయబడతాయి."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"మీ డేటాను సురక్షితంగా ఉంచడానికి, ఈ యాప్ కొన్ని నెలలుగా వినియోగంలో లేకుంటే, దానికి ఇచ్చిన కింది అనుమతులు తీసివేయబడతాయి: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"మీ డేటాను సురక్షితంగా ఉంచడానికి, కొన్ని నెలలుగా వినియోగంలో లేని యాప్ల అనుమతులు తీసివేయబడ్డాయి."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ఫైల్స్ అన్నింటినీ మేనేజ్ చేసేందుకు అనుమతించబడినవి"</string> <string name="ask_header" msgid="2633816846459944376">"ప్రతిసారి అడగాలి"</string> <string name="denied_header" msgid="903209608358177654">"అనుమతించబడలేదు"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>లో <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"అన్ని ఫైళ్లను యాక్సెస్ చేయగల మరిన్ని యాప్లను చూడండి"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 రోజు}other{# రోజులు}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# గంట}other{# గంటలు}}"</string> @@ -268,7 +272,7 @@ <string name="unused_apps_notification_title" msgid="4314832015894238019">"{count,plural, =1{# ఉపయోగించని యాప్}other{# ఉపయోగించని యాప్లు}}"</string> <string name="unused_apps_notification_content" msgid="9195026773244581246">"అనుమతులు, తాత్కాలిక ఫైళ్లు తీసివేయబడ్డాయి అలాగే నోటిఫికేషన్లు ఆపివేయబడ్డాయి. రివ్యూ చేయడానికి ట్యాప్ చేయండి."</string> <string name="unused_apps_safety_center_card_title" msgid="5638409355530099149">"అనుమతులు తీసివేయబడిన యాప్లను రివ్యూ చేయండి"</string> - <string name="unused_apps_safety_center_card_content" msgid="1088557243627427820">"కొంతకాలంగా మీరు ఉపయోగించని యాప్లకు సంబంధించిన అనుమతులు, తాత్కాలిక ఫైల్లు తొలగించబడ్డాయి, అలాగే నోటిఫికేషన్లు నిలిపివేయబడ్డాయి."</string> + <string name="unused_apps_safety_center_card_content" msgid="1088557243627427820">"కొంతకాలంగా మీరు ఉపయోగించని యాప్లకు సంబంధించిన అనుమతులు, తాత్కాలిక ఫైళ్లు తొలగించబడ్డాయి, అలాగే నోటిఫికేషన్లు నిలిపివేయబడ్డాయి."</string> <string name="unused_apps_safety_center_action_title" msgid="8865914432518993194">"యాప్లను రివ్యూ చేయండి"</string> <string name="post_drive_permission_decision_reminder_title" msgid="1290697371418139976">"ఇటీవలి అనుమతులను చెక్ చేయండి"</string> <string name="post_drive_permission_decision_reminder_summary_1_app_1_permission" msgid="670521503734140711">"డ్రైవింగ్లో ఉన్నప్పుడు, మీరు <xliff:g id="APP">%1$s</xliff:g> యాప్నకు <xliff:g id="PERMISSION">%2$s</xliff:g>కు యాక్సెస్ను ఇచ్చారు"</string> @@ -354,7 +358,7 @@ <string name="role_assistant_description" msgid="6622458130459922952">"సహాయక యాప్లు మీరు వీక్షిస్తున్న స్క్రీన్పై ఉన్న సమాచారం ఆధారంగా మీకు సహాయపడగలవు. కొన్ని యాప్లు మీకు సమగ్రమైన సహాయాన్ని అందించడానికి లాంచర్కు, వాయిస్ ఇన్పుట్ సర్వీసులకు రెండింటికీ సపోర్ట్ చేస్తాయి."</string> <string name="role_browser_label" msgid="2877796144554070207">"ఆటోమేటిక్ బ్రౌజర్ యాప్"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"బ్రౌజర్ యాప్"</string> - <string name="role_browser_description" msgid="3465253637499842671">"మీకు ఇంటర్నెట్ యాక్సెస్ను అందించే, అలాగే మీరు నొక్కే లింక్లను చూపించే యాప్లు"</string> + <string name="role_browser_description" msgid="3465253637499842671">"మీకు ఇంటర్నెట్కు యాక్సెస్ ఇచ్చి, ట్యాప్ చేయడానికి లింక్లను డిస్ప్లే చేసే యాప్లు"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"<xliff:g id="APP_NAME">%1$s</xliff:g>ను మీ ఆటోమేటిక్ బ్రౌజర్ యాప్గా సెట్ చేయాలా?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"అనుమతులు ఇవ్వనవసరం లేదు"</string> <string name="role_dialer_label" msgid="1100224146343237968">"ఆటోమేటిక్ ఫోన్ యాప్"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"నోట్స్ యాప్"</string> <string name="role_notes_description" msgid="8496852798616883551">"మీ పరికరంలో నోట్స్ తీసుకోవడానికి మిమ్మల్ని అనుమతించే యాప్లు"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"నోట్స్"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ఆటోమేటిక్ వాలెట్ యాప్"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"వాలెట్ యాప్"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"వాలెట్ యాప్లు మీ క్రెడిట్ను, లాయల్టీ కార్డ్లను, కార్ కీలను, ఇంకా వివిధ రకాల లావాదేవీలకు సహాయపడటానికి ఇతర వస్తువులను స్టోర్ చేయగలవు."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>ను డిఫాల్ట్ వాలెట్ యాప్గా సెట్ చేయాలా?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"అనుమతులు ఏవీ అవసరం లేదు"</string> <string name="request_role_current_default" msgid="738722892438247184">"ప్రస్తుతం ఆటోమేటిక్గా ఉంది"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"మళ్లీ అడగవద్దు"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ఆటోమేటిక్ చేయండి"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"మరిన్ని ఆటోమేటిక్ సెట్టింగ్స్"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"లింక్లను తెరవడం"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"వర్క్ ప్లేస్ కోసం ఆటోమేటిక్"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ఆటోమేటిక్గా ప్రైవేట్ స్పేస్"</string> <string name="default_app_none" msgid="9084592086808194457">"ఏదీ కాదు"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(సిస్టమ్ ఆటోమేటిక్)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ఏ యాప్ లేదు"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Assistant ట్రిగ్గర్ గుర్తింపును చూపించడం"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"వాయిస్ అసిస్టెంట్ను యాక్టివేట్ చేయడానికి మైక్రోఫోన్ను ఉపయోగించినప్పుడు, స్టేటస్ బార్లో చిహ్నాన్ని చూపు"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"మీ పరికరంలో ఫోటోలు, మీడియా ఫైళ్లను యాక్సెస్ చేయగలిగేలా <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోటోలు, మీడియాను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోటోలు, మీడియాను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"మీ కాంటాక్ట్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో కాంటాక్ట్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో మీ కాంటాక్ట్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"ఈ పరికర లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"మీ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"మీరు యాప్ను ఉపయోగిస్తున్నప్పుడు మాత్రమే లొకేషన్కు యాప్ యాక్సెస్ కలిగి ఉంటుంది"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"ఈ పరికర లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"మీ <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ఈ యాప్నకు మీ లొకేషన్ యాక్సెస్ అన్ని సమయాలలో, అంటే యాప్ను ఉపయోగించనప్పుడు కూడా, అవసరం ఉండవచ్చు. "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> కోసం లొకేషన్ యాక్సెస్ను మార్చాలా?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన లొకేషన్ యాక్సెస్ను మార్చాలా?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన లొకేషన్ యాక్సెస్ను మార్చాలా?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"మీరు యాప్ ఉపయోగించనప్పుడు కూడా ఈ యాప్ మీ లొకేషన్ను ఎప్పటికప్పుడు యాక్సెస్ చేయాలని అనుకుంటోంది."<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"సమీప పరికరాల సంబంధిత స్థానాన్ని కనుగొనడానికి, కనెక్ట్ చేయడానికి అలాగే నిర్ణయించడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో సమీప పరికరాలు కనుగొని, కనెక్ట్ అయి, వాటి దూరం అంచనా వేసేలా <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో సమీప పరికరాలు కనుగొని, కనెక్ట్ అయి, వాటి దూరం అంచనా వేసేలా <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"సమీప పరికరాల సంబంధిత స్థానాన్ని కనుగొనడానికి, కనెక్ట్ చేయడానికి అలాగే నిర్ణయించడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా? "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>కు సంబంధించిన లొకేషన్ యాక్సెస్ను సుమారు నుండి ఖచ్చితమైనదిగా మార్చాలా?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> లొకేషన్ యాక్సెస్ను రమారమి నుండి ఖచ్చితమైన లొకేషన్కు మార్చాలా?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> లొకేషన్ యాక్సెస్ను రమారమి నుండి ఖచ్చితమైన లొకేషన్కు మార్చాలా?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"ఈ పరికరానికి సంబంధించి సుమారుగా ఉన్న లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ని అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b> రమారమి లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> రమారమి లొకేషన్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"ఖచ్చితమైన"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"సుమారుగా"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"మీ క్యాలెండర్ని యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ని అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో క్యాలెండర్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో మీ క్యాలెండర్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"SMS మెసేజ్లు పంపడం, చూడటం చేయగలిగేలా <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో SMSను పంపడానికి, చూడటానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో SMS మెసేజ్లను పంపడానికి, వాటిని చూడటానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"మీ పరికరంలోని ఫోటోలు, మీడియా, ఫైళ్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోటోలు, మీడియా, ఫైల్స్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"lt;b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోటోలను, మీడియాను, ఫైల్స్ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"ఈ పరికరంలో <b>ఫోటోలు, వీడియోలు, మ్యూజిక్, ఆడియో</b>ను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"ఈపరికరంలో <b>ఫోటోలు, వీడియోలు, మ్యూజిక్, ఆడియో, ఇతర ఫైళ్ల</b> యాక్సెస్కు <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"ఈ పరికరంలో మ్యూజిక్ను, ఆడియోను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో మ్యూజిక్ను, ఆడియోను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో మ్యూజిక్ను, ఆడియోను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"ఈ పరికరంలో ఫోటోలను, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోటోలు, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోటోలను, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ఈ పరికరంలోని మరిన్ని ఫోటోలను, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో మరిన్ని ఫోటోలు, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో మరిన్ని ఫోటోలను, వీడియోలను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలా?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"మీరు యాప్ను ఉపయోగిస్తున్నప్పుడు మాత్రమే ఈ యాప్, ఆడియోను రికార్డ్ చేయగలుగుతుంది"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఆడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాప్ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"మీరు యాప్ ఉపయోగించనప్పుడు కూడా ఈ యాప్ ఎల్లప్పుడూ ఆడియోను రికార్డ్ చేయాలనుకోవచ్చు. "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> కోసం మైక్రోఫోన్ యాక్సెస్ను మార్చాలా?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన మైక్రోఫోన్ యాక్సెస్ను మార్చాలా?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన మైక్రోఫోన్ యాక్సెస్ను మార్చాలా?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"మీరు యాప్ ఉపయోగించనప్పుడు కూడా ఈ యాప్ ఎల్లప్పుడూ ఆడియోను రికార్డ్ చేయాలనుకుంటోంది. "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"మీ భౌతిక యాక్టివిటీని యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫిజికల్ యాక్టివిటీని యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫిజికల్ యాక్టివిటీని యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"ఫోటోలు తీయడానికి, వీడియో రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోటోలు తీయడానికి, వీడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోటోలను తీయడానికి, వీడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"మీరు యాప్ను ఉపయోగిస్తున్నప్పుడు మాత్రమే ఈ యాప్, ఫోటోలను తీయగలుగుతుంది, వీడియోను రికార్డ్ చేయగలుగుతుంది"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ఫోటోలు తీయడానికి, వీడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోటోలు తీయడానికి, వీడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోటోలను తీయడానికి, వీడియోను రికార్డ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"మీరు యాప్ ఉపయోగించనప్పుడు కూడా ఈ యాప్ ఎల్లప్పుడూ ఫోటోలను తీయాలనుకోవచ్చు, వీడియోను రికార్డ్ చేయాలనుకోవచ్చు. "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> కోసం కెమెరా యాక్సెస్ను మార్చాలా?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన కెమెరా యాక్సెస్ను మార్చాలా?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు సంబంధించిన కెమెరా యాక్సెస్ను మార్చాలా?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"మీరు యాప్ ఉపయోగించనప్పుడు కూడా ఈ యాప్ ఎల్లప్పుడూ ఫోటోలను తీయాలనుకుంటోంది, వీడియోను రికార్డ్ చేయాలనుకుంటోంది. "<annotation id="link">"సెట్టింగ్లలో అనుమతించండి."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"మీ ఫోన్ కాల్ లాగ్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ని అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోన్ కాల్ లాగ్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోన్ కాల్ లాగ్లను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతించాలనుకుంటున్నారా?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"ఫోన్ కాల్స్ చేయడానికి, మేనేజ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ని అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో ఫోన్ కాల్స్ చేయడానికి, మేనేజ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో ఫోన్ కాల్స్ చేయడానికి, వాటిని మేనేజ్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"మీ అత్యంత కీలకమైన గుర్తుల గురించి సెన్సార్ డేటాను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ని అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో కీలకమైన ఆరోగ్య కొలమానాల సెన్సార్ డేటా యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో కీలకమైన ఆరోగ్య కొలమానాల సెన్సార్ డేటా యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"ఈ యాప్ను మీరు ఉపయోగించని సమయంలో కూడా మీ ఆరోగ్యానికి సంబంధించి కీలకమైన కొలమానాల గురించిన సెన్సార్ డేటాను ఎల్లప్పుడూ యాక్సెస్ చేయగలిగేలా ఈ యాప్ అనుమతి కోరుతోంది. ఈ మార్పును ఆమోదించడానికి, "<annotation id="link">"సెట్టింగ్లకు వెళ్లండి."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"మీ ఆరోగ్యానికి సంబంధించి కీలకమైన కొలమానాల గురించిన సెన్సార్ డేటాను యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో కీలకమైన ఆరోగ్య కొలమానాల సెన్సార్ డేటా యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో కీలక ఆరోగ్య కొలమానాల సెన్సార్ డేటా యాక్సెస్ చేయడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"మీరు యాప్ను ఉపయోగించనప్పుడు కూడా, శరీర సెన్సార్ డేటాను ఎల్లప్పుడూ యాక్సెస్ చేయడానికి ఈ యాప్ను అనుమతించడానికి, "<annotation id="link">"సెట్టింగ్లకు వెళ్లండి."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"యాప్ను వినియోగిస్తున్నప్పుడు బాడీ సెన్సార్ డేటాను యాక్సెస్ చేయగలిగేలా <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు ఉన్న అనుమతిని కొనసాగించాలా?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"యాప్ వినియోగంలో ఉన్నప్పుడు, మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో శరీర సెన్సార్ల యాక్సెస్ కోసం <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"యాప్ ఉపయోగంలో ఉన్నప్పుడు <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో శరీర సెన్సార్ డేటాకు <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> యాక్సెస్ ఇవ్వడం కొనసాగించాలా?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"మీకు నోటిఫికేషన్లను పంపడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలా?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"మీ <b><xliff:g id="DEVICE">%2$s</xliff:g></b>లో మీకు నోటిఫికేషన్లు పంపడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>కు అనుమతినివ్వాలా?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>లో మీకు నోటిఫికేషన్లను పంపడానికి <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ను అనుమతించాలనుకుంటున్నారా?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"నియంత్రణలో ఉన్న అనుమతులు"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g>కు లొకేషన్ యాక్సెస్ ఉంది"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"మీ సంస్థ, మీ లొకేషన్ను యాక్సెస్ చేయడానికి <xliff:g id="APP_NAME">%1$s</xliff:g>నకు అనుమతి ఇస్తుంది"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ఏదీ కాదు"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"గత \n 24 గంటలు"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"గత\n7 రోజులు"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> శాతం"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android ద్వారా <xliff:g id="APP_NAME">%1$s</xliff:g> సంరక్షించబడుతోంది. మీ డేటా ఈ పరికరంలో ప్రాసెస్ చేయబడుతున్నందున, ఈ యాప్నకు సంబంధించిన అనుమతి వినియోగ సమాచారం స్టేటస్ బార్లో లేదా మీ గోప్యతా డ్యాష్బోర్డ్లో చూపబడదు."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android ద్వారా <xliff:g id="APP_NAME">%1$s</xliff:g> సంరక్షించబడుతోంది. మీ డేటా ఈ పరికరంలో ప్రాసెస్ చేయబడుతున్నందున, ఈ యాప్నకు సంబంధించిన అనుమతి వినియోగ సమాచారం మీ గోప్యతా డ్యాష్బోర్డ్లో చూపబడదు."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"పరికరం కెమెరా బ్లాక్ చేయబడింది"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"యాప్లు, సర్వీస్ల కోసం"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"మీరు ఎమర్జెన్సీ నంబర్కు కాల్ చేసినప్పుడు, మైక్రోఫోన్ డేటా ఇప్పటికీ షేర్ చేయబడవచ్చు."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"మార్చండి"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"కెమెరా యాక్సెస్ ఆఫ్లో ఉంది"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"సమాచారంతో కూడిన వినోదం యాప్ల కోసం"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"అవసరమైన యాప్ల కోసం"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"ఈ యాప్ అవసరం"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ఈ యాప్ మీ కారు తయారీదారుకు అవసరం"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"సెక్యూరిటీ & గోప్యత"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"పరికరాన్ని స్కాన్ చేయండి"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"విస్మరించండి"</string> @@ -610,9 +626,9 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"మైక్రోఫోన్ యాక్సెస్"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"యాప్లు, సర్వీస్ల కోసం"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"యాప్లు, సర్వీస్ల కోసం. ఈ సెట్టింగ్ ఆఫ్ చేయబడి ఉన్నట్లయితే, మీరు ఎమర్జెన్సీ నంబర్కు కాల్ చేసినప్పుడు మైక్రోఫోన్ డేటా ఇప్పటికీ షేర్ చేయబడవచ్చు."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"లొకేషన్కు యాక్సెస్ ఉన్న యాప్లు, సర్వీస్లను చూడండి"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"లొకేషన్ యాక్సెస్ ఉన్న యాప్లను, సర్వీస్లను చూడండి"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"క్లిప్బోర్డ్ యాక్సెస్ను చూపించండి"</string> - <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"మీరు కాపీ చేసిన టెక్స్ట్, ఇమేజ్లను లేదా ఇతర కంటెంట్ను యాప్లు యాక్సెస్ చేసినప్పుడు మెసేజ్ను చూపుతుంది"</string> + <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"మీరు కాపీ చేసిన టెక్స్ట్ను, ఇమేజ్లను లేదా ఇతర కంటెంట్ను యాప్లు యాక్సెస్ చేసినప్పుడు ఒక మెసేజ్ను చూపుతుంది"</string> <string name="show_password_title" msgid="2877269286984684659">"పాస్వర్డ్లను చూపిస్తుంది"</string> <string name="show_password_summary" msgid="1110166488865981610">"మీరు టైప్ చేస్తున్నప్పుడు అక్షరాలను క్లుప్తంగా చూపిస్తుంది"</string> <string name="permission_rationale_message_location" msgid="2153841534298068414">"ఈ యాప్, అది లొకేషన్ డేటాను థర్డ్-పార్టీలతో షేర్ చేయవచ్చని పేర్కొంది"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"డేటా షేరింగ్ అప్డేట్లు"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"కొన్ని యాప్లు మీ లొకేషన్ డేటాను షేర్ చేయగల విధానాన్ని మార్చాయి"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"సెట్టింగ్లు"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>కు యాక్సెస్ చేశారు"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"నిన్న <xliff:g id="TIME_DATE">%1$s</xliff:g>కు యాక్సెస్ చేశారు"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g>న<xliff:g id="TIME_DATE_1">%2$s</xliff:g>కు యాక్సెస్ చేశారు"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"మీ ఒకసారి ఉపయోగించగల పాస్వర్డ్ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"పరిమితం చేయబడిన సెట్టింగ్"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"మీ సెక్యూరిటీ కోసం, ఈ సెట్టింగ్ ప్రస్తుతం అందుబాటులో లేదు."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"యాప్ <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>కు యాక్సెస్ తిరస్కరించబడింది"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"మీ వ్యక్తిగత, ఆర్థిక సమాచారాన్ని ప్రమాదంలో పడేసే గోప్యమైన సమాచార యాక్సెస్ అనుమతికి యాప్ యాక్సెస్ను రిక్వెస్ట్ చేయడం జరిగింది.<xliff:g id="ID_1"><br><br></xliff:g>ఈ అదనపు అవసరాలు గల అనుమతి లేకుండా యాప్ సరిగ్గా పని చేయకపోయే అవకాశం ఉంది. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>యాక్సెస్ను అనుమతించడం ఎలాగో తెలుసుకోండి</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"యాప్ ఆటోమేటిక్ సెట్టింగ్ <xliff:g id="ROLE_NAME">%1$s</xliff:g>గా ఉండటానికి యాక్సెస్ తిరస్కరించబడింది"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"మీ వ్యక్తిగత, ఆర్థిక సమాచారాన్ని ప్రమాదంలో పడేసే గోప్యమైన సమాచార యాక్సెస్ అనుమతులకు యాప్ యాక్సెస్ను రిక్వెస్ట్ చేయడం జరిగింది.<xliff:g id="ID_1"><br><br></xliff:g>ఈ అదనపు అవసరాలు గల అనుమతులు లేకుండా యాప్ సరిగ్గా పని చేయకపోయే అవకాశం ఉంది. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>యాక్సెస్ను అనుమతించడం ఎలాగో తెలుసుకోండి</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"యాప్నకు యాక్సెస్ తిరస్కరించబడింది"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"ఈ అనుమతికి యాక్సెస్ను ఇవ్వడం వల్ల మీ వ్యక్తిగత, ఆర్థిక సమాచారం ప్రమాదంలో పడవచ్చు.<xliff:g id="ID_1"><br><br></xliff:g>ఈ అదనపు అవసరాలు గల అనుమతులు లేకుండా యాప్ సరిగ్గా పని చేయకపోయే అవకాశం ఉంది. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>యాక్సెస్ను అనుమతించడం ఎలాగో తెలుసుకోండి</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"మరింత తెలుసుకోండి"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"సరే"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"అనుమతి రిక్వెస్ట్ బ్లాక్ చేయబడింది"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"ఈ యాప్ అదనపు అనుమతి కోసం రిక్వెస్ట్ చేస్తోంది, కానీ స్ట్రీమింగ్ సెషన్లో అనుమతులను మంజూరు చేయడం సాధ్యం కాదు. ముందుగా మీ ఫోన్లో అనుమతిని మంజూరు చేయండి."</string> </resources> diff --git a/PermissionController/res/values-th-v34/strings.xml b/PermissionController/res/values-th-v34/strings.xml index 8e6bae837..7578fdb3c 100644 --- a/PermissionController/res/values-th-v34/strings.xml +++ b/PermissionController/res/values-th-v34/strings.xml @@ -20,8 +20,7 @@ <string name="security_privacy_brand_name" msgid="7303621734258440812">"ความปลอดภัยและความเป็นส่วนตัว"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"การควบคุม"</string> <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> - <string name="health_connect_summary" msgid="815473513776882296">"จัดการสิทธิ์เข้าถึงข้อมูลสุขภาพของแอป"</string> + <string name="health_connect_summary" msgid="815473513776882296">"จัดการสิทธิ์ของแอปในการเข้าถึงข้อมูลสุขภาพ"</string> <string name="location_settings" msgid="8863940440881290182">"สิทธิ์เข้าถึงตำแหน่ง"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"สำหรับแอปและบริการ หากปิดการตั้งค่านี้ ระบบอาจยังคงแชร์ข้อมูลไมโครโฟนเมื่อคุณโทรหาหมายเลขฉุกเฉิน"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"สำหรับแอปและบริการ"</string> </resources> diff --git a/PermissionController/res/values-th-watch/strings.xml b/PermissionController/res/values-th-watch/strings.xml index db9d5dec6..8b6c60c76 100644 --- a/PermissionController/res/values-th-watch/strings.xml +++ b/PermissionController/res/values-th-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"เปลี่ยนไม่ได้"</string> <string name="generic_yes" msgid="2489207724988649846">"ใช่"</string> <string name="generic_cancel" msgid="2631708607129269698">"ยกเลิก"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ตลอดเวลา"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ขณะกำลังใช้แอป"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ตลอดเวลา"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ขณะกำลังใช้แอป"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ตลอดเวลา"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ขณะกำลังใช้แอป"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ตลอดเวลา"</string> </resources> diff --git a/PermissionController/res/values-th/strings.xml b/PermissionController/res/values-th/strings.xml index f960cfbaf..225b4b1d8 100644 --- a/PermissionController/res/values-th/strings.xml +++ b/PermissionController/res/values-th/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"สิทธิ์ทั้งหมด"</string> <string name="other_permissions" msgid="2901186127193849594">"ความสามารถอื่นๆ ของแอป"</string> <string name="permission_request_title" msgid="8790310151025020126">"คำขอสิทธิ์"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"ไม่สามารถติดตั้ง/ถอนการติดตั้งบน Wear"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"โปรดเลือกข้อมูลที่อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึง"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"อัปเดต <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> แล้ว โปรดเลือกข้อมูลที่อนุญาตให้แอปนี้เข้าถึง"</string> <string name="review_button_cancel" msgid="2191147944056548886">"ยกเลิก"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"อนุญาตทั้งหมดเสมอ"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ถามทุกครั้ง"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"ไม่อนุญาต"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"ตำแหน่งที่แน่นอน"</string> <string name="approximate_image_description" msgid="938803699637069884">"ตำแหน่งโดยประมาณ"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"ใช้ตำแหน่งที่แน่นอน"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"แอปจะเข้าถึงตำแหน่งโดยประมาณเมื่อปิดใช้ตำแหน่งที่แน่นอน"</string> - <string name="app_permission_title" msgid="2090897901051370711">"สิทธิ์เข้าถึง <xliff:g id="PERM">%1$s</xliff:g>"</string> - <string name="app_permission_header" msgid="2951363137032603806">"สิทธิ์การเข้าถึง <xliff:g id="PERM">%1$s</xliff:g> สำหรับแอปนี้"</string> + <string name="app_permission_title" msgid="2090897901051370711">"สิทธิ์เข้าถึง \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> + <string name="app_permission_header" msgid="2951363137032603806">"สิทธิ์เข้าถึง \"<xliff:g id="PERM">%1$s</xliff:g>\" สำหรับแอปนี้"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"สิทธิ์เข้าถึง<xliff:g id="PERM">%1$s</xliff:g>สำหรับแอปนี้บน <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ดูสิทธิ์ทั้งหมดของ \"<xliff:g id="APP">%1$s</xliff:g>\""</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ดูแอปทั้งหมดที่มีสิทธิ์นี้"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"แสดงการใช้ไมโครโฟนของ Assistant"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"นำสิทธิ์ออกหากไม่ได้ใช้งานแอป"</string> <string name="unused_apps_label" msgid="2595428768404901064">"นำสิทธิ์ออกและเพิ่มพื้นที่ว่าง"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"หยุดกิจกรรมบนแอปไว้ชั่วคราวหากไม่ได้ใช้"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"จัดการแอปหากไม่ได้ใช้งาน"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"นำสิทธิ์ออก ลบไฟล์ชั่วคราว และหยุดการแจ้งเตือน"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"นำสิทธิ์ออก ลบไฟล์ชั่วคราว หยุดการแจ้งเตือน และเก็บแอป"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"หากคุณไม่ได้ใช้งานแอปนาน 2-3 เดือน ระบบจะนำสิทธิ์ของแอปนี้ออกเพื่อปกป้องข้อมูลของคุณ"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"หากไม่มีการใช้งานแอปนาน 2-3 เดือน ระบบจะปกป้องข้อมูลของคุณด้วยการนำสิทธิ์ต่อไปนี้ออก ได้แก่ <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"ระบบนำสิทธิ์ออกจากแอปที่คุณไม่ได้ใช้งานนาน 2-3 เดือนเพื่อปกป้องข้อมูลของคุณ"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"ได้รับอนุญาตให้จัดการไฟล์ทั้งหมด"</string> <string name="ask_header" msgid="2633816846459944376">"ถามทุกครั้ง"</string> <string name="denied_header" msgid="903209608358177654">"ไม่อนุญาต"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>ใน <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"ดูแอปอื่นๆ ที่สามารถเข้าถึงไฟล์ทั้งหมดได้"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 วัน}other{# วัน}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# ชั่วโมง}other{# ชั่วโมง}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"แอปโน้ต"</string> <string name="role_notes_description" msgid="8496852798616883551">"แอปที่ให้คุณจดโน้ตในอุปกรณ์ได้"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"บันทึก"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"แอปกระเป๋าเงินเริ่มต้น"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"แอปกระเป๋าเงิน"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"แอปกระเป๋าเงินสามารถจัดเก็บบัตรเครดิต บัตรสะสมคะแนน กุญแจรถยนต์ รวมถึงสิ่งอื่นๆ เพื่อช่วยในการทำธุรกรรมรูปแบบต่างๆ"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"ตั้งค่า <xliff:g id="APP_NAME">%1$s</xliff:g> เป็นแอปกระเป๋าเงินเริ่มต้นไหม"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"ไม่ต้องใช้สิทธิ์"</string> <string name="request_role_current_default" msgid="738722892438247184">"แอปเริ่มต้นปัจจุบัน"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ไม่ต้องถามอีก"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"ตั้งเป็นแอปเริ่มต้น"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"แอปเริ่มต้นเพิ่มเติม"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"การเปิดลิงก์"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"ค่าเริ่มต้นสำหรับงาน"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"ค่าเริ่มต้นสำหรับพื้นที่ส่วนตัว"</string> <string name="default_app_none" msgid="9084592086808194457">"ไม่มี"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(ค่าเริ่มต้นของระบบ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"ไม่มีแอป"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"แสดงการตรวจหาตัวทริกเกอร์ผู้ช่วย"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"แสดงไอคอนในแถบสถานะเมื่อมีการใช้ไมโครโฟนเพื่อเปิดใช้งานผู้ช่วยสั่งการด้วยเสียง"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและสื่อในอุปกรณ์ไหม"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและสื่อบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและสื่อบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรายชื่อติดต่อไหม"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรายชื่อติดต่อบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรายชื่อติดต่อบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของอุปกรณ์นี้ไหม"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"แอปจะมีสิทธิ์เข้าถึงตำแหน่งในขณะที่คุณใช้แอปเท่านั้น"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของอุปกรณ์นี้ไหม"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>ไหม"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งของ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"แอปนี้อาจต้องการเข้าถึงตำแหน่งของคุณตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป โปรด"<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"เปลี่ยนการเข้าถึงตำแหน่งสำหรับ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ไหม"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"เปลี่ยนแปลงสิทธิ์เข้าถึงตำแหน่งของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"เปลี่ยนแปลงสิทธิ์เข้าถึงตำแหน่งของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"แอปนี้ต้องการเข้าถึงตำแหน่งของคุณตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป โปรด"<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ค้นหา เชื่อมต่อ และระบุตำแหน่งสัมพัทธ์ของอุปกรณ์ที่อยู่ใกล้เคียงไหม"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ค้นหา เชื่อมต่อ และระบุตำแหน่งซึ่งสัมพันธ์กับอุปกรณ์ใกล้เคียงบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ค้นหา เชื่อมต่อ และระบุตำแหน่งโดยสัมพันธ์กับอุปกรณ์ที่อยู่ใกล้เคียงบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ค้นหา เชื่อมต่อ และระบุตำแหน่งซึ่งสัมพันธ์กับอุปกรณ์ที่อยู่ใกล้เคียง "<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"เปลี่ยนการเข้าถึงตำแหน่งของ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> จากตำแหน่งโดยประมาณเป็นตำแหน่งที่แน่นอนไหม"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"เปลี่ยนแปลงสิทธิ์เข้าถึงตำแหน่งของ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>จากโดยประมาณเป็นตำแหน่งที่แม่นยำไหม"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"เปลี่ยนแปลงสิทธิ์เข้าถึงตำแหน่งของ <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>จากโดยประมาณเป็นตำแหน่งที่แน่นอนไหม"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งโดยประมาณของอุปกรณ์นี้ไหม"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งโดยประมาณของ<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงตำแหน่งโดยประมาณของ<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"แน่นอน"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"โดยประมาณ"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงปฏิทินไหม"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงปฏิทินบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงปฏิทินบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ส่งและดูข้อความ SMS ไหม"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ส่งและดูข้อความ SMS บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ส่งและดูข้อความ SMS บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพ สื่อ และไฟล์ในอุปกรณ์ไหม"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพ สื่อ และไฟล์บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพ สื่อ และไฟล์บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึง<b>รูปภาพ วิดีโอ เพลง และเสียง</b>ในอุปกรณ์นี้ไหม"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึง<b>รูปภาพ วิดีโอ เพลง เสียง และไฟล์อื่นๆ</b> ในอุปกรณ์นี้ไหม"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงเพลงและเสียงในอุปกรณ์นี้ไหม"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงเพลงและเสียงบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงเพลงและเสียงบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอในอุปกรณ์นี้ไหม"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอเพิ่มเติมในอุปกรณ์นี้ไหม"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอเพิ่มเติมบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงรูปภาพและวิดีโอเพิ่มเติมบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงไหม"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"แอปจะบันทึกเสียงได้ในขณะที่คุณใช้แอปอยู่เท่านั้น"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงไหม"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บันทึกเสียงบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"แอปนี้อาจต้องการบันทึกเสียงตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป "<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"เปลี่ยนแปลงสิทธิ์เข้าถึงไมโครโฟนของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ไหม"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"เปลี่ยนแปลงสิทธิ์เข้าถึงไมโครโฟนของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"เปลี่ยนแปลงสิทธิ์เข้าถึงไมโครโฟนของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"แอปนี้ต้องการบันทึกเสียงตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป "<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงกิจกรรมการเคลื่อนไหวร่างกายของคุณไหม"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงกิจกรรมการเคลื่อนไหวร่างกายบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงกิจกรรมการเคลื่อนไหวร่างกายบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายรูปและบันทึกวิดีโอไหม"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายภาพและบันทึกวิดีโอบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายภาพและบันทึกวิดีโอบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"แอปจะถ่ายภาพและวิดีโอได้ในขณะที่คุณใช้แอปอยู่เท่านั้น"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายภาพและวิดีโอไหม"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายภาพและบันทึกวิดีโอบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ถ่ายภาพและบันทึกวิดีโอบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"แอปนี้อาจต้องการถ่ายภาพและวิดีโอตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป "<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"เปลี่ยนแปลงสิทธิ์เข้าถึงกล้องถ่ายรูปของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ไหม"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"เปลี่ยนแปลงสิทธิ์เข้าถึงกล้องของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"เปลี่ยนแปลงสิทธิ์เข้าถึงกล้องของ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"แอปนี้ต้องการถ่ายภาพและวิดีโอตลอดเวลา แม้ในขณะที่คุณไม่ได้ใช้แอป "<annotation id="link">"อนุญาตในการตั้งค่า"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงบันทึกการโทรในโทรศัพท์ไหม"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงบันทึกการโทรในโทรศัพท์บน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงบันทึกการโทรในโทรศัพท์บน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> โทรและจัดการการโทรไหม"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> โทรและจัดการการโทรบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> โทรและจัดการการโทรบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพไหม"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"แอปนี้ต้องการเข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพตลอดเวลาแม้ว่าคุณจะไม่ได้ใช้แอปอยู่ก็ตาม หากจะอนุญาตตามนี้ "<annotation id="link">"ไปที่การตั้งค่า"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพไหม"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"หากต้องการให้แอปนี้เข้าถึงข้อมูลเซ็นเซอร์ร่างกายได้ทุกเมื่อ แม้ว่าคุณจะไม่ได้ใช้งานแอปอยู่ "<annotation id="link">"ไปที่การตั้งค่า"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์ร่างกายได้ตลอดขณะใช้งานแอปไหม"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์ร่างกายได้ตลอดขณะใช้งานแอปบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> เข้าถึงข้อมูลเซ็นเซอร์ร่างกายได้ตลอดขณะใช้งานแอปบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ส่งการแจ้งเตือนถึงคุณไหม"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"อนุญาตให้ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ส่งการแจ้งเตือนถึงคุณบน<b><xliff:g id="DEVICE">%2$s</xliff:g></b>ไหม"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"อนุญาตให้<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>ส่งการแจ้งเตือนถึงคุณบน<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>ไหม"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"สิทธิ์ที่มีการควบคุม"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> มีสิทธิ์เข้าถึงตำแหน่ง"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"องค์กรของคุณอนุญาตให้ <xliff:g id="APP_NAME">%1$s</xliff:g> เข้าถึงตำแหน่ง"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"ไม่มี"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 ชั่วโมง\nที่ผ่านมา"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 วัน\nที่ผ่านมา"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> เปอร์เซ็นต์"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> ได้รับการปกป้องโดย Android เนื่องจากมีการประมวลผลข้อมูลในอุปกรณ์ การใช้สิทธิ์ของแอปนี้จะไม่แสดงในแถบสถานะหรือแดชบอร์ดความเป็นส่วนตัว"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> ได้รับการปกป้องโดย Android เนื่องจากมีการประมวลผลข้อมูลในอุปกรณ์ การใช้สิทธิ์ของแอปนี้จะไม่แสดงในแดชบอร์ดความเป็นส่วนตัว"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"กล้องของอุปกรณ์ถูกบล็อก"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"สำหรับแอปและบริการ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"ระบบอาจยังคงแชร์ข้อมูลไมโครโฟนเมื่อคุณโทรหาหมายเลขฉุกเฉิน"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"เปลี่ยน"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"สิทธิ์เข้าถึงกล้องปิดอยู่"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"สำหรับแอปสาระบันเทิง"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"สำหรับแอปที่จำเป็น"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"แอปนี้เป็นแอปที่จำเป็น"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"ผู้ผลิตรถยนต์จำเป็นต้องใช้แอปนี้"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"ความปลอดภัยและความเป็นส่วนตัว"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"สแกนอุปกรณ์"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"ปิด"</string> @@ -610,7 +626,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"สิทธิ์เข้าถึงไมโครโฟน"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"สำหรับแอปและบริการ"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"สำหรับแอปและบริการ หากปิดการตั้งค่านี้ ระบบอาจยังคงแชร์ข้อมูลไมโครโฟนเมื่อคุณโทรหาหมายเลขฉุกเฉิน"</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"ดูแอปและบริการที่มีสิทธิ์เข้าถึงสถานที่ตั้ง"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"ดูแอปและบริการที่มีสิทธิ์เข้าถึงตำแหน่ง"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"แสดงการเข้าถึงคลิปบอร์ด"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"แสดงข้อความเมื่อแอปเข้าถึงข้อความ รูปภาพ หรือเนื้อหาอื่นๆ ที่คุณคัดลอก"</string> <string name="show_password_title" msgid="2877269286984684659">"แสดงรหัสผ่าน"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"การอัปเดตการแชร์ข้อมูล"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"มีบางแอปเปลี่ยนแปลงวิธีที่แอปอาจแชร์ข้อมูลตำแหน่งของคุณ"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"การตั้งค่า"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"เข้าถึงตอน <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"เข้าถึงเมื่อวานตอน <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"เข้าถึงเมื่อวันที่ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> ตอน <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียวของคุณคือ 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"การตั้งค่าที่จำกัด"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"การตั้งค่านี้ใช้ไม่ได้ในตอนนี้เพื่อความปลอดภัยของคุณ"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"แอปถูกปฏิเสธไม่ให้เข้าถึง <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"แอปขอเข้าถึงสิทธิ์ที่มีความละเอียดอ่อนซึ่งอาจทำให้ข้อมูลส่วนบุคคลและข้อมูลทางการเงินของคุณมีความเสี่ยง<xliff:g id="ID_1"><br><br></xliff:g>แอปอาจทำงานได้ไม่ถูกต้องหากไม่มีสิทธิ์ที่จำกัดนี้ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ดูวิธีอนุญาตให้เข้าถึง</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"แอปถูกปฏิเสธไม่ให้เข้าถึงเพื่อเป็น <xliff:g id="ROLE_NAME">%1$s</xliff:g> เริ่มต้น"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"แอปขอเข้าถึงสิทธิ์ที่มีความละเอียดอ่อนซึ่งอาจทำให้ข้อมูลส่วนบุคคลและข้อมูลทางการเงินของคุณมีความเสี่ยง<xliff:g id="ID_1"><br><br></xliff:g>แอปอาจทำงานได้ไม่ถูกต้องหากไม่มีสิทธิ์ที่จำกัดเหล่านี้ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ดูวิธีอนุญาตให้เข้าถึง</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"แอปถูกปฏิเสธไม่ให้เข้าถึง"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"การให้สิทธิ์นี้อาจทำให้ข้อมูลส่วนบุคคลและข้อมูลทางการเงินของคุณมีความเสี่ยง<xliff:g id="ID_1"><br><br></xliff:g>แอปอาจทำงานได้ไม่ถูกต้องหากไม่มีสิทธิ์ที่จำกัดนี้ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>ดูวิธีอนุญาตให้เข้าถึง</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"ดูข้อมูลเพิ่มเติม"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ตกลง"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"ระงับคำขอสิทธิ์อยู่"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"แอปนี้มีการขอสิทธิ์เพิ่มเติม แต่ไม่สามารถให้สิทธิ์ในเซสชันที่กำลังสตรีมอยู่ โปรดให้สิทธิ์ในโทรศัพท์ก่อน"</string> </resources> diff --git a/PermissionController/res/values-tl-v34/strings.xml b/PermissionController/res/values-tl-v34/strings.xml index 4ed588f80..a0b9e58d4 100644 --- a/PermissionController/res/values-tl-v34/strings.xml +++ b/PermissionController/res/values-tl-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Pamahalaan ang access ng app sa data ng kalusugan"</string> <string name="location_settings" msgid="8863940440881290182">"Access sa lokasyon"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Para sa mga app at serbisyo. Kung naka-off ang setting na ito, posible pa ring ibahagi ang data ng mikropono kapag tumawag ka sa isang pang-emergency na numero"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Para sa mga app at serbisyo"</string> </resources> diff --git a/PermissionController/res/values-tl-watch/strings.xml b/PermissionController/res/values-tl-watch/strings.xml index 1719c5c5e..33191f04f 100644 --- a/PermissionController/res/values-tl-watch/strings.xml +++ b/PermissionController/res/values-tl-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Hindi mababago"</string> <string name="generic_yes" msgid="2489207724988649846">"Oo"</string> <string name="generic_cancel" msgid="2631708607129269698">"Kanselahin"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Palagi"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Habang ginagamit ang app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Palagi"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Habang ginagamit ang app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Palagi"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Habang ginagamit ang app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Palagi"</string> </resources> diff --git a/PermissionController/res/values-tl/strings.xml b/PermissionController/res/values-tl/strings.xml index c17871ae5..974e6c446 100644 --- a/PermissionController/res/values-tl/strings.xml +++ b/PermissionController/res/values-tl/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Lahat ng pahintulot"</string> <string name="other_permissions" msgid="2901186127193849594">"Iba pang kakayahan ng app"</string> <string name="permission_request_title" msgid="8790310151025020126">"Kahilingan sa pagpapahintulot"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Ang mga pagkilos na I-install/I-uninstall ay hindi sinusuportahan sa Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Piliin kung ano ang papayagang i-access ng <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Na-update na ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Piliin kung ano ang papayagang i-access ng app na ito."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Kanselahin"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Palaging pahintulutan lahat"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Magtanong palagi"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Huwag payagan"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Eksaktong lokasyon"</string> <string name="approximate_image_description" msgid="938803699637069884">"Tinatayang lokasyon"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Gamitin ang eksaktong lokasyon"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Kapag naka-off ang eksaktong lokasyon, puwedeng i-access ng mga app ang iyong tinatantyang lokasyon"</string> <string name="app_permission_title" msgid="2090897901051370711">"Pahintulot sa <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Access sa <xliff:g id="PERM">%1$s</xliff:g> para sa app na ito"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"access sa <xliff:g id="PERM">%1$s</xliff:g> para sa app na ito sa <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Tingnan ang lahat ng pahintulot ng <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Tingnan ang lahat ng app na may ganitong pahintulot"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Ipakita ang paggamit ng mikropono ng assistant"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Alisin ang mga pahintulot kung hindi ginagamit ang app"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Alisin ang pahintulot, magbakante ng espasyo"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"I-pause ang aktibidad sa app kung hindi ginagamit"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Pamahalaan ang app kung hindi ginagamit"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Alisin ang mga pahintulot, i-delete ang mga pansamantalang file, at ihinto ang mga notification"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Alisin ang mga pahintulot, i-delete ang mga pansamantalang file, ihinto ang mga notification, at i-archive ang app"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Para maprotektahan ang iyong data, aalisin ang mga pahintulot para sa app na ito kapag ilang buwan nang hindi ginagamit ang app."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para maprotektahan ang iyong data, kapag ilang buwan nang hindi ginagamit ang app, aalisin ang mga sumusunod na pahintulot: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para protektahan ang iyong data, inalis na ang mga pahintulot sa mga app na ilang buwan mo nang hindi ginagamit."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Pinapayagang pamahalaan ang lahat ng file"</string> <string name="ask_header" msgid="2633816846459944376">"Magtanong palagi"</string> <string name="denied_header" msgid="903209608358177654">"Hindi pinapayagan"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> noong <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Tumingin pa ng mga app na puwedeng mag-access ng lahat ng file"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 araw}one{# araw}other{# na araw}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# oras}one{# oras}other{# na oras}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notes app"</string> <string name="role_notes_description" msgid="8496852798616883551">"Mga app na nagbibigay-daan sa iyong magtala sa device mo"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"mga tala"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Default na wallet app"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Wallet app"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Puwedeng i-store ng mga wallet app ang iyong mga credit at loyalty card, susi ng kotse, at iba pang bagay para makatulong sa iba\'t ibang uri ng transaksyon."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Itakda ang <xliff:g id="APP_NAME">%1$s</xliff:g> bilang default mong wallet app?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Walang kailangang pahintulot"</string> <string name="request_role_current_default" msgid="738722892438247184">"Kasalukuyang default"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Huwag nang itanong muli"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Itakdang default"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Higit pang default"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Pagbubukas ng mga link"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Default para sa trabaho"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Default para sa pribadong space"</string> <string name="default_app_none" msgid="9084592086808194457">"Wala"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Default ng system)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Walang app"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Ipakita ang pagtukoy ng trigger ng assistant"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Ipakita ang icon sa status bar kapag gumamit ng mikropono para i-activate ang voice assistant"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan at media sa iyong device?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan at media sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang mga larawan at media sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong mga contact?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong mga contact sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang iyong mga contact sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang lokasyon ng device na ito?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang lokasyon ng <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> mo?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang lokasyon ng <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Magkakaroon lang ang app ng access sa lokasyon habang ginagamit mo ang app"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang lokasyon ng device na ito?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang lokasyon ng <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> mo?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang lokasyon ng <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Posibleng gustong i-access ng app na ito ang iyong lokasyon sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Baguhin ang access sa lokasyon para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Baguhin ang access sa lokasyon para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Baguhin ang access sa lokasyon para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Gustong i-access ng app na ito ang iyong lokasyon sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na maghanap, kumonekta sa, at tukuyin ang relatibong posisyon ng mga kalapit na device?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na humanap, kumonekta, at tumukoy ng posisyon ng nearby device sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na humanap, kumonekta, at tumukoy ng relatibong posisyon ng mga kalapit na device sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na hanapin at tukuyin ang, at kumonekta sa relatibong posisyon ng mga kalapit na device? "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Gawing eksakto ang access sa lokasyon ng <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> mula sa pagiging tinatantya?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Gawing tumpak mula sa tinataya ang access sa lokasyon ng <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Gawing tumpak mula sa tinataya ang access sa lokasyon ng <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang tinatantyang lokasyon ng device na ito?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang tinatayang lokasyon ng <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’s mo?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang tinatayang lokasyon ng <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Eksakto"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Tinatantya"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong kalendaryo?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong kalendaryo sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang kalendaryo mo sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na magpadala at tumingin ng mga mensaheng SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na magpadala at tumingin ng mga SMS message sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na magpadala at tingnan ang mga SMS message <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan, media, at file sa iyong device?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan, media, at file sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang mga larawan, media, at file sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang <b>mga larawan, video, musika, at audio</b> sa device?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang <b>mga larawan, video, musika, audio, at iba pang file</b> sa device?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang musika at audio sa device na ito?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang musika at audio sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang musika at audio sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan at video sa device na ito?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang mga larawan at video sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang mga larawan at video sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang higit pang larawan at video sa device na ito?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-access ng higit pang larawan at video sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-access ng higit pang larawan at video sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Makakapag-record lang ng audio ang app habang ginagamit mo ang app"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na mag-record ng audio sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Posibleng gusto ng app na ito na mag-record ng audio sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Baguhin ang access sa mikropono para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Baguhin ang access sa mikropono para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Baguhin ang access sa mikropono para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Gusto ng app na ito na mag-record ng audio sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong pisikal na aktibidad?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong pisikal na aktibidad sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang iyong pisikal na aktibidad sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng larawan at mag-record ng video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng mga larawan at mag-record ng video sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng mga larawan at mag-record ng video sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Makakakuha lang ng mga larawan at makakapag-precord lang ng video ang app habang ginagamit mo ang app"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng mga larawan at mag-record ng video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng mga larawan at mag-record ng video sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na kumuha ng mga larawan at mag-record ng video sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Posibleng gusto ng app na ito na kumuha ng larawan at mag-record ng video sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa settings."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Baguhin ang access sa camera para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Baguhin ang access sa camera para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Baguhin ang access sa camera para sa <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Gusto ng app na ito na kumuha ng mga larawn at mag-record ng video sa lahat ng oras, kahit na hindi mo ginagamit ang app. "<annotation id="link">"Payagan sa mga setting."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong mga log ng tawag sa telepono?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang iyong mga log ng tawag sa telepono sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang iyong mga log ng tawag sa telepono sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na tumawag at mamahala ng mga tawag sa telepono?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na gumawa at mamahala ng mga tawag sa telepono sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na gumawa at mamahala ng mga tawag sa telepono sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor tungkol sa iyong mga vital sign?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor tungkol sa mga vital sign mo sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang data ng sensor tungkol sa mga vital sign mo sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Gusto ng app na ito na palaging i-access ang data ng sensor tungkol sa iyong mga vital sign, kahit hindi mo ginagamit ang app. Para gawin ang pagbabagong ito, "<annotation id="link">"pumunta sa mga setting."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor tungkol sa iyong mga vital sign?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor tungkol sa mga vital sign mo sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang data ng sensor tungkol sa mga vital sign mo sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Para pahintulutan ang app na ito na i-access ang data ng sensor ng katawan sa lahat ng oras, kahit na hindi mo ginagamit ang app, "<annotation id="link">"pumunta sa mga setting."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Patuloy na pahintulutan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor ng katawan habang ginagamit ang app?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na i-access ang data ng sensor ng katawan sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> habang ginagamit ito?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Patuloy na payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na ma-access ang data ng sensor ng katawan sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> habang ginagamit ang app?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Payagan ang <xliff:g id="APP_NAME">%1$s</xliff:g> na padalhan ka ng mga notification?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na magpadala sa iyo ng mga notification sa <b><xliff:g id="DEVICE">%2$s</xliff:g></b> mo?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Payagan ang <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> na magpadala sa iyo ng mga notification sa <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontroladong pahintulot"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"May access sa lokasyon ang <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Pinapayagan ng organisasyon mo ang <xliff:g id="APP_NAME">%1$s</xliff:g> na i-access ang iyong lokasyon"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Wala"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Nakalipas\nna 24 oras"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Nakalipas na\n7 araw"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> (na) porsyento"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Protektado ng Android ang <xliff:g id="APP_NAME">%1$s</xliff:g>. Dahil pinoproseso sa device na ito ang iyong data, hindi ipinapakita sa status bar o sa privacy dashboard mo ang paggamit ng pahintulot ng app na ito."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Protektado ng Android ang <xliff:g id="APP_NAME">%1$s</xliff:g>. Dahil pinoproseso sa device na ito ang iyong data, hindi ipinapakita sa privacy dashboard mo ang paggamit ng pahintulot ng app na ito."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Naka-block ang camera ng device"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Para sa mga app at serbisyo"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Posible pa ring ibahagi ang data ng mikropono kapag tumawag ka sa isang pang-emergency na numero."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Baguhin"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Naka-off ang access sa camera"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Para sa mga infotainment app"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Para sa mga kinakailangang app"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Kinakailangan ang app na ito"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Kinakailangan ng manufacturer ng iyong sasakyan ang app na ito"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Seguridad at privacy"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"I-scan ang device"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"I-dismiss"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Update sa pagbabahagi ng data"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Binago ng ilang app kung paano posibleng ibahagi ng mga ito ang iyong data ng lokasyon"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Mga Setting"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Na-access noong <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Na-access kahapon nang <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Na-access noong <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ang iyong pang-isang beses na password ay 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Pinaghihigpitang setting"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Para sa iyong seguridad, hindi available ang setting na ito sa ngayon."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Tinanggihan ang access ng appp sa <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Humiling ang app ng access sa pahintulot sa sensitibong impormasyon na posibleng maglagay ng iyong personal at pinansyal na impormasyon sa panganib.<xliff:g id="ID_1"><br><br></xliff:g>Posibleng hindi gumana nang maayos ang app kung wala ang pinaghihigpitang pahintulot na ito. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Alamin kung paano payagan ang pag-access</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Tinanggihan ang access ng app na maging default na <xliff:g id="ROLE_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Humiling ang app ng access sa mga pahintulot sa sensitibong impormasyon na posibleng maglagay ng iyong personal at pinansyal na impormasyon sa panganib.<xliff:g id="ID_1"><br><br></xliff:g>Posibleng hindi gumana nang maayos ang app kung wala ang mga pinaghihigpitang pahintulot na ito. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Alamin kung paano payagan ang pag-access</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Tinanggihan ang access ng app"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Puwedeng ilagay sa panganib ng pag-access sa pahintulot na ito ang iyong personal at pinansyal na impormasyon.<xliff:g id="ID_1"><br><br></xliff:g>Posibleng hindi gumana nang maayos ang app kung wala ang pinaghihigpitang pahintulot na ito. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Alamin kung paano payagan ang pag-access</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Matuto pa"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Pinigilan ang kahilingan sa pahintulot"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Humihingi ang app na ito ng dagdag na pahintulot, pero hindi puwedeng ibigay ang mga pahintulot sa isang session ng streaming. Ibigay muna ang pahintulot sa iyong telepono."</string> </resources> diff --git a/PermissionController/res/values-tr-v34/strings.xml b/PermissionController/res/values-tr-v34/strings.xml index 81d533562..95f5539d4 100644 --- a/PermissionController/res/values-tr-v34/strings.xml +++ b/PermissionController/res/values-tr-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Uygulamaların, sağlık verilerine erişimini yönetin"</string> <string name="location_settings" msgid="8863940440881290182">"Konum erişimi"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Uygulamalar ve hizmetler için. Bu ayar kapalıyken bir acil durum numarasını aradığınızda mikrofon verileri paylaşılmaya devam edebilir."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Uygulamalar ve hizmetler için"</string> </resources> diff --git a/PermissionController/res/values-tr-watch/strings.xml b/PermissionController/res/values-tr-watch/strings.xml index d4845f76b..bdba397ff 100644 --- a/PermissionController/res/values-tr-watch/strings.xml +++ b/PermissionController/res/values-tr-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Değiştirilemez"</string> <string name="generic_yes" msgid="2489207724988649846">"Evet"</string> <string name="generic_cancel" msgid="2631708607129269698">"İptal"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Her zaman"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Uygulama kullanılırken"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Her zaman"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Uygulama kullanılırken"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Her zaman"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Uygulama kullanılırken"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Her zaman"</string> </resources> diff --git a/PermissionController/res/values-tr/strings.xml b/PermissionController/res/values-tr/strings.xml index 878e9155c..7b51bc07d 100644 --- a/PermissionController/res/values-tr/strings.xml +++ b/PermissionController/res/values-tr/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Tüm izinler"</string> <string name="other_permissions" msgid="2901186127193849594">"Diğer uygulama özellikleri"</string> <string name="permission_request_title" msgid="8790310151025020126">"İzin isteği"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Yükleme/Yüklemeyi Kaldırma işlemleri Wear\'da desteklenmiyor."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının nelere erişmesine izin vereceğinizi seçin"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> güncellendi. Bu uygulamanın nelere erişmesine izin verileceğini seçin."</string> <string name="review_button_cancel" msgid="2191147944056548886">"İptal"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Tümüne her zaman izin ver"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Her zaman sor"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"İzin verme"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Tam konum"</string> <string name="approximate_image_description" msgid="938803699637069884">"Yaklaşık konum"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Tam konumu kullan"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Tam konum kapalıyken uygulamalar, yaklaşık konumunuza erişebilir"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> izni"</string> <string name="app_permission_header" msgid="2951363137032603806">"Bu uygulamanın <xliff:g id="PERM">%1$s</xliff:g> erişimi için"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> adlı cihazda bu uygulamanın <xliff:g id="PERM">%1$s</xliff:g> erişimi"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Tüm <xliff:g id="APP">%1$s</xliff:g> izinlerini göster"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Bu izne sahip tüm uygulamaları göster"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Yardımcı mikrofon kullanımını göster"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Uygulama kullanılmıyorsa izinleri kaldır"</string> <string name="unused_apps_label" msgid="2595428768404901064">"İzinleri kaldırıp yer aç"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Kullanılmayan uygulama etkinliğini duraklat"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Kullanılmayan uygulamayı yönet"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"İzinleri kaldır, geçici dosyaları sil ve bildirimleri durdur"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"İzinleri kaldır, geçici dosyaları sil, bildirimleri durdur ve uygulamayı arşivle"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Bu uygulama birkaç ay boyunca kullanılmazsa verilerinizi korumak için uygulamanın izinleri kaldırılır."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Uygulama birkaç ay boyunca kullanılmazsa şu izinler verilerinizi korumak için kaldırılacak: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Birkaç aydır kullanmadığınız uygulamaların izinleri verilerinizi korumak için kaldırıldı."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Tüm dosyaları yönetme izni verilenler"</string> <string name="ask_header" msgid="2633816846459944376">"Her zaman sorulacaklar"</string> <string name="denied_header" msgid="903209608358177654">"İzin verilmeyenler"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> cihazında <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Tüm dosyalara erişebilen diğer uygulamaları görün"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 gün}other{# gün}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# saat}other{# saat}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Notlar uygulaması"</string> <string name="role_notes_description" msgid="8496852798616883551">"Cihazınızda not almanıza olanak tanıyan uygulamalar"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"notlar"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Varsayılan cüzdan uygulaması"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Cüzdan uygulaması"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Cüzdan uygulamaları; kredi ve bağlılık kartlarınızı, araba anahtarlarınızı ve diğer bilgileri depolayarak çeşitli işlem türlerinde size kolaylık sağlayabilir."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g>, varsayılan cüzdan uygulamanız olarak ayarlansın mı?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Herhangi bir izin gerekli değil"</string> <string name="request_role_current_default" msgid="738722892438247184">"Mevcut varsayılan"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Tekrar sorma"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Varsayılan olarak ayarla"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Diğer varsayılanlar"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Bağlantıları açma"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"İş için varsayılan"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Özel alan için varsayılan"</string> <string name="default_app_none" msgid="9084592086808194457">"Yok"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Sistem varsayılanı)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Uygulama yok"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Yardımcı uygulama tetikleyici algılamasını göster"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Sesli yardımı etkinleştirmek için mikrofon kullanıldığında simgeyi durum çubuğunda göster"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının cihazınızdaki fotoğraf ve medya içeriğine erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki fotoğraf ve medyalara erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki fotoğraf ve medyalara erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının kişilerinize erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki kişilerinize erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında kişilerinize erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazın konumuna erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazınızın konumuna erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının konumuna erişmesine izin verilsin mi?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Bu uygulama konum bilgisine yalnızca kullanıldığı sırada erişebilecektir"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazın konumuna erişmesine izin verilsin mi?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> cihazınızın konumuna erişmesine izin verilsin mi?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının konumuna erişmesine izin verilsin mi?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Bu uygulama, kullanmadığınız sırada bile konum bilginize sürekli olarak erişmek isteyebilir. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> için konum adresi değiştirilsin mi?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki konum erişimi değiştirilsin mi?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki konum erişimi değiştirilsin mi?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Bu uygulama, kullanmadığınız sırada bile konum bilginize sürekli olarak erişmek isteyebilir. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, yakındaki cihazları bulup bağlanma ve göreli konumlarını belirleme izni verilsin mi?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda yakındaki cihazları keşfedip bağlanma ve bu cihazların göreli konumunu belirleme izni verilsin mi?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında yakındaki cihazları keşfedip bağlanma ve bu cihazların göreli konumunu belirleme izni verilsin mi?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, yakındaki cihazları bulup bağlanma ve göreli konumlarını belirleme izni verilsin mi? "<annotation id="link">"Ayarlarda izin ver"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> uygulamasının konum erişimi, yaklaşık konumdan tam konuma değiştirilsin mi?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki konum erişimi yaklaşık konum yerine tam konum olarak değiştirilsin mi?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki konum erişimi yaklaşık konum yerine tam konum olarak değiştirilsin mi?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazın yaklaşık konumuna erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızın yaklaşık konumuna erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazının yaklaşık konumuna erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Tam"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Yaklaşık"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının takviminize erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki takviminize erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında takviminize erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının SMS mesajları göndermesine ve görüntülemesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda SMS mesajları gönderip görmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında SMS mesajı gönderip görüntülemesine izin verilsin mi?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının cihazınızdaki fotoğraf, medya ve dosyalara erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda fotoğraf, medya ve dosyalara erişme izni verilsin mi?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki fotoğraf, medya içeriği ve dosyalara erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> için bu cihazdaki <b>fotoğraf, video, müzik ve ses dosyalarına</b> erişim verilsin mi?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> için cihazdaki <b>fotoğraf, video, müzik, ses vb. dosyalara</b> erişim verilsin mi?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazda müzik ve ses dosyalarına erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda müzik ve ses dosyalarına erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında müzik ve ses dosyalarına erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazdaki fotoğraf ve videolara erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki fotoğraf ve videolara erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki fotoğraf ve videolara erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının bu cihazdaki diğer fotoğraf ve videolara erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki diğer fotoğraf ve videolara erişme izni verilsin mi?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında daha fazla fotoğraf ve videoya erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının ses kaydetmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda ses kaydetmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında ses kaydetmesine izin verilsin mi?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Bu uygulama, yalnızca kullanıldığı sırada ses kaydedebilir"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının ses kaydetmesine izin verilsin mi?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda ses kaydetmesine izin verilsin mi?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında ses kaydetmesine izin verilsin mi?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Bu uygulama, kullanmadığınız sırada bile sürekli olarak ses kaydetmek isteyebilir. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> için mikrofon erişimi değiştirilsin mi?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki mikrofon erişimi değiştirilsin mi?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki mikrofon erişimi değiştirilsin mi?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Bu uygulama, kullanmadığınız sırada bile sürekli olarak ses kaydetmek istiyor. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasına fiziksel aktivitenize erişme izni verilsin mi?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki fiziksel aktivitenize erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında fiziksel aktivitenize erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının fotoğraf çekmesine ve video kaydı yapmasına izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda resim çekip video kaydetmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında resim ve video çekmesine izin verilsin mi?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Bu uygulama, yalnızca kullanıldığı sırada resim çekebilir veya video kaydedebilir"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının resim çekmesine ve video kaydı yapmasına izin verilsin mi?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda resim çekip video kaydetmesine izin verilsin mi?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında resim ve video çekmesine izin verilsin mi?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Bu uygulama, kullanmadığınız sırada bile sürekli olarak resim çekmek ve video kaydetmek isteyebilir. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> için kamera erişimi değiştirilsin mi?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki kamera erişimi değiştirilsin mi?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki kamera erişimi değiştirilsin mi?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Bu uygulama, kullanmadığınız sırada bile sürekli olarak resim çekmek ve video kaydetmek istiyor. "<annotation id="link">"Ayarlar\'da izin verin."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının telefon arama kayıtlarınıza erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki telefon arama kaydına erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında telefonunuzdaki arama kayıtlarına erişmesine izin verilsin mi?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının telefon etmesine ve aramaları yönetmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda telefon edip aramaları yönetmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında telefon araması yapıp yönetmesine izin verilsin mi?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının hayati belirtilerinizle ilgili sensör verilerine erişmesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki hayati bulgularla ilgili sensör verilerine erişmesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki hayati bulgularla ilgili sensör verilerine erişmesine izin verilsin mi?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Bu uygulama, kullanmadığınız sırada bile hayati belirtilerinizle ilgili sensör verilerine sürekli olarak erişmek istiyor. Bu değişikliği yapmak için "<annotation id="link">"ayarlara gidin."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının hayati belirtilerinizle ilgili sensör verilerine erişmesine izin verilsin mi?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızdaki hayati bulgularla ilgili sensör verilerine erişmesine izin verilsin mi?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında hayati bulgularınızla ilgili sensör verilerine erişmesine izin verilsin mi?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Bu uygulamanın, kullanmadığınız sırada bile vücut sensörü verilerine sürekli olarak erişmesine izin vermek için "<annotation id="link">"ayarlara gidin."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının kullanımdayken vücut sensörü verilerine erişme izni sürdürülsün mü?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının kullanımdayken <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazındaki vücut sensörü verilerine erişme izni sürdürülsün mü?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının kullanımdayken <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazındaki vücut sensörü verilerine erişme izni sürdürülsün mü?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının size bildirim göndermesine izin verilsin mi?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının, <b><xliff:g id="DEVICE">%2$s</xliff:g></b> cihazınızda size bildirim göndermesine izin verilsin mi?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uygulamasının size <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> cihazında bildirim göndermesine izin verilsin mi?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Kontrol edilen izinler"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> konuma erişebiliyor"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Kuruluşunuz <xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının konumunuza erişmesine izin veriyor"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Yok"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Son\n24 saat"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Son\n7 gün"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> yüzde <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android korumalıdır. Verileriniz bu cihazda işlendiği için bu uygulamanın izin kullanımı durum çubuğunda veya gizlilik kontrol panelinizde gösterilmez."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g>, Android korumalıdır. Verileriniz bu cihazda işlendiği için bu uygulamanın izin kullanımı gizlilik kontrol panelinizde gösterilmez."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Cihaz kamerası engellenmiş"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Uygulamalar ve hizmetler için"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofon verileri, bir acil durum numarasını aradığınızda paylaşılmaya devam edilebilir."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Değiştir"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kamera erişimi kapalı"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Bilgi-eğlence sistemi uygulamaları için"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Gerekli uygulamalar için"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Bu uygulama gereklidir"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Bu uygulama, araba üreticiniz tarafından gerekli kılınmıştır"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Güvenlik ve gizlilik"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Cihaz taraması yap"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Kapat"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Veri paylaşımı güncellemeleri"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Bazı uygulamalar, konum verilerinizi paylaşma şeklini değiştirdi"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Ayarlar"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Erişim zamanı: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Dün saat <xliff:g id="TIME_DATE">%1$s</xliff:g> itibarıyla erişildi"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Erişim tarihi: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Tek kullanımlık şifreniz 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Kısıtlanmış ayar"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Güvenliğiniz için bu ayar şu anda kullanılamıyor."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Uygulamanın <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> iznine erişimi reddedildi"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Uygulama, kişisel ve finansal bilgilerinizi riske atabilecek hassas bir izne erişim istedi.<xliff:g id="ID_1"><br><br></xliff:g>Bu kısıtlı izin olmadan uygulama düzgün çalışmayabilir. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Erişime nasıl izin vereceğinizi öğrenin</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Uygulamanın varsayılan <xliff:g id="ROLE_NAME">%1$s</xliff:g> olarak kullanılma erişimi reddedildi"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Uygulama, kişisel ve finansal bilgilerinizi riske atabilecek hassas izinlere erişim istedi.<xliff:g id="ID_1"><br><br></xliff:g>Bu kısıtlı izinler olmadan uygulama düzgün çalışmayabilir. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Erişime nasıl izin vereceğinizi öğrenin</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Uygulamanın erişimi reddedildi"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Bu izne erişim, kişisel ve finansal bilgilerinizi riske atabilir.<xliff:g id="ID_1"><br><br></xliff:g>Bu kısıtlı izin olmadan uygulama düzgün çalışmayabilir. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Erişime nasıl izin vereceğinizi öğrenin</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Daha fazla bilgi edinin"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"Tamam"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"İzin isteği reddedildi"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Bu uygulama ek izinler istiyor ancak akış oturumundayken izin verilemez. Önce telefonunuzda ilgili izni verin."</string> </resources> diff --git a/PermissionController/res/values-uk-v34/strings.xml b/PermissionController/res/values-uk-v34/strings.xml index 5d14c8ebe..b40b556f4 100644 --- a/PermissionController/res/values-uk-v34/strings.xml +++ b/PermissionController/res/values-uk-v34/strings.xml @@ -17,11 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="security_privacy_brand_name" msgid="7303621734258440812">"Безпека й конфіденційність"</string> + <string name="security_privacy_brand_name" msgid="7303621734258440812">"Захист і конфіденційність"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"Параметри"</string> <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"Керуйте доступом додатків до даних про здоров’я"</string> <string name="location_settings" msgid="8863940440881290182">"Доступ до геоданих"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Для додатків і сервісів. Якщо це налаштування вимкнено, дані мікрофона можуть усе одно передаватися під час виклику екстреного номера."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Для додатків і сервісів"</string> </resources> diff --git a/PermissionController/res/values-uk-watch/strings.xml b/PermissionController/res/values-uk-watch/strings.xml index 244c24ec8..e83f408ef 100644 --- a/PermissionController/res/values-uk-watch/strings.xml +++ b/PermissionController/res/values-uk-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Не можна змінити"</string> <string name="generic_yes" msgid="2489207724988649846">"Так"</string> <string name="generic_cancel" msgid="2631708607129269698">"Скасувати"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Завжди"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Під час використ. додатка"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Завжди"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Під час використ. додатка"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Завжди"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Під час використ. додатка"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Завжди"</string> </resources> diff --git a/PermissionController/res/values-uk/strings.xml b/PermissionController/res/values-uk/strings.xml index 9a39e12ee..31f9e95f1 100644 --- a/PermissionController/res/values-uk/strings.xml +++ b/PermissionController/res/values-uk/strings.xml @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"Ви заборонили додатку <xliff:g id="APP_NAME">%1$s</xliff:g> такий доступ: <xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Сьогодні}=1{1 день тому}one{# день тому}few{# дні тому}many{# днів тому}other{# дня тому}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Вимкнути додаток"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"Якщо вимкнути цей додаток, система Android та інші додатки можуть працювати неналежним чином. Важливо: ви не можете видалити цей додаток, оскільки він був попередньо встановлений на пристрої. Вимкнений додаток буде приховано."</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"Якщо вимкнути цей додаток, система Android і інші додатки можуть працювати неналежним чином. Важливо: ви не можете видалити цей додаток, оскільки він був попередньо встановлений на пристрої. Вимкнений додаток буде приховано."</string> <string name="app_permission_manager" msgid="3903811137630909550">"Менеджер дозволів"</string> <string name="never_ask_again" msgid="4728762438198560329">"Більше не запитувати"</string> <string name="no_permissions" msgid="3881676756371148563">"Немає дозволів"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Усі дозволи"</string> <string name="other_permissions" msgid="2901186127193849594">"Інші дозволи додатка"</string> <string name="permission_request_title" msgid="8790310151025020126">"Запит на дозвіл"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Встановлення й видалення не підтримуються на пристроях Android Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Виберіть, до чого додаток <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> матиме доступ"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Додаток <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> оновлено. Виберіть, до чого він матиме доступ."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Скасувати"</string> @@ -126,7 +124,7 @@ <string name="current_permissions_category" msgid="4292990083585728880">"Поточні дозволи"</string> <string name="message_staging" msgid="9110563899955511866">"Підготовка додатка…"</string> <string name="app_name_unknown" msgid="1319665005754048952">"Невідомо"</string> - <string name="permission_usage_title" msgid="1568233336351734538">"Панель керування доступом"</string> + <string name="permission_usage_title" msgid="1568233336351734538">"Панель керування дозволами"</string> <string name="auto_permission_usage_summary" msgid="7335667266743337075">"Показувати додатки, які нещодавно використовували дозволи"</string> <string name="permission_group_usage_title" msgid="2595013198075285173">"<xliff:g id="PERMGROUP">%1$s</xliff:g>: використання"</string> <string name="perm_usage_adv_info_title" msgid="3357831829538873708">"Переглянути інші дозволи"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Завжди дозволяти всі"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Запитувати щоразу"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Не дозволяти"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Точне місцезнаходження"</string> <string name="approximate_image_description" msgid="938803699637069884">"Приблизне місцезнаходження"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Використовувати точне місцезнаходження"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Якщо вимкнено доступ до точного місцезнаходження, додатки можуть отримувати дані про приблизне"</string> <string name="app_permission_title" msgid="2090897901051370711">"Дозвіл \"<xliff:g id="PERM">%1$s</xliff:g>\""</string> <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: доступ для цього додатка"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="PERM">%1$s</xliff:g>: доступ для цього додатка (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Переглянути всі дозволи додатка <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Переглянути всі додатки з цим дозволом"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Показати статус мікрофона Асистента"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Відкликати дозволи, якщо додаток не використовується"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Вилучати дозволи й звільняти місце"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Призупиняти роботу в неактивний період"</string> - <string name="unused_apps_summary" msgid="8839466950318403115">"Вилучити дозволи, видалити тимчасові файли та зупинити сповіщення"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Керувати невикористовуваним додатком"</string> + <string name="unused_apps_summary" msgid="8839466950318403115">"Вилучити дозволи, видалити тимчасові файли й зупинити сповіщення"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Вилучити дозволи, видалити тимчасові файли, зупинити сповіщення й архівувати додаток"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Щоб захистити ваші дані, дозволи для цього додатка буде автоматично скасовано, якщо ви не будете користуватися ним кілька місяців."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Якщо додаток не використовується впродовж кількох місяців, для захисту ваших даних буде скасовано такі дозволи: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Щоб захистити ваші дані, було скасовано дозволи додатків, які не використовувалися впродовж кількох місяців."</string> @@ -232,7 +235,7 @@ <string name="permission_description_summary_activity_recognition" msgid="2652850576497070146">"Додатки з цим дозволом мають доступ до даних про вашу фізичну активність (ходьбу, поїздки на велосипеді й автомобілі, кількість кроків тощо)"</string> <string name="permission_description_summary_calendar" msgid="103329982944411010">"Додатки з цим дозволом мають доступ до вашого календаря"</string> <string name="permission_description_summary_call_log" msgid="7321437186317577624">"Додатки з цим дозволом можуть переглядати й редагувати ваш журнал викликів"</string> - <string name="permission_description_summary_camera" msgid="108004375101882069">"Додатки з цим дозволом можуть робити знімки та записувати відео"</string> + <string name="permission_description_summary_camera" msgid="108004375101882069">"Додатки з цим дозволом можуть робити знімки й записувати відео"</string> <string name="permission_description_summary_contacts" msgid="2337798886460408996">"Додатки з цим дозволом мають доступ до ваших контактів"</string> <string name="permission_description_summary_location" msgid="2817531799933480694">"Додатки з цим дозволом мають доступ до геоданих цього пристрою"</string> <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Додатки з цим дозволом можуть знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Можуть керувати всіма файлами"</string> <string name="ask_header" msgid="2633816846459944376">"Запитувати щоразу"</string> <string name="denied_header" msgid="903209608358177654">"Заборонено"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>)"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Переглянути інші додатки, які мають доступ до всіх файлів"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 день}one{# день}few{# дні}many{# днів}other{# дня}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# година}one{# година}few{# години}many{# годин}other{# години}}"</string> @@ -352,14 +356,14 @@ <string name="role_assistant_label" msgid="4727586018198208128">"Цифровий помічник за умовчанням"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"Цифровий помічник"</string> <string name="role_assistant_description" msgid="6622458130459922952">"Помічники надають допомогу на основі вмісту, який ви переглядаєте на екрані. Задля ефективності деякі додатки підтримують панель запуску й голосовий ввід."</string> - <string name="role_browser_label" msgid="2877796144554070207">"Веб-переглядач за умовчанням"</string> - <string name="role_browser_short_label" msgid="6745009127123292296">"Веб-переглядач"</string> + <string name="role_browser_label" msgid="2877796144554070207">"Вебпереглядач за умовчанням"</string> + <string name="role_browser_short_label" msgid="6745009127123292296">"Вебпереглядач"</string> <string name="role_browser_description" msgid="3465253637499842671">"Додатки, за допомогою яких можна переглядати сайти й переходити за посиланнями"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"Зробити <xliff:g id="APP_NAME">%1$s</xliff:g> веб-переглядачем за умовчанням?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"Дозволи не потрібні"</string> <string name="role_dialer_label" msgid="1100224146343237968">"Дзвінки за умовчанням"</string> <string name="role_dialer_short_label" msgid="7186888549465352489">"Додаток для викликів"</string> - <string name="role_dialer_description" msgid="8768708633696539612">"Додатки, у яких можна здійснювати та приймати виклики на пристрої"</string> + <string name="role_dialer_description" msgid="8768708633696539612">"Додатки, у яких можна здійснювати й приймати виклики на пристрої"</string> <string name="role_dialer_request_title" msgid="5959618560705912058">"Чи має <xliff:g id="APP_NAME">%1$s</xliff:g> використовуватись як додаток для викликів за умовчанням?"</string> <string name="role_dialer_request_description" msgid="6288839625724909320">"Цьому додатку буде надано дозволи \"Камера\", \"Контакти\", \"Мікрофон\", \"Телефон\" і \"SMS\""</string> <string name="role_dialer_search_keywords" msgid="3324448983559188087">"телефон"</string> @@ -388,7 +392,7 @@ <string name="role_call_redirection_request_description" msgid="3118895714178527164">"Дозволи не потрібні"</string> <string name="role_call_screening_label" msgid="883935222060878724">"АВН і захист від спаму за умовчанням"</string> <string name="role_call_screening_short_label" msgid="2048465565063130834">"АВН і захист від спаму"</string> - <string name="role_call_screening_description" msgid="2349431420497468981">"Додатки для керування вхідними викликами, за допомогою яких можна визначати, хто та навіщо вам телефонує, а також блокувати спам, автоматичні виклики або дзвінки з небажаних номерів"</string> + <string name="role_call_screening_description" msgid="2349431420497468981">"Додатки для керування вхідними викликами, за допомогою яких можна визначати, хто й навіщо вам телефонує, а також блокувати спам, автоматичні виклики або дзвінки з небажаних номерів"</string> <string name="role_call_screening_request_title" msgid="7358309224566977290">"Зробити <xliff:g id="APP_NAME">%1$s</xliff:g> додатком для автоматичного визначення номерів і захисту від спаму за умовчанням?"</string> <string name="role_call_screening_request_description" msgid="7338511921032446006">"Дозволи не потрібні"</string> <string name="role_automotive_navigation_label" msgid="2701890757955474751">"Навігаційний додаток за умовчанням"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Додаток для нотаток"</string> <string name="role_notes_description" msgid="8496852798616883551">"Додатки, у яких можна робити нотатки на вашому пристрої"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"нотатки"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Гаманець за умовчанням"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Гаманець"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"У гаманцях можуть зберігатися ваші картки постійного покупця й кредитні картки, автомобільні ключі та інші об’єкти, які полегшують здійснення різних трансакцій."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Зробити додаток <xliff:g id="APP_NAME">%1$s</xliff:g> гаманцем за умовчанням?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Дозволи не потрібні"</string> <string name="request_role_current_default" msgid="738722892438247184">"Поточний за умовчанням"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Не запитувати знову"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Вибрати за умовчанням"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Інші додатки за умовчанням"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Відкривання посилань"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Для роботи за умовчанням"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"За умовчанням для приватного простору"</string> <string name="default_app_none" msgid="9084592086808194457">"Немає"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(За умовчанням)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Немає додатків"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Показувати значок очікування активатора асистента"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Показувати значок у рядку стану, коли мікрофон працює в режимі очікування активатора голосового помічника"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото й медіа на пристрої?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото й медіаконтенту на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото й медіаконтенту на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до контактів?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до контактів на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до контактів на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до місцезнаходження пристрою?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до місцезнаходження на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до геоданих пристрою <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Додаток матиме доступ до геоданих, лише коли ви ним користуєтеся"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до місцезнаходження пристрою?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до геоданих на <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до геоданих пристрою <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Додаток може запитувати доступ до ваших геоданих, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Змінити доступ до геоданих для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Змінити налаштування доступу до геоданих для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Змінити налаштування доступу до геоданих для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Додаток хоче завжди отримувати доступ до ваших геоданих, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Дозволити додатку <xliff:g id="APP_NAME">%1$s</xliff:g> знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Дозволити додатку <xliff:g id="APP_NAME">%1$s</xliff:g> знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування? "<annotation id="link">"Дозвольте в налаштуваннях."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Змінити доступ до місцезнаходження для додатка <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> з приблизного на точне?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Змінити доступ до місцезнаходження для додатка <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> на <b><xliff:g id="DEVICE">%2$s</xliff:g></b> з приблизного на точне?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Змінити доступ до місцезнаходження для додатка <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> з приблизного на точне?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до приблизного місцезнаходження пристрою?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до приблизного місцезнаходження <b><xliff:g id="DEVICE">%2$s</xliff:g></b>’?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до приблизного місцезнаходження пристрою <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Точне"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Приблизне"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до календаря?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до календаря на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до календаря на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати та переглядати SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати й переглядати SMS на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати й переглядати SMS на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото, медіа та файлів на пристрої?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото, медіаконтенту й файлів на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото, медіаконтенту й файлів на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до <b>фото, відео, музики й аудіо</b> на цьому пристрої?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до <b>фото, відео, музики, аудіо й інших файлів</b> на пристрої?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до музики й аудіофайлів на цьому пристрої?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до музики й аудіо на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до музики й аудіо на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фотографій і відео на цьому пристрої?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото й відео на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до фото й відео на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до інших фото й відео на цьому пристрої?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до інших фото й відео на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до інших фото й відео на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати аудіо?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати звук на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати аудіо на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Додаток зможе записувати звук, лише коли ви використовуєте його"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати звук?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати звук на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> записувати аудіо на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Цей додаток може записувати звук, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Змінити налаштування доступу до мікрофона для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Змінити налаштування доступу до мікрофона для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Змінити налаштування доступу до мікрофона для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Цей додаток може записувати звук, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до даних про фізичну активність?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до даних про фізичну активність на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки та записувати відео?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до ваших даних про фізичну активність на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Додаток зможе робити фотографії та записувати відео, лише коли ви використовуєте його"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> робити знімки й записувати відео на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Цей додаток може робити фотографії та записувати відео, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Змінити налаштування доступу до камери для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Змінити налаштування доступу до камери для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Змінити налаштування доступу до камери для додатка <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Цей додаток може робити фотографії та записувати відео, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до журналів викликів телефона?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до журналів викликів на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> - <string name="permgrouprequest_phone" msgid="1829234136997316752">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> здійснювати телефонні дзвінки та керувати ними?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> здійснювати телефонні дзвінки й керувати ними на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до журналів викликів на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_phone" msgid="1829234136997316752">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> здійснювати телефонні дзвінки й керувати ними?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> здійснювати телефонні дзвінки й керувати ними на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Надати додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до життєвих показників із датчиків?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до життєвих показників від датчиків на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до даних датчиків про ваші життєві показники на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Цей додаток хоче постійно отримувати дані життєвих показників від датчиків, навіть коли ви не використовуєте його. Щоб внести зміни, "<annotation id="link">"перейдіть у налаштування"</annotation>"."</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до життєвих показників із датчиків?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до життєвих показників від датчиків на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до даних датчиків про ваші життєві показники на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Щоб надати додатку постійний доступ до показників датчиків на тілі, навіть коли він не використовується, "<annotation id="link">"перейдіть у налаштування"</annotation>"."</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Надавати й надалі додатку <xliff:g id="APP_NAME">%1$s</xliff:g> доступ до показників датчиків на тілі, коли він використовується?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Дозволяти й надалі додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до показників датчиків на тілі на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>, коли додаток використовується?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Дозволяти й надалі додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> доступ до даних датчиків на тілі на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>, коли додаток використовується?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати вам сповіщення?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати вам сповіщення на <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Дозволити додатку <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> надсилати вам сповіщення на пристрої <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Керовані дозволи"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> має доступ до геоданих"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Ваша організація надає додатку <xliff:g id="APP_NAME">%1$s</xliff:g> доступ до ваших геоданих"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Немає"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Минулі\n24 години"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Останні\n7 днів"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>: <xliff:g id="PERCENT">%2$d</xliff:g> відсотків"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> захищено системою Android. Оскільки ваші дані обробляються на цьому пристрої, дозволи, які використовує цей додаток, не відображаються на панелі керування дозволами чи в рядку стану."</string> <string name="exempt_info_label" msgid="6286190981253476699">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> захищено системою Android. Оскільки ваші дані обробляються на цьому пристрої, дозволи, які використовує цей додаток, не відображаються на панелі керування дозволами."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Камеру пристрою заблоковано"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Для додатків і сервісів"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Дані мікрофона можуть усе одно передаватися під час виклику на екстрений номер."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Змінити"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Доступ до камери вимкнено"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Для додатків інформаційно-розважальної системи"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Для обов’язкових додатків"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Це обов’язковий додаток"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Це обов’язковий додаток згідно з вимогами виробника автомобіля"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Безпека й конфіденційність"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Сканувати пристрій"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Закрити"</string> @@ -610,7 +626,7 @@ <string name="mic_toggle_title" msgid="2649991093496110162">"Доступ до мікрофона"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Для додатків і сервісів"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Для додатків і сервісів. Якщо це налаштування вимкнено, дані мікрофона можуть усе одно передаватися під час виклику екстреного номера."</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"Перегляньте додатки та сервіси, які мають доступ до геоданих"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"Перегляньте додатки й сервіси, які мають доступ до геоданих"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Показувати сповіщення про доступ до буфера обміну"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"З’являтиметься сповіщення, коли будь-який додаток отримуватиме доступ до скопійованого вами тексту, зображень чи іншого контенту"</string> <string name="show_password_title" msgid="2877269286984684659">"Показувати паролі"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Оновлення способу передавання даних"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Деякі додатки змінили спосіб передавання ваших геоданих"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Налаштування"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Доступ отримано: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Доступ отримано вчора: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Доступ отримано: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Ваш одноразовий пароль: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Налаштування з обмеженнями"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"З міркувань безпеки це налаштування наразі недоступне."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Додатку не надано дозвіл \"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>\""</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Додаток запитав дозвіл на доступ до чутливих даних, що може поставити під загрозу вашу особисту й фінансову інформацію.<xliff:g id="ID_1"><br><br></xliff:g>Без цього обмеженого дозволу додаток може не працювати належним чином. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Як надати доступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Додатку не надано доступ до ролі \"<xliff:g id="ROLE_NAME">%1$s</xliff:g>\" за умовчанням"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Додаток запитав дозволи на доступ до чутливих даних, що може поставити під загрозу вашу особисту й фінансову інформацію.<xliff:g id="ID_1"><br><br></xliff:g>Без цих обмежених дозволів додаток може не працювати належним чином. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Як надати доступ</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Додатку не надано доступ"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Доступ до цього дозволу може поставити під загрозу вашу особисту й фінансову інформацію.<xliff:g id="ID_1"><br><br></xliff:g>Без цього обмеженого дозволу додаток може не працювати належним чином. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Як надати доступ</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Докладніше"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ОК"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Запит на доступ відхилено"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Цьому додатку потрібно більше дозволів, але їх не можна надати під час потокового передавання. Спершу надайте дозвіл на телефоні."</string> </resources> diff --git a/PermissionController/res/values-ur-v34/strings.xml b/PermissionController/res/values-ur-v34/strings.xml index 37b5ec635..f7aa633cb 100644 --- a/PermissionController/res/values-ur-v34/strings.xml +++ b/PermissionController/res/values-ur-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"صحت کے ڈیٹا تک ایپ کی رسائی کا نظم کریں"</string> <string name="location_settings" msgid="8863940440881290182">"مقام تک رسائی"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"ایپس اور سروسز کے لیے۔ اگر یہ ترتیب آف ہو تو آپ کے ایمرجنسی نمبر پر کال کرتے وقت بھی مائیکروفون کے ڈیٹا کا اشتراک کیا جا سکتا ہے"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"ایپس اور سروسز کے لیے"</string> </resources> diff --git a/PermissionController/res/values-ur-watch/strings.xml b/PermissionController/res/values-ur-watch/strings.xml index bb0273bc4..1dab4010d 100644 --- a/PermissionController/res/values-ur-watch/strings.xml +++ b/PermissionController/res/values-ur-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"ناقابل تبدیل"</string> <string name="generic_yes" msgid="2489207724988649846">"ہاں"</string> <string name="generic_cancel" msgid="2631708607129269698">"منسوخ کریں"</string> + <string name="permission_access_always" msgid="2107115233573823032">"ہر وقت"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"ایپ استعمال کرنے کے دوران"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"ہر وقت"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"ایپ استعمال کرنے کے دوران"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"ہر وقت"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"ایپ استعمال کرنے کے دوران"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"ہر وقت"</string> </resources> diff --git a/PermissionController/res/values-ur/strings.xml b/PermissionController/res/values-ur/strings.xml index f1d9a96dc..bd41d40b8 100644 --- a/PermissionController/res/values-ur/strings.xml +++ b/PermissionController/res/values-ur/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"تمام اجازتیں"</string> <string name="other_permissions" msgid="2901186127193849594">"ایپ کی دوسری اہلیتیں"</string> <string name="permission_request_title" msgid="8790310151025020126">"اجازت کی درخواست"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"\'کارروائیاں انسٹال/اَن انسٹال کریں\' Wear پر تعاون یافتہ نہیں ہے۔"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"منتخب کریں کہ <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو کس چیز تک رسائی کی اجازت دینی ہے"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> اپ ڈیٹ ہو گئی ہے۔ منتخب کریں کہ اس ایپ کو کس تک رسائی کی اجازت دینی ہے۔"</string> <string name="review_button_cancel" msgid="2191147944056548886">"منسوخ کریں"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"ہمیشہ سبھی کو اجازت دیں"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"ہر بار پوچھیں"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"اجازت نہ دیں"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"قطعی مقام"</string> <string name="approximate_image_description" msgid="938803699637069884">"تخمینی مقام"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"قطعی مقام استعمال کریں"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"قطعی مقام آف ہونے پر ایپس آپ کے تخمینی مقام تک رسائی حاصل کر سکتی ہیں"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> کی اجازت"</string> <string name="app_permission_header" msgid="2951363137032603806">"اس ایپ کیلئے <xliff:g id="PERM">%1$s</xliff:g> تک رسائی"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> پر اس ایپ تک رسائی حاصل کریں<xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> کی سبھی اجازتیں دیکھیں"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"اس اجازت والی سبھی ایپس دیکھیں"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"اسسٹنٹ مائیکروفون کا استعمال دکھائیں"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"ایپ کے استعمال نہ ہونے پر اجازتیں ہٹائیں"</string> <string name="unused_apps_label" msgid="2595428768404901064">"اجازتوں کو ہٹائیں اور جگہ خالی کریں"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"غیر استعمال شدہ ہو تو ایپ سرگرمی روکیں"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"اگر غیر استعمال شدہ ہے تو ایپ کا نظم کریں"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"اجازتیں ہٹائیں، عارضی فائلز حذف کریں اور اطلاعات موقوف کریں"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"اجازتیں ہٹائیں، عارضی فائلوں کو حذف کریں، اطلاعات کو روکیں اور ایپ کو آرکائیو کریں"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"آپ کے ڈیٹا کی حفاظت کے لیے، اگر ایپ کو کچھ مہینوں تک استعمال نہیں کیا گیا تو اس ایپ کے لیے اجازتیں ہٹا دی جائیں گی۔"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"آپ کے ڈیٹا کی حفاظت کے لیے، اگر ایپ کو کچھ مہینوں تک استعمال نہیں کیا گيا تو درج ذیل اجازتیں ہٹا دی جائیں گی: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"آپ کے ڈیٹا کی حفاظت کے لیے، اجازتوں کو ان ایپس سے ہٹا دیا گیا ہے جنہیں آپ نے کچھ مہینوں سے استعمال نہیں کیا ہے۔"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"سبھی فائلز کا نظم کرنے کے ليے اجازت یافتہ"</string> <string name="ask_header" msgid="2633816846459944376">"ہر بار پوچھیں"</string> <string name="denied_header" msgid="903209608358177654">"اجازت نہیں ہے"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> پر <xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"مزید ایپس دیکھیں جو تمام فائلز تک رسائی حاصل کر سکتی ہیں"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 دن}other{# دن}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# گھنٹہ}other{# گھنٹے}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"نوٹس ایپ"</string> <string name="role_notes_description" msgid="8496852798616883551">"ایسی ایپس جو آپ کو آپ کے آلے پر نوٹس لینے کی اجازت دیتی ہیں"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"نوٹس"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"ڈیفالٹ والٹ ایپ"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"والٹ ایپ"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"والٹ ایپس آپ کے کریڈٹ اور لائلٹی کارڈز، کار کی کلیدوں اور دیگر چیزوں کو ٹرانزیکشنز کی مختلف شکلوں میں مدد کے لیے اسٹور کر سکتی ہیں۔"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو آپ کی ڈیفالٹ والٹ ایپ کے طور پر سیٹ کریں؟"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"کوئی اجازت درکار نہیں ہے"</string> <string name="request_role_current_default" msgid="738722892438247184">"موجودہ ڈیفالٹ"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"دوبارہ نہ پوچھیں"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"بطور ڈیفالٹ سیٹ کریں"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"مزید ڈیفالٹس"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"شروعاتی لنکس"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"کام کیلئے ڈیفالٹ"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"پرائیویٹ اسپیس کے لیے ڈیفالٹ"</string> <string name="default_app_none" msgid="9084592086808194457">"کوئی نہیں"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(سسٹم ڈیفالٹ)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"کوئی ایپس نہیں ہیں"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"اسسٹنٹ ٹریگر کا پتہ لگانا دکھائیں"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"جب صوتی معاون کو فعال کرنے کے لیے مائیکروفون کا استعمال کیا جائے تو اسٹیٹس بار میں آئیکن دکھائیں"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے آلہ پر تصاویر اور میڈیا تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر تصاویر اور میڈیا تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر تصاویر اور میڈیا تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے رابطوں تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کے رابطوں تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آپ کے رابطوں تک رسائی کے ليے lt;b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اس آلہ کے مقام تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> کے مقام تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> کے مقام تک رسائی کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"جب آپ ایپ استعمال کریں گے تبھی ایپ کو مقام تک رسائی حاصل ہوگی"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اس آلہ کے مقام تک رسائی کی اجازت دیں؟"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> کے مقام تک رسائی کی اجازت دیں؟"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> کے مقام تک رسائی کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"ممکن ہے یہ ایپ ہر وقت آپ کے مقام تک رسائی حاصل کرنا چاہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link"></annotation>"ترتیبات میں اجازت دیں۔"</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کے ليے مقام تک رسائی تبدیل کریں"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی مقام تک رسائی کو تبدیل کریں؟"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی مقام تک رسائی کو تبدیل کریں؟"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"یہ ایپ ہر وقت آپ کے مقام تک رسائی حاصل کرنا چاہتی ہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link"></annotation>"ترتیبات میں اجازت دیں۔"</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو قریبی آلات تلاش کرنے، ان سے منسلک ہونے اور ان کی متعلقہ پوزیشن کا تعین کرنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر قریبی آلات کی متعلقہ پوزیشن تلاش کرنے، ان سے منسلک ہونے اور اس کا تعین کرنے کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر قریبی آلات کی متعلقہ پوزیشن تلاش کرنے، ان سے منسلک ہونے اور اس کا تعین کرنے کی اجازت دیں؟"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو قریبی آلات تلاش کرنے، ان سے منسلک ہونے اور ان کی متعلقہ پوزیشن کا تعین کرنے کی اجازت دیں؟ "<annotation id="link">"ترتیبات میں اجازت دیں۔"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> کے مقام تک رسائی کو تخمینی سے قطعی میں تبدیل کریں؟"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> کے مقام تک رسائی کو تخمینی سے قطعی میں تبدیل کریں؟"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME"><b>%1$s</b></xliff:g></b> کے مقام تک رسائی کو تخمینی سے قطعی میں تبدیل کریں؟"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اس آلے کے تخمینی مقام تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> کے تخمینی مقام تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> کے تخمینی مقام تک رسائی حاصل کرنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"قطعی"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"تخمینی"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے کیلنڈر تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کے کیلنڈر تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر اپنے کیلنڈر تک رسائی حاصل کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو SMS پیغامات بھیجنے اور انہیں ملاحظہ کرنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر SMS پیغامات بھیجنے اور دیکھنے کی اجازت دیں؟؟"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر SMS پیغامات بھیجیںے اور ديکھنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے آلہ پر تصاویر، میڈیا اور فائلوں تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر تصاویر، میڈیا اور فائلز تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر تصاویر، میڈیا اور فائلز کی رسائی کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"اس آلے پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو <b>تصاویر، ویڈیوز، موسیقی اور آڈیو</b> تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"اس آلے پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو <b>تصاویر، ویڈیوز، موسیقی، آڈیو اور دیگر فائلز</b> تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"اس آلے پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو موسیقی اور آڈیو تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر موسیقی اور آڈیو تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر موسیقی اور آڈیو تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"اس آلے پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اس آلے پر مزید تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر مزید تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر مزيد تصاوير اور ویڈیوز تک رسائی حاصل کرنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"آڈیو ریکارڈ کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آڈيو ریکارڈ کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt کو اجازت ديں؟"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"جب آپ ایپ استعمال کر رہے ہوں تب ایپ صرف آڈیو ریکارڈ کر پائے گی"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"آڈیو ریکارڈ کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت دیں؟"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آڈيو ریکارڈ کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b&gt کو اجازت ديں؟"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ممکن ہے یہ ایپ ہر وقت آڈیو ریکارڈ کرنا چاہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link">"ترتیبات میں اجازت دیں۔"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>? کے ليے مائیکروفون تک رسائی تبدیل کریں؟"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی مائیکروفون تک رسائی تبدیل کریں؟"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی مائیکروفون تک رسائی تبدیل کریں؟"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"یہ ایپ ہر وقت آڈیو ریکارڈ کرنا چاہتی ہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link">"ترتیبات میں اجازت دیں۔"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g><b> کو آپ کی جسمانی سرگرمی کی شناخت کرنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کی جسمانی سرگرمی تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آپ کی جسمانی سرگرمی تک رسائی کی اجازت دیں؟"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو تصاویر لینے اور ویڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر تصاویر لینے اور ویڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر تصاویر لینے اور ویڈیو ریکارڈ کرنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"جب آپ ایپ استعمال کر رہے ہوں تب ایپ صرف تصاویر لے سکے گی اور ویڈیوز ریکارڈ کر پائے گی"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو تصاویر لینے اور ویڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر تصاویر لینے اور ویڈیو ریکارڈ کرنے کی اجازت دیں؟"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر تصاویر لینے اور ویڈیو ریکارڈ کرنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ممکن ہے یہ ایپ ہر وقت تصاویر لینا اور ویڈیو ریکارڈ کرنا چاہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link">"ترتیبات میں اجازت دیں۔"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>? کے ليے کیمرا تک رسائی تبدیل کریں؟"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی کیمرا تک رسائی تبدیل کریں؟"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی کیمرا تک رسائی تبدیل کریں؟"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"یہ ایپ ہر وقت تصاویر لینا اور ویڈیو ریکارڈ کرنا چاہتی ہے، اگرچہ آپ ایپ استعمال نہ کر رہے ہوں۔ "<annotation id="link">"ترتیبات میں اجازت دیں۔"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے فون کال لاگز تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کے فون کال لاگز تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر اپنے فون کال لاگز تک رسائی حاصل کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديں؟"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"</b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو فون کالز کرنے اور ان کا نظم کرنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر فون کالز کرنے اور ان کا نظم کرنے کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b&gt پر فون کالز کرنے اور ان کا نطم کرنے کے لیے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی اجازت ديں؟"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے اہم اشاروں کے متعلق سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کی علامات حیات کے بارے میں سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آپ کی علامات حیات کے بارے میں سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"آپ کے ایپ کا استعمال نہ کرنے کے باوجود یہ ایپ ہر وقت آپ کے اہم علامتوں کے متعلق سینسر ڈیٹا تک رسائی حاصل کرنا چاہتی ہے۔ یہ تبدیلی کرنے کے لیے "<annotation id="link">"ترتیبات پر جائیں۔"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے اہم اشاروں کے متعلق سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر آپ کی علامات حیات کے بارے میں سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آپ کی علامات حیات کے بارے میں سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"آپ کے ایپ کا استعمال نہ کرنے کے باوجود اس ایپ کو ہر وقت باڈی سینسر ڈیٹا تک رسائی کی اجازت دینے کے لیے "<annotation id="link">"ترتیبات پر جائیں۔"</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"ایپ کے استعمال میں ہونے کے دوران <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو باڈی سینسر ڈیٹا تک رسائی کی اجازت دینا جاری رکھیں؟"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"ایپ کے استعمال کے دوران <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے </b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر باڈی سینسر ڈیٹا تک رسائی کی اجازت دینا جاری رکھیں؟"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"ايپ استمال ہونے تک </b><xliff:g id="DEVICE_NAME">%2$s</xliff:g><b> پر باڈی سینسر ڈيٹا کی رسائی کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو اجازت ديتے رہيں؟"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کو اطلاعات بھیجنے کی اجازت دیں؟"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کو آپ کے <b><xliff:g id="DEVICE">%2$s</xliff:g></b> پر اطلاعات بھیجنے کی اجازت دیں؟"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> پر آپ کو اطلاعات بھيجنے کے ليے <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> کی اجازت ديں؟"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"کنٹرول کی گئی اجازتیں"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> کے پاس مقام تک رسائی حاصل ہے"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"آپ کی تنظیم <xliff:g id="APP_NAME">%1$s</xliff:g> کو آپ کے مقام تک رسائی کی اجازت دیتی ہے"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"کوئی نہیں"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"گزشتہ\n24 گھنٹے"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"گزشتہ\n7 دن"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> فیصد"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"Android <xliff:g id="APP_NAME">%1$s</xliff:g> کے ساتھ تحفظ یافتہ ہے۔ کیونکہ آپ کے ڈیٹا پر اس آلے پر کارروائی کی جاتی ہے، اس ایپ کی اجازت کا استعمال اسٹیٹس بار یا آپ کے پرائیویسی ڈیش بورڈ پر دکھائی نہیں دیتا ہے۔"</string> <string name="exempt_info_label" msgid="6286190981253476699">"Android <xliff:g id="APP_NAME">%1$s</xliff:g> کے ساتھ تحفظ یافتہ ہے۔ کیونکہ آپ کے ڈیٹا پر اس آلے پر کارروائی کی جاتی ہے، اس ایپ کی اجازت کا استعمال آپ کے پرائیویسی ڈیش بورڈ پر دکھائی نہیں دیتا ہے۔"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"آلے کا کیمرا مسدود ہے"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"ایپس اور سروسز کے لیے"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"جب آپ ایمرجنسی نمبر پر کال کرتے ہیں تو مائیکروفون کے ڈیٹا کا اب بھی اشتراک کیا جا سکتا ہے۔"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"تبدیل کریں"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"کیمرا تک رسائی آف ہے"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"معلوماتی انٹرٹینمنٹ ایپس کے لیے"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"درکار ایپس کیلئے"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"یہ ایپ درکار ہے"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"یہ ایپ آپ کی کار کے مینوفیکچرر کو درکار ہے"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"سیکیورٹی اور رازداری"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"آلہ اسکین کریں"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"برخاست کریں"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"ڈیٹا کے اشتراک کی اپ ڈیٹس"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"کچھ ایپس نے آپ کے مقام کے ڈیٹا کے اشتراک کے اپنے ممکنہ طریقے کو تبدیل کر دیا"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"ترتیبات"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g> پر رسائی حاصل کی گئی"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"گزشتہ کل <xliff:g id="TIME_DATE">%1$s</xliff:g> پر رسائی حاصل کی گئی"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g> پر رسائی حاصل کی گئی"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"آپ کا ایک وقتی پاس ورڈ 132435 ہے"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"محدود ترتیب"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"آپ کی سیکیورٹی کیلئے، یہ ترتیب فی الحال دستیاب نہیں ہے۔"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> تک ایپ کی رسائی کو مسترد کر دیا گیا"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"ایپ نے ایک حساس اجازت تک رسائی کی درخواست کی ہے جو آپ کی ذاتی اور مالی معلومات کو خطرے میں ڈال سکتی ہے۔<xliff:g id="ID_1"><br><br></xliff:g>یہ ممکن ہے کہ اس محدود اجازت کے بغیر ایپ ٹھیک سے کام نہ کرے۔ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>رسائی کی اجازت دینے کا طریقہ جانیں</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"ڈیفالٹ <xliff:g id="ROLE_NAME">%1$s</xliff:g> ہونے کے لیے ایپ کی رسائی کو مسترد کر دیا گیا"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"ایپ نے حساس اجازتوں تک رسائی کی درخواست کی ہے جو آپ کی ذاتی اور مالی معلومات کو خطرے میں ڈال سکتی ہیں۔<xliff:g id="ID_1"><br><br></xliff:g>یہ ممکن ہے کہ ان محدود اجازتوں کے بغیر ایپ ٹھیک سے کام نہ کرے۔ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>رسائی کی اجازت دینے کا طریقہ جانیں</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"ایپ کی رسائی کو مسترد کر دیا گیا"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"اس اجازت تک رسائی آپ کی ذاتی اور مالی معلومات کو خطرے میں ڈال سکتی ہے۔<xliff:g id="ID_1"><br><br></xliff:g>یہ ممکن ہے کہ اس محدود اجازت کے بغیر ایپ ٹھیک سے کام نہ کرے۔ <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>رسائی کی اجازت دینے کا طریقہ جانیں</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"مزید جانیں"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"ٹھیک ہے"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"اجازت کی درخواست مسترد کر دی گئی"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"یہ ایپ اضافی اجازتوں کی درخواست کر رہی ہے، لیکن سلسلہ بندی کے سیشن میں اجازتیں نہیں دی جا سکتیں۔ پہلے اپنے فون پر اجازت دیں۔"</string> </resources> diff --git a/PermissionController/res/values-uz-v34/strings.xml b/PermissionController/res/values-uz-v34/strings.xml index 3c48cd9d1..21388d616 100644 --- a/PermissionController/res/values-uz-v34/strings.xml +++ b/PermissionController/res/values-uz-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Salomatlik maʼlumotlariga ilova ruxsatini boshqaring"</string> <string name="location_settings" msgid="8863940440881290182">"Joylashuv axborotiga ruxsat"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Ilovalar va xizmatlar uchun. Bu sozlama yoqilmasa, favqulodda xizmat raqamiga telefon qilganingizda mikrofon maʼlumotlari hamon ulashilishi mumkin"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Ilovalar va xizmatlar uchun"</string> </resources> diff --git a/PermissionController/res/values-uz-watch/strings.xml b/PermissionController/res/values-uz-watch/strings.xml index dbc7ee1a5..9ac60d9bc 100644 --- a/PermissionController/res/values-uz-watch/strings.xml +++ b/PermissionController/res/values-uz-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"O‘zgartirilmaydi"</string> <string name="generic_yes" msgid="2489207724988649846">"Ha"</string> <string name="generic_cancel" msgid="2631708607129269698">"Bekor q-sh"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Doimo"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Ilova ishlatilayotganda"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Doimo"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Ilova ishlatilayotganda"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Doimo"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Ilova ishlatilayotganda"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Doimo"</string> </resources> diff --git a/PermissionController/res/values-uz/strings.xml b/PermissionController/res/values-uz/strings.xml index 706ec1a6c..6af58847d 100644 --- a/PermissionController/res/values-uz/strings.xml +++ b/PermissionController/res/values-uz/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Barcha ruxsatlar"</string> <string name="other_permissions" msgid="2901186127193849594">"Ilovaning boshqa imkoniyatlari"</string> <string name="permission_request_title" msgid="8790310151025020126">"Ruxsat olish talabi"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear qurilmasi o‘rnatish/o‘chirish amallarini qo‘llab-quvvatlamaydi."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun beriladigan ruxsatlarni tanlang"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> yangilandi. Unga beriladigan ruxsatlarni tanlang."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Bekor qilish"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Doim hammasiga ruxsat"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Har safar soʻralsin"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Rad etish"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Aniq joylashuv"</string> <string name="approximate_image_description" msgid="938803699637069884">"Taxminiy joylashuv"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Aniq joylashuv axborotidan foydalanish"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Aniq joylashuv yoqilmasa, ilovalar taxminiy joylashuvingiz axborotidan foydalanadi"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> ruxsati"</string> <string name="app_permission_header" msgid="2951363137032603806">"Bu ilova uchun <xliff:g id="PERM">%1$s</xliff:g> ruxsati"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>da bu ilova uchun <xliff:g id="PERM">%1$s</xliff:g> kirish ruxsati"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"<xliff:g id="APP">%1$s</xliff:g> uchun berilgan barcha ruxsatlar"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Bu ruxsatga ega barcha ilovalar"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Assistent uchun mikrofondan foydalanishni koʻrsatish"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Ishlatilmayotgan ilovalardan ruxsatlarni olib tashlash"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Ruxsatlarni olib tashlash va joy ochish"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Ishlatilmayotgan ilovalarni pauzalash"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Ishlatilmagan ilovalarni boshqarish"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Ruxsatlarni olib tashlash, vaqtinchalik fayllarni oʻchirish va bildirishnomalarni toʻxtatish"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Ruxsatlarni olib tashlash, vaqtinchalik fayllarni oʻchirish, bildirishnomalarni toʻxtatish va ilovani arxivlash"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Xavfsizlik yuzasidan, bir necha oydan beri ishlatilmagan ilovalardan ruxsatlar olib tashlanadi"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Agar bu ilova bir necha oy ishlatilmasa, quyidagi ruxsatlar olib tashlanadi: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Xavfsizlik yuzasidan, bir necha oydan beri ishlatilmagan ilovalardan ruxsatlar olib tashlanadi"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Barcha fayllarga ruxsati bor"</string> <string name="ask_header" msgid="2633816846459944376">"Har safar soʻralsin"</string> <string name="denied_header" msgid="903209608358177654">"Ruxsat berilmagan"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> — <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Barcha fayllarga kirish uchun koʻproq ilovalarni koʻring"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 kun}other{# kun}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# soat}other{# soat}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Qaydlar ilovasi"</string> <string name="role_notes_description" msgid="8496852798616883551">"Qurilmangizda qaydlar olish imkonini beruvchi ilovalar"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"qaydlar"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Birlamchi hamyon ilovasi"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Hamyon ilovasi"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Hamyon ilovalarda kredit va sodiqlik kartalari, avtomobil kalitlari hamda boshqa raqamli mahsulotlarni saqlash mumkin. Bu har xil turdagi amaliyotlarni bajarishni yanada qulaylashtiradi."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"<xliff:g id="APP_NAME">%1$s</xliff:g> birlamchi hamyon ilovasi sifatida belgilansinmi?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Hech qanday ruxsat zarur emas"</string> <string name="request_role_current_default" msgid="738722892438247184">"Hozirda asosiy ilova"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Boshqa soʻralmasin"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Birlamchi deb belgilash"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Boshqa asosiy ilovalar"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Havolalarni ochish"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Ish uchun birlamchi"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Maxfiy makon uchun standart"</string> <string name="default_app_none" msgid="9084592086808194457">"Hech qanday"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Birlamchi)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Hech qanday ilova topilmadi"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Ovozli yordamchi faollashgani haqidagi belgini chiqarish"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Ovozli yordamchi mikrofon orqali faollashtirilganda, bu haqda holat qatorida maxsus belgi chiqadi"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun qurilmadagi suratlar va media fayllarga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>dagi suratlar va media fayllarga kirish ruxsati berilsinmi?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida rasmlar va media fayllardan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun kontaktlaringizga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da kontaktlaringizga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida kontaktlardan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun bu qurilmaning joylashuvi haqidagi axborotdan foydalanish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b> joylashuviga kirishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasining joylashuv axborotidan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Bu ilovadan foydalanilayotdangina u joylashuv axborotidan foydalana oladi"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun bu qurilmaning joylashuvi haqidagi axborotdan foydalanish ruxsati berilsinmi?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> joylashuviga kirishga ruxsat berilsinmi?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasining joylashuv axborotidan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Bu ilova ochiq emasligida ham joylashuvingiz haqidagi axborotdan foydalanmoqchi. Bunga "<annotation id="link">" sozlamalar"</annotation>" orqali ruxsat bering."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun joylashuv axborotiga ruxsat oʻzgartirilsinmi?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun joylashuv axborotiga ruxsat oʻzgartirilsinmi?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasining <xliff:g id="DEVICE_NAME">%2$s</xliff:g> joylashuvidan foydalanish ruxsati oʻzgartirilsinmi?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Bu ilova ochiq emasligida ham joylashuvingiz haqidagi axborotdan foydalanmoqchi. Bunga "<annotation id="link">"sozlamalar"</annotation>" orqali ruxsat bering."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> yaqin-atrofdagi qurilmalar joylashuvini aniqlashi va ularga ulanishiga ruxsat berilsinmi?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasi uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da yaqin-atrofdagi qurilmalar joylashuvini aniqlashi va ularga ulanishiga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida atrofdagi qurilmalarni topishi, ularning nisbiy joylashuvini aniqlashi va ularga ulanishiga ruxsat berilsinmi?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> yaqin-atrofdagi qurilmalar joylashuvini aniqlashi va ularga ulanishiga ruxsat berilsinmi? "<annotation id="link">"Sozlamalar orqali ruxsat berish mumkin."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> uchun joylashuv ruxsati taxminiydan aniqqa oʻzgartirilsinmi?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ilovasining joylashuv ruxsati <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da taxminiydan aniq qiymatga oʻzgartirilsinmi?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> ilovasining joylashuv axbortiga ruxsati taxminiydan aniqqa oʻzgartirilsinmi?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun bu qurilmaning taxminiy joylashuvi haqidagi axborotdan foydalanish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g> taxminiy joylashuviga kirishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasining tarxminiy joylashuv axborotidan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Aniq"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Taxminiy"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun taqvimingizga ruxsat berilsinmi?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da taqvimingizga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida taqvimdan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun SMS xabarlarni yuborish va ko‘rishga ruxsat berilsinmi?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da SMS xabarlarni yuborish va ko‘rishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida SMS xabarlarni oʻqishi va yuborishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun qurilmangizdagi suratlar, multimedia va fayllarga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>dagi surat, multimedia va fayllarga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida rasmlar, media va boshqa fayllardan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun ushbu qurilmadagi surat, video, musiqa va audiolarga kirish ruxsati berilsinmi?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun ushbu qurilmadagi surat, video, musiqa, audio va fayllarga kirish ruxsati berilsinmi?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun ushbu qurilmadagi musiqa va audio fayllarga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>dagi musiqa va audio fayllarga kirish ruxsati berilsinmi?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida musiqa va audio fayllaridan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"<xliff:g id="APP_NAME">%1$s</xliff:g> uchun qurilmadagi suratlar va videolarga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>dagi rasm va videolarga kirish ruxsati berilsinmi?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida rasm va videolardan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun qurilmadagi boshqa surat va videolarga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>dagi boshqa rasm va videolarga kirish ruxsati berilsinmi?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida koʻproq rasm va videolardan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun audio yozib olish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da audio yozib olishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida audio yozib olishiga ruxsat berilsinmi?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Bu ilova faqat undan foydalanganingizda ovozlarni yozib oladi"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun audio yozib olishga ruxsat berilsinmi?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da audio yozib olishga ruxsat berilsinmi?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida audio yozib olishiga ruxsat berilsinmi?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Bu ilova doimo, hatto undan foydalanmagan vaqtlaringizda ham ovoz yozib olishi mumkin. "<annotation id="link">"Sozlamalar orqali ruxsat bering."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun mikrofonga ruxsat oʻzgartirilsinmi?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasi uchun mikrofon ruxsati oʻzgartirilsinmi?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasining <xliff:g id="DEVICE_NAME">%2$s</xliff:g> mikrofonidan foydalanish ruxsati oʻzgartirilsinmi?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Bu ilova doimo, hatto undan foydalanmagan vaqtlaringizda ham ovoz yozib olishi mumkin. "<annotation id="link">"Sozlamalar orqali ruxsat bering."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun jismoniy harakatlaringizga oid axborotga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da jismoniy harakatlaringiz axborotiga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida jismoniy harakatlar tarixidan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun surat va videoga olish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da surat va videoga olishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida rasm va video yozib olishiga ruxsat berilsinmi?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Bu ilova faqat undan foydalanganingizda rasm va videoga oladi"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun surat va videoga olishga ruxsat berilsinmi?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da surat va videoga olishga ruxsat berilsinmi?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida rasm va video yozib olishiga ruxsat berilsinmi?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Bu ilova doimo, hatto undan foydalanmagan vaqtlaringizda ham rasm va videoga olishi mumkin. "<annotation id="link">"Sozlamalar orqali ruxsat bering."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun kameraga ruxsat oʻzgartirilsinmi?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasi uchun kamera ruxsati oʻzgartirilsinmi?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasining <xliff:g id="DEVICE_NAME">%2$s</xliff:g> kamerasidan foydalanish ruxsati oʻzgartirilsinmi?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Bu ilova doimo, hatto undan foydalanmagan vaqtlaringizda ham rasm va videoga olishi mumkin. "<annotation id="link">"Sozlamalar orqali ruxsat bering."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun telefoningizdagi chaqiruvlar tarixiga kirish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da telefon chaqiruvlari tarixiga kirishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida telefon chaqiruvlari tarixidan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun telefon chaqiruvlarini amalga oshirish va boshqarish ruxsati berilsinmi?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da telefon chaqiruvlarini amalga oshirish va boshqarishga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida telefon chaqiruvlarini amalga oshirishi va ularni boshqarishiga ruxsat berilsinmi?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun tana holati haqidagi sensor axborotlariga ruxsat berilsinmi?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da organizm holati haqidagi sezgichlar axborotlariga ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida organizm holati haqidagi sensor maʼlumotlaridan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Bu ilova organizm holati haqidagi sensor maʼlumotlaringizdan doimiy foydalanishga ruxsat olmoqchi. Bu ruxsatni berish uchun "<annotation id="link">"sozlamalarni oching."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun organizm holati haqidagi sensor axborotlariga ruxsat berilsinmi?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> uchun <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da organizm holati haqidagi sezgichlar axborotlariga ruxsat berilsinmi?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida organizm holati haqidagi sensor maʼlumotlaridan foydalanishiga ruxsat berilsinmi?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Bu ilovaga tanadagi sensor maʼlumotlaridan foydalanishga (hatto ilova yopiqligida ham) doimiy ruxsat berish uchun "<annotation id="link">"sozlamalarni oching."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasining tanadagi sensor maʼlumotlaridan foydalanishiga ruxsat berilsinmi?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"<b><xliff:g id="DEVICE">%2$s</xliff:g></b>da <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasi tanadagi sensor maʼlumotlaridan foydalanishiga ruxsat berilaversinmi?"</string> - <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasiga sizga bildirishnomalar yuborishi uchun ruxsat berilsinmi?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ilovasiga <b><xliff:g id="DEVICE">%2$s</xliff:g></b>da sizga bildirishnomalar yuborishi uchun ruxsat berilsinmi?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasining <xliff:g id="DEVICE_NAME">%2$s</xliff:g> tana sezgilari axborotidan foydalanishga ruxsati saqlanib qolsinmi?"</string> + <string name="permgrouprequest_notifications" msgid="6396739062335106181">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> sizga bildirishnomalar yuborishi uchun ruxsat berilsinmi?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmasida sizga bildirishnoma yuborishiga ruxsat berilsinmi?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Boshqariluvchi ruxsatlar"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> joylashuvga kira oladi"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Tashkilotingiz <xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga joylashuvingizga kirishga ruxsat bergan"</string> @@ -541,14 +551,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Hech qanday"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Oxirgi\n24 soat"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Oxirgi\n7 kun"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> foiz"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android tomonidan himoyalangan. Maʼlumotlaringiz qurilmada qayta ishlanishi sababli ilovaning ruxsatlardan foydalanish statistikasi maxfiylik boshqaruv panelida chiqmaydi."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android tomonidan himoyalangan. Maʼlumotlaringiz qurilmada qayta ishlanishi sababli ilovaning ruxsatlardan foydalanish statistikasi maxfiylik boshqaruv panelida chiqmaydi."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Qurilma kamerasi bloklandi"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"Qurilma mikrofoni bloklandi"</string> - <string name="blocked_location_title" msgid="2005608279812892383">"Qurilmada joylashuv axboroti yoqilmagan"</string> + <string name="blocked_location_title" msgid="2005608279812892383">"Qurilmada joylashuvni aniqlash oʻchiq"</string> <string name="blocked_sensor_summary" msgid="4443707628305027375">"Ilovalar va xizmatlar uchun"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Favqulodda xizmat raqamiga telefon qilganingizda mikrofon maʼlumotlari hamon ulashilishi mumkin."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Oʻzgartirish"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Kameradan foydalanish taqiqlangan"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Axborot-hordiq ilovalari uchun"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Zaruriy ilovalar uchun"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Bu ilova zaruriy"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Avtomobil ishlab chiqaruvchisi bu ilovani talab qiladi"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Xavfsizlik va maxfiylik"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Qurilmani tekshirish"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Yopish"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Axborot ulashuvi yangilanishi"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Ayrim ilovalarda joylashuv axboroti ulashuvi oʻzgardi"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Sozlamalar"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Kirilgan: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Kecha kirilgan: <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Kirilgan: <xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Bir martalik parolingiz: 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Cheklangan sozlama"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Xavfsizlik maqsadida bu sozlama hozir ishlamaydi."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Ilovaga <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> ruxsati berilmadi"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Ilova maxfiy maʼlumotlarga kirish uchun ruxsat soʻramoqda. Ruxsat bersangiz, shaxsiy va moliyaviy maʼlumotlaringiz xavf ostida qolishi mumkin.<xliff:g id="ID_1"><br><br></xliff:g> Bu cheklangan ruxsatsiz ilova toʻgʻri ishlamasligi mumkin. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Qanday ruxsat berish haqida batafsil</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Ilovadan <xliff:g id="ROLE_NAME">%1$s</xliff:g> turkumidagi standart sifatida foydalanish taqiqlangan"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Ilova maxfiy maʼlumotlarga kirish uchun ruxsat soʻramoqda. Ruxsat bersangiz, shaxsiy va moliyaviy maʼlumotlaringiz xavf ostida qolishi mumkin.<xliff:g id="ID_1"><br><br></xliff:g> Bu cheklangan ruxsatlarsiz ilova toʻgʻri ishlamasligi mumkin. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Qanday ruxsat berish haqida batafsil</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Ilovaga ruxsat rad etildi"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Bu ruxsatdan foydalanish shaxsiy va moliyaviy axborotlaringizni xavf ostiga qoʻyishi mumkin.<xliff:g id="ID_1"><br><br></xliff:g>Bu cheklangan ruxsatsiz ilova toʻgʻri ishlamasligi mumkin. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Qanday ruxsat berish haqida batafsil</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Batafsil"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Ruxsat talabi bloklandi"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Bu ilova qoʻshimcha ruxsatlar talab qilmoqda, lekin ruxsatlar striming seansida berilmaydi. Avval telefoningizda ruxsat bering."</string> </resources> diff --git a/PermissionController/res/values-v31/styles.xml b/PermissionController/res/values-v31/styles.xml index e2f6378f5..d48012894 100644 --- a/PermissionController/res/values-v31/styles.xml +++ b/PermissionController/res/values-v31/styles.xml @@ -107,6 +107,7 @@ parent="@android:style/Widget.DeviceDefault.CompoundButton.RadioButton"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> + <item name="android:minHeight">48dp</item> <item name="android:layout_marginTop">16dp</item> <item name="android:paddingStart">?android:attr/listPreferredItemPaddingStart</item> <item name="android:paddingTop">8dp</item> diff --git a/PermissionController/res/values-v33/styles.xml b/PermissionController/res/values-v33/styles.xml index e4d8f5c54..94344615b 100644 --- a/PermissionController/res/values-v33/styles.xml +++ b/PermissionController/res/values-v33/styles.xml @@ -566,6 +566,12 @@ <item name="android:background">@drawable/safety_center_more_issues_card_background</item> </style> + <style name="SafetyCenterMoreIssuesIcon" + parent="android:Widget.DeviceDefault"> + <item name="android:layout_height">20dp</item> + <item name="android:layout_width">20dp</item> + </style> + <style name="SafetyCenterMoreIssuesTitle" parent="SafetyCenterBaseTextContainer"> <item name="android:textAppearance">@style/TextAppearance.Material3.LabelLarge</item> @@ -576,43 +582,22 @@ <item name="android:layout_marginEnd">@dimen/sc_spacing_xxlarge</item> <item name="android:maxLines">2</item> <item name="android:ellipsize">end</item> - <item name="layout_constraintTop_toTopOf">parent</item> - <item name="layout_constraintBottom_toBottomOf">parent</item> - <item name="layout_constraintStart_toEndOf">@id/status_icon</item> - <item name="layout_constraintEnd_toStartOf">@android:id/widget_frame</item> <item name="layout_constraintHorizontal_bias">0</item> <item name="layout_goneMarginStart">0dp</item> </style> - <style name="SafetyCenterMoreIssuesIcon" - parent="android:Widget.DeviceDefault"> - <item name="android:layout_height">20dp</item> - <item name="android:layout_width">20dp</item> - <item name="android:gravity">center</item> - <item name="layout_constraintTop_toTopOf">parent</item> - <item name="layout_constraintBottom_toBottomOf">parent</item> - <item name="layout_constraintStart_toStartOf">parent</item> - </style> - <style name="SafetyCenterMoreIssuesCounter" parent="android:Widget.DeviceDefault"> - <item name="android:layout_height">24dp</item> - <item name="android:layout_width">wrap_content</item> - <item name="android:orientation">horizontal</item> - <item name="android:paddingStart">@dimen/sc_spacing_xsmall</item> - <item name="android:paddingEnd">@dimen/sc_spacing_xsmall</item> + <item name="android:layout_height">0dp</item> + <item name="android:layout_width">0dp</item> <item name="android:background">@drawable/safety_center_card_widget_background</item> - <item name="android:gravity">center_vertical</item> - <item name="layout_constraintTop_toTopOf">parent</item> - <item name="layout_constraintBottom_toBottomOf">parent</item> - <item name="layout_constraintEnd_toEndOf">parent</item> </style> <style name="SafetyCenterMoreIssuesWidgetTitle" parent="SafetyCenterBaseTextContainer"> <item name="android:textAppearance">@style/TextAppearance.SafetyCenter.Body</item> - <item name="android:lineHeight">@dimen/sc_line_height_medium</item> <item name="android:textColor">?android:attr/textColorPrimary</item> + <item name="android:paddingStart">@dimen/sc_spacing_xsmall</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:layout_marginEnd">@dimen/sc_spacing_xxxsmall</item> @@ -623,8 +608,8 @@ parent="android:Widget.DeviceDefault"> <item name="android:layout_height">16dp</item> <item name="android:layout_width">16dp</item> - <item name="android:gravity">center</item> <item name="android:scaleType">fitCenter</item> + <item name="android:layout_marginEnd">@dimen/sc_spacing_xsmall</item> </style> <style name="SafetyCenterEntry" diff --git a/PermissionController/res/values-v34/strings.xml b/PermissionController/res/values-v34/strings.xml index 26a9b4bcc..a63586591 100644 --- a/PermissionController/res/values-v34/strings.xml +++ b/PermissionController/res/values-v34/strings.xml @@ -31,5 +31,4 @@ <!-- Describes what is affected by the mic toggle. Unlike the similar tc/9163104307990677157, there should NOT be a full stop at the end of this sentence. [CHAR LIMIT=NONE] --> <string name="mic_toggle_description">For apps and services. If this setting is off, microphone data may still be shared when you call an emergency number</string> <!-- Subtitle for the link to location settings [CHAR LIMIT=NONE] --> - <string name="location_settings_subtitle">For apps and services</string> </resources> diff --git a/PermissionController/res/values-v34/styles.xml b/PermissionController/res/values-v34/styles.xml index 53780ce76..e6cc4ba79 100644 --- a/PermissionController/res/values-v34/styles.xml +++ b/PermissionController/res/values-v34/styles.xml @@ -123,6 +123,7 @@ <item name="android:textSize">14sp</item> <item name="android:lineHeight">20sp</item> <item name="android:lineSpacingMultiplier">1.25</item> + <item name="android:hyphenationFrequency">normalFast</item> </style> <style name="PermissionRationaleSectionPurposeList" @@ -370,5 +371,4 @@ </style> <!-- END SAFETY CENTER SUBPAGE --> - </resources>
\ No newline at end of file diff --git a/PermissionController/res/values-v35/themes.xml b/PermissionController/res/values-v35/themes.xml new file mode 100644 index 000000000..49da01c6c --- /dev/null +++ b/PermissionController/res/values-v35/themes.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2024 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 + --> + +<resources> + + + <style name="CarSettings" parent="Theme.CarUi.WithToolbar"> + <item name="carDividerColor">@color/car_divider_color</item> + <!--TODO b/331250994, Remove this once we have a strategy to support edgeToEdge --> + <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> + </style> + + <!-- + TODO(b/309578419): Make activities handle insets properly and then remove this. + --> + <style name="OptOutEdgeToEdgeEnforcement"> + <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> + </style> + +</resources> diff --git a/PermissionController/res/values-vi-v33/strings.xml b/PermissionController/res/values-vi-v33/strings.xml index d5fdffc1e..d0c8853c5 100644 --- a/PermissionController/res/values-vi-v33/strings.xml +++ b/PermissionController/res/values-vi-v33/strings.xml @@ -20,7 +20,7 @@ <string name="role_sms_request_description" msgid="1506966389698625395">"Ứng dụng này sẽ được phép gửi Thông báo cũng như được cấp quyền truy cập vào Máy ảnh, Danh bạ, Tệp, Micrô, Điện thoại và tin nhắn SMS của bạn"</string> <string name="permission_description_summary_storage" msgid="1917071243213043858">"Ứng dụng được cấp quyền này có thể truy cập tất cả các tệp trên thiết bị này"</string> <string name="work_policy_title" msgid="832967780713677409">"Thông tin về chính sách công việc của bạn"</string> - <string name="work_policy_summary" msgid="3886113358084963931">"Chế độ cài đặt do quản trị viên CNTT quản lý"</string> + <string name="work_policy_summary" msgid="3886113358084963931">"Các chế độ cài đặt do quản trị viên CNTT quản lý"</string> <string name="safety_center_entry_group_expand_action" msgid="5358289574941779652">"Mở rộng và hiện danh sách"</string> <string name="safety_center_entry_group_collapse_action" msgid="1525710152244405656">"Thu gọn danh sách và ẩn chế độ cài đặt"</string> <string name="safety_center_entry_group_content_description" msgid="7048420958214443333">"Danh sách. <xliff:g id="ENTRY_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_SUMMARY">%2$s</xliff:g>"</string> diff --git a/PermissionController/res/values-vi-v34/strings.xml b/PermissionController/res/values-vi-v34/strings.xml index 618a266d8..836d98f28 100644 --- a/PermissionController/res/values-vi-v34/strings.xml +++ b/PermissionController/res/values-vi-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Quản lý quyền truy cập của ứng dụng vào dữ liệu sức khoẻ"</string> <string name="location_settings" msgid="8863940440881290182">"Quyền truy cập thông tin vị trí"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Áp dụng cho các ứng dụng và dịch vụ. Nếu bạn tắt chế độ cài đặt này, dữ liệu thu được qua micrô vẫn có thể được chia sẻ khi bạn gọi đến số khẩn cấp"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Áp dụng cho các ứng dụng và dịch vụ"</string> </resources> diff --git a/PermissionController/res/values-vi-watch/strings.xml b/PermissionController/res/values-vi-watch/strings.xml index 21054e6d4..21ff1bd5c 100644 --- a/PermissionController/res/values-vi-watch/strings.xml +++ b/PermissionController/res/values-vi-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Không thể thay đổi"</string> <string name="generic_yes" msgid="2489207724988649846">"Có"</string> <string name="generic_cancel" msgid="2631708607129269698">"Hủy"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Mọi lúc"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Khi dùng ứng dụng"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Mọi lúc"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Khi dùng ứng dụng"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Mọi lúc"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Khi dùng ứng dụng"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Mọi lúc"</string> </resources> diff --git a/PermissionController/res/values-vi/strings.xml b/PermissionController/res/values-vi/strings.xml index 72275f442..fea99c8e9 100644 --- a/PermissionController/res/values-vi/strings.xml +++ b/PermissionController/res/values-vi/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Tất cả các quyền"</string> <string name="other_permissions" msgid="2901186127193849594">"Các khả năng khác của ứng dụng"</string> <string name="permission_request_title" msgid="8790310151025020126">"Yêu cầu quyền"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Các hành động Cài đặt/Gỡ cài đặt không được hỗ trợ trên Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Chọn nội dung <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> được phép truy cập vào"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"Đã cập nhật <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>. Chọn nội dung ứng dụng này được phép truy cập vào."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Hủy"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Luôn cho phép tất cả"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Luôn hỏi"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Không cho phép"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Vị trí chính xác"</string> <string name="approximate_image_description" msgid="938803699637069884">"Vị trí ước chừng"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Sử dụng vị trí chính xác"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Khi chế độ vị trí chính xác đang tắt, các ứng dụng có thể truy cập vào thông tin vị trí gần đúng của bạn"</string> <string name="app_permission_title" msgid="2090897901051370711">"Quyền <xliff:g id="PERM">%1$s</xliff:g>"</string> <string name="app_permission_header" msgid="2951363137032603806">"Quyền truy cập <xliff:g id="PERM">%1$s</xliff:g> cho ứng dụng này"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Quyền truy cập <xliff:g id="PERM">%1$s</xliff:g> cho ứng dụng này trên <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Xem tất cả các quyền của <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Xem tất cả ứng dụng có quyền này"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Hiển thị việc sử dụng micrô của Trợ lý"</string> <string name="unused_apps_category_title" msgid="2988455616845243901">"Chế độ cài đặt cho ứng dụng không dùng đến"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"Thu hồi quyền nếu bạn không dùng ứng dụng"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Thu hồi quyền và giải phóng dung lượng"</string> - <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tạm dừng hoạt động trong ứng dụng nếu không dùng"</string> + <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tạm dừng hoạt động của ứng dụng nếu không dùng"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Quản lý ứng dụng nếu không dùng"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Loại bỏ quyền, xoá tệp tạm thời và dừng thông báo"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Loại bỏ quyền, xoá tệp tạm thời, dừng thông báo và lưu trữ ứng dụng"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Để bảo vệ dữ liệu của bạn, các quyền cấp cho ứng dụng này sẽ bị thu hồi nếu bạn không dùng ứng dụng trong vài tháng."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Để bảo vệ dữ liệu của bạn, nếu bạn không dùng ứng dụng này trong vài tháng thì các quyền sau đây sẽ bị thu hồi: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Để bảo vệ dữ liệu của bạn, quản trị viên CNTT đã thu hồi các quyền đối với những ứng dụng bạn không dùng trong vài tháng."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Được phép quản lý tất cả các tệp"</string> <string name="ask_header" msgid="2633816846459944376">"Luôn hỏi"</string> <string name="denied_header" msgid="903209608358177654">"Không được phép"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> trên <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Xem thêm ứng dụng có thể truy cập tất cả các tệp"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 ngày}other{# ngày}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# giờ}other{# giờ}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"Ứng dụng ghi chú"</string> <string name="role_notes_description" msgid="8496852798616883551">"Các ứng dụng cho phép bạn tạo ghi chú trên thiết bị"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"ghi chú"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"Ứng dụng ví mặc định"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"Ứng dụng ví"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Ứng dụng ví có thể lưu trữ thông tin thẻ tín dụng và thẻ khách hàng thân thiết của bạn, chìa khoá ô tô của bạn, cùng nhiều thông tin khác giúp bạn thực hiện nhiều hình thức giao dịch đa dạng."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Đặt <xliff:g id="APP_NAME">%1$s</xliff:g> làm ứng dụng ví mặc định?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Không cần quyền"</string> <string name="request_role_current_default" msgid="738722892438247184">"Ứng dụng mặc định hiện tại"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Không hỏi lại"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Đặt làm mặc định"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Ứng dụng mặc định khác"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Mở đường liên kết"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Ứng dụng mặc định cho công việc"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Ứng dụng mặc định cho không gian riêng tư"</string> <string name="default_app_none" msgid="9084592086808194457">"Không có"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Ứng dụng mặc định của hệ thống)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Không có ứng dụng nào"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Hiển thị tính năng phát hiện trình kích hoạt Trợ lý"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Hiển thị biểu tượng trong thanh trạng thái khi sử dụng micrô để kích hoạt trợ lý thoại"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và nội dung nghe nhìn trên thiết bị?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và nội dung đa phương tiện trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và nội dung nghe nhìn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào danh bạ của bạn?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập danh bạ của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào danh bạ của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào thông tin vị trí của thiết bị này?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập dữ liệu vị trí của <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu vị trí của <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Ứng dụng này sẽ chỉ có quyền truy cập vào vị trí khi bạn đang sử dụng ứng dụng này"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào thông tin vị trí của thiết bị này?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập dữ liệu vị trí của <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu vị trí của <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Ứng dụng này có thể muốn truy cập vào thông tin vị trí của bạn mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Hãy cho phép trong phần cài đặt."</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Thay đổi quyền truy cập vào thông tin vị trí đối với <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Thay đổi quyền truy cập vào dữ liệu vị trí của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Thay đổi quyền truy cập vào dữ liệu vị trí của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Ứng dụng này muốn truy cập vào thông tin vị trí của bạn mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Hãy cho phép trong phần cài đặt."</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tìm, kết nối và xác định vị trí tương đối của các thiết bị ở gần?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tìm, kết nối và xác định vị trí tương đối của các thiết bị ở gần trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tìm, kết nối và xác định vị trí tương đối của các thiết bị ở gần trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> tìm, kết nối và xác định vị trí tương đối của các thiết bị ở gần? "<annotation id="link">"Bạn có thể cho phép việc này trong phần cài đặt."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Thay đổi quyền truy cập thông tin vị trí của <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> từ vị trí gần đúng thành vị trí chính xác?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Thay đổi quyền truy cập dữ liệu vị trí của <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b> từ ước chừng thành chính xác?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Thay đổi quyền truy cập dữ liệu vị trí của <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> từ ước chừng thành chính xác?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào thông tin vị trí gần đúng của thiết bị này?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vị trí ước chừng của <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào thông tin vị trí ước chừng của <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Chính xác"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Gần đúng"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào lịch của bạn?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập lịch của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào lịch của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi và xem tin nhắn SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi và xem tin nhắn SMS trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi và xem tin nhắn SMS trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh, nội dung nghe nhìn và tệp trên thiết bị của bạn?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh, nội dung đa phương tiện và tệp trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh, nội dung nghe nhìn và tệp trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào <b>ảnh, video, nhạc và âm thanh</b> trên thiết bị này?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào <b>ảnh, video, nhạc, âm thanh và các tệp khác</b> trên thiết bị này?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào nhạc và âm thanh trên thiết bị này?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào nhạc và âm thanh trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào nhạc và âm thanh trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và video trên thiết bị này?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và video trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và video trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào ảnh và video khác trên thiết bị này?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập thêm nhiều ảnh và video trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào thêm nhiều ảnh và video trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Ứng dụng này chỉ có thể ghi âm khi bạn đang dùng ứng dụng"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ghi âm trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Ứng dụng này có thể muốn ghi âm mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Cho phép trong phần cài đặt."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Thay đổi quyền sử dụng micrô của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Thay đổi quyền truy cập vào micrô của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Thay đổi quyền truy cập vào micrô của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ứng dụng này muốn ghi âm mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Cho phép trong phần cài đặt."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Bạn cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào hoạt động thể chất?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập dữ liệu về hoạt động thể chất của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu về hoạt động thể chất của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Ứng dụng này chỉ có thể chụp ảnh và quay video khi bạn đang dùng ứng dụng"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> chụp ảnh và quay video trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ứng dụng này có thể muốn chụp ảnh và quay video mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Cho phép trong phần cài đặt."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Thay đổi quyền sử dụng máy ảnh của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Thay đổi quyền truy cập vào camera của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Thay đổi quyền truy cập vào camera của <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Ứng dụng này muốn chụp ảnh và quay video mọi lúc, ngay cả khi bạn không dùng ứng dụng. "<annotation id="link">"Cho phép trong phần cài đặt."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào nhật ký cuộc gọi điện thoại của bạn?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập nhật ký gọi điện thoại của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào nhật ký cuộc gọi của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> thực hiện và quản lý cuộc gọi điện thoại?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gọi điện thoại và quản lý cuộc gọi điện thoại trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> thực hiện và quản lý cuộc gọi điện thoại trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về các dấu hiệu sinh tồn của bạn?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về dấu hiệu sinh tồn của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về dấu hiệu sinh tồn của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Ứng dụng này muốn truy cập vào dữ liệu cảm biến về các dấu hiệu sinh tồn của bạn bất cứ lúc nào, ngay cả khi bạn không dùng ứng dụng. Để thay đổi, hãy "<annotation id="link">"chuyển đến phần cài đặt."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về các dấu hiệu sinh tồn của bạn?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về dấu hiệu sinh tồn của bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến về dấu hiệu sinh tồn của bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Để cho phép ứng dụng này truy cập vào dữ liệu cảm biến cơ thể bất cứ lúc nào, ngay cả khi bạn đang không dùng ứng dụng, "<annotation id="link">"chuyển đến phần cài đặt."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Luôn cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến cơ thể trong khi đang dùng ứng dụng?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Luôn cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập dữ liệu cảm biến cơ thể trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b> khi dùng ứng dụng?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Vẫn cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> truy cập vào dữ liệu cảm biến cơ thể trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> trong khi đang dùng ứng dụng?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi thông báo cho bạn?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi thông báo cho bạn trên <b><xliff:g id="DEVICE">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Cho phép <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> gửi thông báo cho bạn trên <b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Các quyền bị kiểm soát"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> có quyền truy cập thông tin vị trí"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Tổ chức của bạn cho phép <xliff:g id="APP_NAME">%1$s</xliff:g> truy cập thông tin vị trí của bạn"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Không có"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"24 giờ\nqua"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"7 ngày\nqua"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> <xliff:g id="PERCENT">%2$d</xliff:g> phần trăm"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> được Android bảo vệ. Vì dữ liệu của bạn được xử lý trên thiết bị này nên hoạt động sử dụng quyền của ứng dụng này không hiện trên thanh trạng thái hoặc bảng tổng quan về quyền riêng tư."</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> được Android bảo vệ. Vì dữ liệu của bạn được xử lý trên thiết bị này nên hoạt động sử dụng quyền của ứng dụng này không hiện trên bảng tổng quan về quyền riêng tư."</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Quyền truy cập vào máy ảnh của thiết bị đã bị chặn"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Áp dụng cho các ứng dụng và dịch vụ"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Dữ liệu thu được qua micrô vẫn có thể được chia sẻ khi bạn gọi đến số khẩn cấp."</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Thay đổi"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Quyền truy cập vào camera đang tắt"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Đối với các ứng dụng thông tin giải trí"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Đối với các ứng dụng bắt buộc"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Cần có ứng dụng này"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Nhà sản xuất ô tô của bạn yêu cầu ứng dụng này"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Bảo mật và quyền riêng tư"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Quét thiết bị"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Đóng"</string> @@ -564,7 +580,7 @@ <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Kiểm tra trạng thái"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"Các chế độ kiểm soát quyền riêng tư"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Tùy chọn cài đặt khác"</string> - <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Quyền truy cập máy ảnh"</string> + <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Quyền truy cập camera"</string> <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"Quyền truy cập micrô"</string> <string name="permissions_removed_qs" msgid="8957319130625294572">"Đã thu hồi quyền sử dụng"</string> <string name="camera_usage_qs" msgid="4394233566086665994">"Xem mức sử dụng của máy ảnh gần đây"</string> @@ -606,7 +622,7 @@ <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"Đã thay đổi quyền truy cập"</string> <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"Xem thông tin về hoạt động sử dụng thông tin vị trí gần đây"</string> <string name="privacy_controls_title" msgid="7605929972256835199">"Chế độ kiểm soát quyền riêng tư"</string> - <string name="camera_toggle_title" msgid="1251201397431837666">"Quyền truy cập máy ảnh"</string> + <string name="camera_toggle_title" msgid="1251201397431837666">"Quyền truy cập camera"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"Quyền truy cập micrô"</string> <string name="perm_toggle_description" msgid="7801326363741451379">"Áp dụng cho các ứng dụng và dịch vụ"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"Áp dụng cho các ứng dụng và dịch vụ. Nếu bạn tắt chế độ cài đặt, dữ liệu thu được qua micrô vẫn có thể được chia sẻ khi bạn gọi đến số khẩn cấp."</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Nội dung cập nhật về cách thức chia sẻ dữ liệu"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Một số ứng dụng đã thay đổi cách thức có thể được dùng để chia sẻ dữ liệu vị trí của bạn"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Cài đặt"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Truy cập lúc <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Truy cập hôm qua lúc <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Truy cập lúc <xliff:g id="TIME_DATE_1">%2$s</xliff:g> ngày <xliff:g id="TIME_DATE_0">%1$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Mật khẩu một lần của bạn là 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Chế độ cài đặt bị hạn chế"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Để đảm bảo an toàn cho bạn, chế độ cài đặt này hiện không dùng được."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"Ứng dụng đã bị từ chối cấp quyền truy cập vào <xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"Ứng dụng này yêu cầu quyền truy cập vào thông tin nhạy cảm. Việc đó có thể khiến thông tin cá nhân và thông tin tài chính của bạn gặp rủi ro.<xliff:g id="ID_1"><br><br></xliff:g>Có thể ứng dụng sẽ hoạt động không đúng cách nếu không được cấp quyền bị hạn chế này. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Tìm hiểu cách cấp quyền</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"Ứng dụng đã bị từ chối cấp quyền để làm <xliff:g id="ROLE_NAME">%1$s</xliff:g> mặc định"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"Ứng dụng này yêu cầu quyền truy cập vào thông tin nhạy cảm. Việc đó có thể khiến thông tin cá nhân và thông tin tài chính của bạn gặp rủi ro.<xliff:g id="ID_1"><br><br></xliff:g>Có thể ứng dụng sẽ hoạt động không đúng cách nếu không được cấp quyền bị hạn chế này. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Tìm hiểu cách cấp quyền</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"Ứng dụng đã bị từ chối cấp quyền"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Việc cấp quyền này có thể khiến thông tin cá nhân và thông tin tài chính của bạn gặp rủi ro.<xliff:g id="ID_1"><br><br></xliff:g>Có thể ứng dụng sẽ hoạt động không đúng cách nếu không được cấp quyền bị hạn chế này. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Tìm hiểu cách cấp quyền</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Tìm hiểu thêm"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"OK"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Yêu cầu quyền đã bị chặn"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Ứng dụng này đang yêu cầu thêm quyền, nhưng bạn không thể cấp quyền trong một phiên truyền trực tuyến. Trước tiên, hãy cấp quyền trên điện thoại của bạn."</string> </resources> diff --git a/PermissionController/res/values-watch/donottranslate.xml b/PermissionController/res/values-watch/donottranslate.xml new file mode 100644 index 000000000..c3ab3cbb1 --- /dev/null +++ b/PermissionController/res/values-watch/donottranslate.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 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. +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- font-family-device-default is expected to be preloaded in the font_customization.xml(/vendor/<OEM>/products/<PRODUCT>/fonts/fonts_customization.xml)--> + <!-- Falls back to system default when font-family-device-default doesn't exist --> + <string name="wear_material_compose_display_1_font_family">font-family-device-default</string> + <string name="wear_material_compose_display_2_font_family">font-family-device-default</string> + <string name="wear_material_compose_display_3_font_family">font-family-device-default</string> + <string name="wear_material_compose_title_1_font_family">font-family-medium-device-default</string> + <string name="wear_material_compose_title_2_font_family">font-family-medium-device-default</string> + <string name="wear_material_compose_title_3_font_family">font-family-device-default</string> + <string name="wear_material_compose_body_1_font_family">font-family-text-device-default</string> + <string name="wear_material_compose_body_2_font_family">font-family-text-device-default</string> + <string name="wear_material_compose_button_font_family">font-family-text-medium-device-default</string> + <string name="wear_material_compose_caption_1_font_family">font-family-text-medium-device-default</string> + <string name="wear_material_compose_caption_2_font_family">font-family-text-medium-device-default</string> + <string name="wear_material_compose_caption_3_font_family">font-family-text-medium-device-default</string> +</resources> diff --git a/PermissionController/res/values-watch/strings.xml b/PermissionController/res/values-watch/strings.xml index f940eae65..60aca8fe9 100644 --- a/PermissionController/res/values-watch/strings.xml +++ b/PermissionController/res/values-watch/strings.xml @@ -35,4 +35,25 @@ <!-- Generic text to indicate Cancel. [CHAR LIMIT=10] --> <string name="generic_cancel">Cancel</string> + + <!-- [CHAR LIMIT=25] App can always (when app is in foreground or background) access the resource protected by the permission --> + <string name="permission_access_always">All the time</string> + + <!-- App can only access the resource protected by the permission while app is in foreground [CHAR LIMIT=25]--> + <string name="permission_access_only_foreground">While using app</string> + + <!-- Title for the dialog button to allow a permission grant when you can also only allow in the foreground. [CHAR LIMIT=25] --> + <string name="app_permission_button_allow_always">All the time</string> + + <!-- Title for the dialog button to allow a permission grant only when the app is in the foreground. [CHAR LIMIT=25] --> + <string name="app_permission_button_allow_foreground">While using app</string> + + <!-- Title for the dialog button to allow a permission grant when you can also only allow in the foreground. [CHAR LIMIT=25] --> + <string name="grant_dialog_button_allow_always">All the time</string> + + <!-- Title for the dialog button to allow a permission grant only when the app is in the foreground. [CHAR LIMIT=25] --> + <string name="grant_dialog_button_allow_foreground">While using app</string> + + <!-- Title for the dialog button to allow a change from foreground to background permission grant. [CHAR LIMIT=25] --> + <string name="grant_dialog_button_allow_background">All the time</string> </resources> diff --git a/PermissionController/res/values-zh-rCN-v34/strings.xml b/PermissionController/res/values-zh-rCN-v34/strings.xml index 0ba05798b..fbb8bc6db 100644 --- a/PermissionController/res/values-zh-rCN-v34/strings.xml +++ b/PermissionController/res/values-zh-rCN-v34/strings.xml @@ -19,9 +19,8 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="security_privacy_brand_name" msgid="7303621734258440812">"安全和隐私"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"控件"</string> - <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> + <string name="health_connect_title" msgid="2132233890867430855">"健康数据共享"</string> <string name="health_connect_summary" msgid="815473513776882296">"管理应用对健康数据的访问权限"</string> <string name="location_settings" msgid="8863940440881290182">"位置信息访问权限"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"针对应用和服务。关闭此设置后,系统仍可能在您拨打紧急电话号码时分享麦克风数据"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"针对应用和服务"</string> </resources> diff --git a/PermissionController/res/values-zh-rCN-watch/strings.xml b/PermissionController/res/values-zh-rCN-watch/strings.xml index 67671132f..b8860dfbb 100644 --- a/PermissionController/res/values-zh-rCN-watch/strings.xml +++ b/PermissionController/res/values-zh-rCN-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"无法更改"</string> <string name="generic_yes" msgid="2489207724988649846">"是"</string> <string name="generic_cancel" msgid="2631708607129269698">"取消"</string> + <string name="permission_access_always" msgid="2107115233573823032">"始终"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"在使用应用时"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"始终"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"在使用应用时"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"始终"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"在使用应用时"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"始终"</string> </resources> diff --git a/PermissionController/res/values-zh-rCN/strings.xml b/PermissionController/res/values-zh-rCN/strings.xml index 985bd4fc7..545541c73 100644 --- a/PermissionController/res/values-zh-rCN/strings.xml +++ b/PermissionController/res/values-zh-rCN/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"所有权限"</string> <string name="other_permissions" msgid="2901186127193849594">"其他应用功能"</string> <string name="permission_request_title" msgid="8790310151025020126">"权限请求"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear 不支持安装/卸载操作。"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"请选择要向<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>授予哪些权限"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>已更新。请选择要向此应用授予哪些权限。"</string> <string name="review_button_cancel" msgid="2191147944056548886">"取消"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"始终全部允许"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"每次都询问"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"不允许"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"确切位置"</string> <string name="approximate_image_description" msgid="938803699637069884">"大致位置"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"使用确切位置"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"确切位置关闭时,应用可以获取您的大致位置"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>权限"</string> <string name="app_permission_header" msgid="2951363137032603806">"是否允许此应用获得“<xliff:g id="PERM">%1$s</xliff:g>”权限"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"此应用在<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM">%1$s</xliff:g>访问权限"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看“<xliff:g id="APP">%1$s</xliff:g>”的所有权限"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"查看具有此权限的所有应用"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"显示 Google 助理麦克风使用情况"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"如果未使用此应用,则移除相关权限"</string> <string name="unused_apps_label" msgid="2595428768404901064">"撤消权限并释放空间"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"暂停闲置应用的活动"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"管理闲置应用"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"移除权限、删除临时文件并停止发送通知"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"撤消权限、删除临时文件、停止发送通知并归档应用"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"为了保护您的数据,如果您连续几个月未使用此应用,系统会移除它的权限。"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"为了保护您的数据,如果您连续几个月未使用此应用,系统会移除其以下权限:<xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"为了保护您的数据,对于您连续几个月未使用过的应用,系统已将其权限移除。"</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"已移除<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g>以及<xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>权限"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"已移除<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>权限及另外 <xliff:g id="NUMBER">%2$s</xliff:g> 项权限"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"闲置应用"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"如果您连续几个月未使用某个应用,系统将对该应用采取以下措施:\n\n• 移除权限以保护您的数据\n• 停止通知功能以节省电量\n• 移除临时文件以释放空间\n\n如需重新授予权限以继续接收通知,请打开该应用。"</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"如果您连续几个月未使用某个应用,系统将对该应用采取以下措施:\n\n• 移除权限以保护您的数据\n• 停止通知功能以节省电量\n• 移除临时文件以释放空间\n\n如需重新授予权限和接收通知,请打开该应用。"</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"如果您连续 1 个月未使用某个应用,系统将对该应用采取以下措施:\n\n• 撤消权限以保护您的数据\n• 移除临时文件以释放空间\n\n如需重新授予权限,请打开该应用。"</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{距上次打开已超过 # 个月}other{距上次打开已超过 # 个月}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"应用上次打开时间是 <xliff:g id="DATE">%s</xliff:g>"</string> @@ -234,7 +237,7 @@ <string name="permission_description_summary_call_log" msgid="7321437186317577624">"具有此权限的应用可以读取和写入手机通话记录"</string> <string name="permission_description_summary_camera" msgid="108004375101882069">"具有此权限的应用可以拍摄照片和录制视频"</string> <string name="permission_description_summary_contacts" msgid="2337798886460408996">"具有此权限的应用可以访问您的通讯录"</string> - <string name="permission_description_summary_location" msgid="2817531799933480694">"具有此权限的应用可以使用此设备的位置信息"</string> + <string name="permission_description_summary_location" msgid="2817531799933480694">"具有此权限的应用可以访问此设备的位置信息"</string> <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"具有这项权限的应用可以查找、连接附近设备,以及确定附近设备的相对位置"</string> <string name="permission_description_summary_microphone" msgid="630834800308329907">"具有此权限的应用可以录制音频"</string> <string name="permission_description_summary_phone" msgid="4515277217435233619">"具有此权限的应用可以拨打电话及管理通话"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"获准管理所有文件"</string> <string name="ask_header" msgid="2633816846459944376">"每次都询问"</string> <string name="denied_header" msgid="903209608358177654">"不允许"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"查看更多可以访问所有文件的应用"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 天}other{# 天}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# 小时}other{# 小时}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"记事应用"</string> <string name="role_notes_description" msgid="8496852798616883551">"允许您在设备上记事的应用"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"记事"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"默认钱包应用"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"钱包应用"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"钱包应用可以存储信用卡和会员卡、车钥匙和其他内容,帮助您完成各种形式的交易。"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"要将“<xliff:g id="APP_NAME">%1$s</xliff:g>”设为默认钱包应用?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"无需任何权限"</string> <string name="request_role_current_default" msgid="738722892438247184">"当前默认应用"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"不再询问"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"设为默认应用"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"更多默认应用"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"打开链接"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"默认工作应用"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"私密空间的默认应用"</string> <string name="default_app_none" msgid="9084592086808194457">"无"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(系统默认)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"没有应用"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"显示智能助理应用触发检测"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"使用麦克风激活语音助理后,在状态栏中显示相关图标"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问您设备上的照片和媒体吗?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的照片和媒体吗?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问照片和媒体吗?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”访问您的通讯录吗?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问您的通讯录吗?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问您的通讯录吗?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”获取此设备的位置信息吗?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>的位置信息吗?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>的位置信息吗?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"只有当您使用该应用时,该应用才有权访问位置信息"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”获取此设备的位置信息吗?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>的位置信息吗?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>的位置信息吗?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"该应用可能想要随时获取您的位置信息(即使您并未使用该应用)。"<annotation id="link">"在“设置”中允许"</annotation>"。"</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>的位置信息访问权限吗?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的位置信息访问权限吗?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上的位置信息访问权限吗?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"该应用想要随时获取您的位置信息(即使您并未使用该应用)。"<annotation id="link">"在“设置”中允许"</annotation>"。"</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”查找、连接到附近设备以及确定附近设备的相对位置吗?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上查找、连接到附近设备及确定附近设备相对位置吗?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上查找、连接到附近设备以及确定附近设备的相对位置吗?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>查找、连接附近设备以及确定附近设备的相对位置吗?"<annotation id="link">"您可以在“设置”中允许。"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要将“<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>”可以使用的位置信息从大致位置改为确切位置吗?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"要将<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的位置信息访问权限从大致位置信息改为确切位置信息吗?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"要将<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上的位置信息访问权限从大致位置信息改为确切位置信息吗?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”获取此设备的大致位置信息吗?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE">%2$s</xliff:g></b>的大致位置信息吗?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>的大致位置信息吗?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"确切位置"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"大致位置"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问您的日历吗?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问您的日历吗?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问您的日历吗?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>发送和查看短信吗?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上发送和查看短信吗?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上发送和查看短信吗?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"要允许“<xliff:g id="APP_NAME">%1$s</xliff:g>”<b></b>访问您设备上的照片、媒体内容和文件吗?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的照片、媒体和文件吗?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问照片、媒体和文件吗?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”访问此设备上的<b>照片、视频、音乐和音频</b>吗?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”访问此设备上的<b>照片、视频、音乐、音频和其他文件</b>吗?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问此设备上的音乐和音频吗?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问音乐和音频吗?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问音乐和音频吗?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”访问此设备上的照片和视频吗?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的照片和视频吗?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问照片和视频吗?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问此设备上的更多照片和视频?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的更多照片和视频吗?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问更多照片和视频吗?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”录音吗?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上录音吗?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上录音吗?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"此应用将只能在您使用它时录音"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”录音吗?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上录音吗?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上录音吗?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"此应用可能想要随时录音,即使在您未使用它的时候。"<annotation id="link">"您可以在“设置”中授权"</annotation>"。"</string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>的麦克风使用权限吗?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的麦克风使用权限吗?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上的麦克风使用权限吗?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"此应用想要随时录音,即使在您未使用它的时候。"<annotation id="link">"您可以在“设置”中授权"</annotation>"。"</string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>获取您的身体活动数据吗?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问您的身体活动记录吗?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问您的身体活动记录吗?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”拍摄照片和录制视频吗?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照片和录视频吗?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上拍照片和录视频吗?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"此应用将只能在您使用它时拍摄照片和录制视频"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”拍摄照片和录制视频吗?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照片和录视频吗?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上拍照片和录视频吗?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"此应用可能想要随时拍摄照片和录制视频,即使在您未使用它的时候。"<annotation id="link">"您可以在“设置”中授权"</annotation>"。"</string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>的相机使用权限吗?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相机使用权限吗?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"要更改<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上的相机使用权限吗?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"此应用想要随时拍摄照片和录制视频,即使在您未使用它的时候。"<annotation id="link">"您可以在“设置”中授权"</annotation>"。"</string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”访问您的手机通话记录吗?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问您的手机通话记录吗?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问您的手机通话记录吗?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”拨打电话和管理通话吗?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拨打电话和管理通话吗?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上拨打电话和管理通话吗?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问与您的生命体征相关的传感器数据吗?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问与您生命体征相关的传感器数据吗?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问与您的生命体征相关的传感器数据吗?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"此应用希望随时都能访问与您的生命体征相关的传感器数据(即使在您未使用此应用时)。如要进行这种权限更改,请"<annotation id="link">"前往设置页面"</annotation>"。"</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>访问与您的生命体征相关的传感器数据吗?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问与您生命体征相关的传感器数据吗?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问与您的生命体征相关的传感器数据吗?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"如要允许此应用始终可以访问身体传感器数据(即使在您未使用此应用时),请"<annotation id="link">"前往设置"</annotation>"。"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"始终允许“<xliff:g id="APP_NAME">%1$s</xliff:g>”在使用中时访问身体传感器数据?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"要始终允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>于使用期间在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上访问身体传感器数据吗?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"要继续允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>于使用期间在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上访问身体传感器数据吗?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"要允许“<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>”向您发送通知吗?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上向您发送通知吗?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"要允许<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>上向您发送通知吗?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"受控权限"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> 具有位置信息访问权限"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"您的组织允许 <xliff:g id="APP_NAME">%1$s</xliff:g> 访问位置信息"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"无"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"过去 24 小时\n"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"过去\n7 天"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>百分之 <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”受 Android 保护。由于您的数据是在此设备上处理,因此状态栏或隐私信息中心不会显示这个应用的权限使用情况。"</string> <string name="exempt_info_label" msgid="6286190981253476699">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”受 Android 保护。由于您的数据是在此设备上处理的,因此隐私信息中心不会显示该应用的权限使用情况。"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"设备摄像头已被屏蔽"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"会影响应用和服务"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"当您拨打紧急电话号码时,系统可能仍会分享麦克风数据。"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"更改"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"摄像头访问权限已关闭"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"信息娱乐应用"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"必需的应用"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"此应用为必需应用"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"此应用为汽车制造商要求的必需应用"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"安全和隐私"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"扫描设备"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"关闭"</string> @@ -636,10 +652,10 @@ <string name="app_permission_rationale_message" msgid="8511466916077100713">"数据安全"</string> <string name="app_location_permission_rationale_title" msgid="925420340572401350">"可能会分享位置数据"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"此应用已声明它可能会与第三方分享您的位置数据"</string> - <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置数据分享方面的更新"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看改变了位置数据分享方式的应用"</string> + <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置数据共享方面的更新"</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看改变了位置数据共享方式的应用"</string> <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"这些应用改变了它们在分享您位置数据上的做法。它们之前可能未分享过位置数据,也可能现在是为了广告或营销目的而分享此类数据。"</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"这些应用的开发者已将其数据分享做法相关信息提供给应用商店。此类信息可能会随时间更新。\n\n数据分享做法可能会因应用版本、使用情况、地区和年龄而异。"</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"这些应用的开发者已将其数据分享做法的相关信息提供给应用商店,并且可能会随时间更新此类信息。\n\n数据分享做法可能会因应用版本、使用情况、地区和年龄而异。"</string> <string name="learn_about_data_sharing" msgid="4200480587079488045">"了解数据分享"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"现在会将您的位置数据分享给第三方"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"现在会将您的位置数据分享给第三方,用于广告或营销目的"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"数据分享方式变更"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"部分应用更改了位置数据分享方式"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"设置"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"<xliff:g id="TIME_DATE">%1$s</xliff:g>访问过"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"昨天<xliff:g id="TIME_DATE">%1$s</xliff:g>访问过"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"<xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>访问过"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"您的动态密码为 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"受限制的设置"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"出于安全考虑,此设置目前不可用。"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"系统已拒绝向此应用授予<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>访问权限"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"该应用请求获得敏感权限,授予这项权限可能会导致您的个人信息和财务信息面临风险。<xliff:g id="ID_1"><br><br></xliff:g>如果不授予这项受限权限,该应用可能无法正常工作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>了解如何授予访问权限</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"系统已拒绝向此应用授予作为默认<xliff:g id="ROLE_NAME">%1$s</xliff:g>的访问权限"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"该应用请求获得敏感权限,授予这项权限可能会导致您的个人信息和财务信息面临风险。<xliff:g id="ID_1"><br><br></xliff:g>如果不授予这些受限权限,该应用可能无法正常工作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>了解如何授予访问权限</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"系统已拒绝向此应用授予访问权限"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"如果授予此权限,您的个人信息和财务信息可能会面临风险。<xliff:g id="ID_1"><br><br></xliff:g>如果不授予这项受限权限,该应用可能无法正常工作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>了解如何授予访问权限</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"了解详情"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"确定"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"权限请求被阻止"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"此应用请求获得额外的权限,但在流式传输会话期间无法授予权限。请先在手机上授予相应权限。"</string> </resources> diff --git a/PermissionController/res/values-zh-rHK-v34/strings.xml b/PermissionController/res/values-zh-rHK-v34/strings.xml index 65ad05bdb..12f494881 100644 --- a/PermissionController/res/values-zh-rHK-v34/strings.xml +++ b/PermissionController/res/values-zh-rHK-v34/strings.xml @@ -17,11 +17,10 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="security_privacy_brand_name" msgid="7303621734258440812">"保安和私隱"</string> + <string name="security_privacy_brand_name" msgid="7303621734258440812">"安全性和私隱"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"控制項"</string> <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> <string name="health_connect_summary" msgid="815473513776882296">"管理應用程式的健康資料存取權"</string> <string name="location_settings" msgid="8863940440881290182">"位置資料存取權"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"適用於應用程式和服務。如果關閉此設定,系統仍會在你撥打緊急電話號碼時提供麥克風的資料"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"應用程式和服務"</string> </resources> diff --git a/PermissionController/res/values-zh-rHK-watch/strings.xml b/PermissionController/res/values-zh-rHK-watch/strings.xml index abe2f31f9..01f23b65c 100644 --- a/PermissionController/res/values-zh-rHK-watch/strings.xml +++ b/PermissionController/res/values-zh-rHK-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"不可變更"</string> <string name="generic_yes" msgid="2489207724988649846">"是"</string> <string name="generic_cancel" msgid="2631708607129269698">"取消"</string> + <string name="permission_access_always" msgid="2107115233573823032">"一律允許"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"使用應用程式時"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"一律允許"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"使用應用程式時"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"一律允許"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"使用應用程式時"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"一律允許"</string> </resources> diff --git a/PermissionController/res/values-zh-rHK/strings.xml b/PermissionController/res/values-zh-rHK/strings.xml index 4bb7a8338..56861a9f0 100644 --- a/PermissionController/res/values-zh-rHK/strings.xml +++ b/PermissionController/res/values-zh-rHK/strings.xml @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"所有權限"</string> <string name="other_permissions" msgid="2901186127193849594">"其他應用程式功能"</string> <string name="permission_request_title" msgid="8790310151025020126">"權限要求"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear 不支援安裝/解除安裝操作。"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"選擇允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取的內容"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"已更新「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>。選擇允許此應用程式存取的內容。"</string> <string name="review_button_cancel" msgid="2191147944056548886">"取消"</string> @@ -193,20 +191,25 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"一律全部允許"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"每次都詢問"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"不允許"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"精確位置"</string> <string name="approximate_image_description" msgid="938803699637069884">"概略位置"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"使用精確位置"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"關閉精確位置後,應用程式可存取你的概略位置"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>權限"</string> <string name="app_permission_header" msgid="2951363137032603806">"這個應用程式的<xliff:g id="PERM">%1$s</xliff:g>存取權"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"此應用程式在<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM">%1$s</xliff:g>存取權"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看「<xliff:g id="APP">%1$s</xliff:g>」的所有權限"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"查看擁有此權限的所有應用程式"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"顯示「Google 助理」麥克風使用情況"</string> - <string name="unused_apps_category_title" msgid="2988455616845243901">"未使用的應用程式設定"</string> + <string name="unused_apps_category_title" msgid="2988455616845243901">"不使用的應用程式設定"</string> <string name="auto_revoke_label" msgid="5068393642936571656">"如不使用應用程式,即移除權限"</string> <string name="unused_apps_label" msgid="2595428768404901064">"移除權限並騰出空間"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"暫停未使用應用程式的活動"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"管理應用程式 (如未使用)"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"移除權限、刪除暫存檔案和停止通知"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"移除權限、刪除暫存檔案、停止通知和封存應用程式"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"為保護你的資料,系統已移除你在過去幾個月未曾使用的應用程式的權限。"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"為保護你的資料,如果應用程式在過去幾個月未曾使用,系統將會移除以下權限:<xliff:g id="PERMS">%1$s</xliff:g>。"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"為保護你的資料,系統已移除你在過去幾個月未曾使用的應用程式的權限。"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"允許管理所有檔案"</string> <string name="ask_header" msgid="2633816846459944376">"每次都詢問"</string> <string name="denied_header" msgid="903209608358177654">"不允許"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"顯示更多可存取所有檔案的應用程式"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 天}other{# 天}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# 小時}other{# 小時}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"筆記應用程式"</string> <string name="role_notes_description" msgid="8496852798616883551">"讓你可以在裝置上寫筆記的應用程式"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"筆記"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"預設錢包應用程式"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"錢包應用程式"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"錢包應用程式可存放信用卡、會員卡、車匙和其他資料,助你完成各種形式的交易。"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"要將「<xliff:g id="APP_NAME">%1$s</xliff:g>」設定為預設錢包應用程式嗎?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"無需任何權限"</string> <string name="request_role_current_default" msgid="738722892438247184">"目前預設"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"不要再詢問"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"設定為預設"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"更多預設應用程式"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"開啟連結"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"預設用於工作"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"私人空間的預設應用程式"</string> <string name="default_app_none" msgid="9084592086808194457">"無"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(系統預設)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"沒有應用程式"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"顯示「Google 助理」觸發偵測"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"使用麥克風啟用語音助手時,在狀態列中顯示圖示"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你裝置上的相片和媒體嗎?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相片和媒體嗎?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的相片和媒體嗎?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的聯絡人嗎?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的通訊錄嗎?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的通訊錄嗎?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取此裝置的位置資訊嗎?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你的<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>位置嗎?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置嗎?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"此應用程式目前只有你在使用時才能存取位置資訊"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取此裝置的位置資訊嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你的<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>位置嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置嗎?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"此應用程式可能想一直存取你的位置 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」的位置存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"要變更你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 位置存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的位置存取權嗎?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"此應用程式想一直存取你的位置 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"要允許<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>尋找、連接及判斷附近裝置的相對位置嗎?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上尋找、連接及判斷附近裝置的相對位置嗎?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在你的「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上尋找、連接及判斷附近裝置的相對位置嗎?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"要允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 尋找、連接及判斷附近裝置的相對位置嗎?"<annotation id="link">"請在設定中授予權限。"</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要將<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>存取的位置資訊從概略位置改為精確位置嗎?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"要將 <xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> 在你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的位置資訊存取權從概略位置變更為精確位置嗎?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"要將「<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>」在你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的位置存取權從概略位置變更為精確位置嗎?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取此裝置的概略位置資訊嗎?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>的概略位置嗎?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的概略位置嗎?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"精確位置"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"概略位置"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的日曆嗎?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的日曆嗎?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的日曆嗎?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>傳送和查看短訊嗎?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上傳送和查看短訊嗎?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上傳送和查看短訊嗎?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你裝置上的相片、媒體和檔案嗎?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相片、媒體和檔案嗎?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的相片、媒體和檔案嗎?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"要允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取此裝置上的<b>相片、影片、音樂和音訊</b>嗎?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"要允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取此裝置上的<b>相片、影片、音樂、音訊和其他檔案</b>嗎?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"要允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取此裝置上的音樂和音訊嗎?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的音樂和音訊嗎?"</string> - <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"要允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取此裝置上的相片和影片嗎?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相片和影片嗎?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的音樂和音訊嗎?"</string> + <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取此裝置上的相片和影片嗎?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的相片和影片嗎?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取此裝置上更多的相片和影片?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相片和影片嗎?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的其他相片和影片嗎?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>錄音嗎?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上錄音嗎?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上錄音嗎?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"此應用程式將只能在你使用期間錄音"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>錄音嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上錄音嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上錄音嗎?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"此應用程式可能會要求隨時錄音 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>?的麥克風存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"要變更你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 麥克風存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的麥克風存取權嗎?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"此應用程式想隨時錄音 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的體能活動嗎?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的體能活動嗎?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的體能活動嗎?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>拍照和錄製影片嗎?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照和錄製影片嗎?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上拍照和錄製影片嗎?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"此應用程式將只能在你使用期間拍照及錄影"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>拍照和錄製影片嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照和錄製影片嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上拍照和錄製影片嗎?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"此應用程式可能會要求隨時拍照及錄影 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>?的相機存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"要變更你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 相機存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的相機存取權嗎?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"此應用程式想隨時拍照及錄影 (包括你沒有使用此應用程式時)。"<annotation id="link">"在設定中允許存取。"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的手機通話記錄嗎?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的手機通話記錄嗎?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上的手機通話記錄嗎?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>撥打電話和管理通話嗎?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上撥打電話和管理通話嗎?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上撥打和管理電話通話嗎?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取與你身體機能相關的感應器資料嗎?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取與你生命徵象相關的感應器資料嗎?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上與你生命徵象相關的感應器資料嗎?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"此應用程式要求持續存取與你生命體徵相關的感應器資料 (即使在你沒有使用此應用程式時)。如要變更,請"<annotation id="link">"前往設定。"</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取與你生命體徵相關的感應器資料嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 存取你<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上與你生命徵象相關的感應器資料嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上與你生命徵象相關的感應器資料嗎?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"如要讓此應用程式隨時存取人體感應器資料 (即使在你沒有使用此應用程式時),請"<annotation id="link">"前往設定"</annotation>"。"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"要讓「<xliff:g id="APP_NAME">%1$s</xliff:g>」應用程式<b></b>在使用時存取人體感應器資料嗎?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"要繼續允許<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>在應用程式使用期間存取<b><xliff:g id="DEVICE">%2$s</xliff:g></b>的人體感應器資料嗎?"</string> - <string name="permgrouprequest_notifications" msgid="6396739062335106181">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>傳送通知給你嗎?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"允許 <b><xliff:g id="APP_NAME">%1$s</xliff:g></b> 在你的<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上傳送通知給你嗎?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"要繼續允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在應用程式使用期間存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的人體感應器資料嗎?"</string> + <string name="permgrouprequest_notifications" msgid="6396739062335106181">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>傳送通知給你嗎?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>上傳送通知給你嗎?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"由管理員控制的權限"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」有位置存取權"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"你的機構允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取位置資訊"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"無"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"過去\n24 小時"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"過去\n7 天內"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> 百分之 <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"<xliff:g id="APP_NAME">%1$s</xliff:g> 受 Android 保護。系統會在此裝置上處理你的資料,因此狀態列或私隱資訊主頁不會顯示此應用程式的權限使用情況。"</string> <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> 受 Android 保護。系統會在此裝置上處理你的資料,因此私隱資訊主頁不會顯示此應用程式的權限使用情況。"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"已封鎖裝置相機"</string> @@ -549,7 +560,12 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"應用程式和服務"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"撥打緊急電話號碼時,系統仍可能會分享麥克風資料。"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"變更"</string> - <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"保安和私隱"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"攝錄機權限已關閉"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"資訊娛樂應用程式無法存取"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"必要應用程式無法存取"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"需要使用此應用程式"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"汽車製造商需要使用此應用程式"</string> + <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"安全性和私隱"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"掃瞄裝置"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"關閉"</string> <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"要關閉此警示嗎?"</string> @@ -560,7 +576,7 @@ <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"安全性和私隱狀態。<xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>。<xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string> <string name="security_settings" msgid="3808106921175271317">"安全性設定"</string> <string name="sensor_permissions_qs" msgid="1022267900031317472">"權限"</string> - <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"保安和私隱"</string> + <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"安全性和私隱"</string> <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"檢查狀態"</string> <string name="privacy_controls_qs" msgid="5780144882040591169">"你的私隱權設定"</string> <string name="security_settings_button_label_qs" msgid="8280343822465962330">"更多設定"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"資料分享更新"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"部分應用程式已變更位置資料分享方式"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"設定"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"上次存取時間:<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"上次存取時間:昨天<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"上次存取時間:<xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"你的一次性密碼是 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"受限設定"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"為安全起見,系統目前不提供此設定。"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"系統已拒絕授予應用程式「<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>」存取權"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"應用程式要求存取敏感資料權限,授予此權限可能會危害你的個人和財務資料。<xliff:g id="ID_1"><br><br></xliff:g>如沒有此受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>進一步瞭解如何授予存取權</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"系統已拒絕授予應用程式預設<xliff:g id="ROLE_NAME">%1$s</xliff:g>存取權"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"應用程式要求存取敏感資料權限,授予此權限可能會危害你的個人和財務資料。<xliff:g id="ID_1"><br><br></xliff:g>如沒有此受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>進一步瞭解如何授予存取權</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"系統已拒絕授予應用程式存取權"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"授予此權限可能會危害你的個人和財務資料。<xliff:g id="ID_1"><br><br></xliff:g>如沒有此受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>進一步瞭解如何授予存取權</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"瞭解詳情"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"確定"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"權限要求被拒"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"此應用程式要求額外的權限,但串流工作階段期間無法授予權限。請先在手機上授予權限。"</string> </resources> diff --git a/PermissionController/res/values-zh-rTW-car/strings.xml b/PermissionController/res/values-zh-rTW-car/strings.xml index 24062f2d5..2ae9d1c01 100644 --- a/PermissionController/res/values-zh-rTW-car/strings.xml +++ b/PermissionController/res/values-zh-rTW-car/strings.xml @@ -17,5 +17,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="unused_apps_page_summary" msgid="7505839764289846511">"如果你數個月未使用某應用程式,系統將對該應用程式採取以下措施:\n\n• 移除權限以保護你的資料\n• 移除暫存檔以釋出空間"</string> + <string name="unused_apps_page_summary" msgid="7505839764289846511">"如果數個月沒有使用應用程式,系統會採取以下措施:\n\n• 移除權限以保護資料\n• 移除暫存檔以釋出空間"</string> </resources> diff --git a/PermissionController/res/values-zh-rTW-v34/strings.xml b/PermissionController/res/values-zh-rTW-v34/strings.xml index e473ca41b..cebdecbaa 100644 --- a/PermissionController/res/values-zh-rTW-v34/strings.xml +++ b/PermissionController/res/values-zh-rTW-v34/strings.xml @@ -19,9 +19,8 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="security_privacy_brand_name" msgid="7303621734258440812">"安全性與隱私權"</string> <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"控制選項"</string> - <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string> + <string name="health_connect_title" msgid="2132233890867430855">"健康資料同步"</string> <string name="health_connect_summary" msgid="815473513776882296">"管理應用程式的健康資料存取權"</string> <string name="location_settings" msgid="8863940440881290182">"位置資訊存取權"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"適用於應用程式和服務。即使關閉這項設定,系統仍可能會在你撥打緊急電話號碼時,分享麥克風資料"</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"應用程式和服務"</string> </resources> diff --git a/PermissionController/res/values-zh-rTW-watch/strings.xml b/PermissionController/res/values-zh-rTW-watch/strings.xml index 2a91aa040..8173cc23f 100644 --- a/PermissionController/res/values-zh-rTW-watch/strings.xml +++ b/PermissionController/res/values-zh-rTW-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"無法變更"</string> <string name="generic_yes" msgid="2489207724988649846">"是"</string> <string name="generic_cancel" msgid="2631708607129269698">"取消"</string> + <string name="permission_access_always" msgid="2107115233573823032">"一律允許"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"僅限使用應用程式時"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"一律允許"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"僅限使用應用程式時"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"一律允許"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"僅限使用應用程式時"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"一律允許"</string> </resources> diff --git a/PermissionController/res/values-zh-rTW/strings.xml b/PermissionController/res/values-zh-rTW/strings.xml index c303926c1..330bd924a 100644 --- a/PermissionController/res/values-zh-rTW/strings.xml +++ b/PermissionController/res/values-zh-rTW/strings.xml @@ -53,7 +53,7 @@ <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"一律允許"</string> <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"使用應用程式時"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"改用精確位置"</string> - <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"繼續使用概略位置"</string> + <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"繼續使用大概位置"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"僅允許這一次"</string> <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"一律允許"</string> <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"允許管理所有檔案"</string> @@ -72,7 +72,7 @@ <string name="denied_permission_decision" msgid="5308961501779563781">"你已拒絕「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取<xliff:g id="PERMISSION_NAME">%2$s</xliff:g>"</string> <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{今天}=1{1 天前}other{# 天前}}"</string> <string name="app_disable_dlg_positive" msgid="7418444149981904940">"停用應用程式"</string> - <string name="app_disable_dlg_text" msgid="3126943217146120240">"如果你停用這個應用程式,Android 和其他應用程式可能無法正常運作。請注意,這是預先安裝在裝置上的應用程式,因此無法刪除。不過,只要停用這個應用程式,即可將應用程式關閉並在裝置上隱藏。"</string> + <string name="app_disable_dlg_text" msgid="3126943217146120240">"如果你停用這個應用程式,Android 和其他應用程式可能無法正常運作。請注意,這是預先安裝在裝置上的應用程式,因此無法刪除。不過,只要停用這個應用程式,即可關閉該程式並在裝置上隱藏。"</string> <string name="app_permission_manager" msgid="3903811137630909550">"權限管理員"</string> <string name="never_ask_again" msgid="4728762438198560329">"不要再詢問"</string> <string name="no_permissions" msgid="3881676756371148563">"沒有權限"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"所有權限"</string> <string name="other_permissions" msgid="2901186127193849594">"其他應用程式功能"</string> <string name="permission_request_title" msgid="8790310151025020126">"權限要求"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Wear 不支援安裝及解除安裝操作。"</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"選擇要授予「<xliff:g id="APP_NAME">%1$s</xliff:g>」的存取權"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」已更新。請選擇要授予這個應用程式的存取權。"</string> <string name="review_button_cancel" msgid="2191147944056548886">"取消"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"一律全部允許"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"每次都詢問"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"不允許"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"精確位置"</string> - <string name="approximate_image_description" msgid="938803699637069884">"概略位置"</string> + <string name="approximate_image_description" msgid="938803699637069884">"大概位置"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"使用精確位置"</string> - <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"精確位置關閉時,應用程式會存取你的概略位置資訊"</string> + <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"精確位置關閉時,應用程式會存取你的大概位置資訊"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>權限"</string> - <string name="app_permission_header" msgid="2951363137032603806">"是否允許這個應用程式取得「<xliff:g id="PERM">%1$s</xliff:g>」的存取權限"</string> + <string name="app_permission_header" msgid="2951363137032603806">"是否允許這個應用程式存取「<xliff:g id="PERM">%1$s</xliff:g>」資訊"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"這個應用程式在<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM">%1$s</xliff:g>存取權"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看「<xliff:g id="APP">%1$s</xliff:g>」的所有權限"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"查看具備此權限的所有應用程式"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"顯示 Google 助理的麥克風使用狀況"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"如果應用程式未使用,讓系統移除相關權限"</string> <string name="unused_apps_label" msgid="2595428768404901064">"移除權限並釋出空間"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"暫停未使用的應用程式活動"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"管理未使用的應用程式"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"移除權限、刪除暫存檔及停止通知"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"移除權限、刪除暫存檔、停止通知並封存應用程式"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"為了保護你的資料,如果你連續幾個月都未使用這個應用程式,系統會移除其權限。"</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"為了保護你的資料,如果應用程式已有數個月未使用,系統將移除以下權限:<xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"為了保護你的資料,針對數個月未使用的應用程式,系統已移除相關權限。"</string> @@ -221,7 +224,7 @@ <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"已移除<xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g>和<xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>存取權"</string> <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"已移除<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>存取權和另外 <xliff:g id="NUMBER">%2$s</xliff:g> 項權限"</string> <string name="unused_apps_page_title" msgid="6986983535677572559">"未使用的應用程式"</string> - <string name="unused_apps_page_summary" msgid="1867593913217272155">"如果你數個月未使用某個應用程式,系統將對該應用程式採取以下措施:\n\n• 移除權限以保護你的資料\n• 停止通知以節省電力\n• 移除暫存檔以釋出空間\n\n如要重新授予權限和再次接收通知,請開啟應用程式。"</string> + <string name="unused_apps_page_summary" msgid="1867593913217272155">"如果數個月沒有使用應用程式,系統會採取以下措施:\n\n• 移除權限以保護資料\n• 停止通知以節省電量\n• 移除暫存檔以釋出空間\n\n如要重新授予權限和再次接收通知,請開啟應用程式。"</string> <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"如果你一個月未使用某應用程式,系統將對該應用程式採取以下措施:\n\n• 移除權限以保護你的資料\n• 移除暫存檔以釋出空間\n\n如要重新授權,只要開啟應用程式即可。"</string> <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{距離上次開啟已超過 # 個月}other{距離上次開啟已超過 # 個月}}"</string> <string name="last_opened_summary" msgid="5248984030024968808">"應用程式上次開啟時間:<xliff:g id="DATE">%s</xliff:g>"</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"可管理所有檔案"</string> <string name="ask_header" msgid="2633816846459944376">"每次都詢問"</string> <string name="denied_header" msgid="903209608358177654">"不允許"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>上的<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"查看可存取所有檔案的其他應用程式"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{1 天}other{# 天}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{# 小時}other{# 小時}}"</string> @@ -351,10 +355,10 @@ <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"這些應用程式不但可查看你的畫面、動作和輸入內容,還能執行動作及控制顯示畫面。"</string> <string name="role_assistant_label" msgid="4727586018198208128">"預設的數位助理應用程式"</string> <string name="role_assistant_short_label" msgid="3369003713187703399">"數位助理應用程式"</string> - <string name="role_assistant_description" msgid="6622458130459922952">"小幫手應用程式可根據你目前瀏覽的畫面資訊,為你提供協助。部分應用程式同時支援啟動器和語音輸入服務,能夠為你提供更完善的協助。"</string> + <string name="role_assistant_description" msgid="6622458130459922952">"小幫手應用程式可根據當下的螢幕內容提供協助。某些應用程式同時支援啟動器和語音輸入服務,提供更完善的服務。"</string> <string name="role_browser_label" msgid="2877796144554070207">"預設的瀏覽器應用程式"</string> <string name="role_browser_short_label" msgid="6745009127123292296">"瀏覽器應用程式"</string> - <string name="role_browser_description" msgid="3465253637499842671">"這類應用程式可讓你上網及顯示你點選的連結"</string> + <string name="role_browser_description" msgid="3465253637499842671">"你可以透過這類應用程式連上網際網路,也可以輕觸顯示的連結"</string> <string name="role_browser_request_title" msgid="2895200507835937192">"要將 <xliff:g id="APP_NAME">%1$s</xliff:g> 設為預設的瀏覽器應用程式嗎?"</string> <string name="role_browser_request_description" msgid="5888803407905985941">"無需任何權限"</string> <string name="role_dialer_label" msgid="1100224146343237968">"預設的電話應用程式"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"記事應用程式"</string> <string name="role_notes_description" msgid="8496852798616883551">"可在裝置上記事的應用程式"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"記事"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"預設錢包應用程式"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"錢包應用程式"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"錢包應用程式可儲存信用卡、會員卡、車子鑰匙和其他資訊,方便你以多種形式進行交易。"</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"要將「<xliff:g id="APP_NAME">%1$s</xliff:g>」設為預設錢包應用程式嗎?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"無需任何權限"</string> <string name="request_role_current_default" msgid="738722892438247184">"目前的預設應用程式"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"不要再詢問"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"設為預設"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"更多預設應用程式"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"開啟連結"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"預設的工作應用程式"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"私人空間的預設應用程式"</string> <string name="default_app_none" msgid="9084592086808194457">"無"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(系統預設)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"沒有可用的應用程式"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"顯示個人助理觸發偵測圖示"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"使用麥克風啟用語音小幫手時,在狀態列顯示相關圖示"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取裝置中的相片和媒體嗎?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取相片和媒體嗎?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取相片和媒體嗎?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取你的聯絡人嗎?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取你的聯絡人嗎?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的聯絡人嗎?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置的位置資訊嗎?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>的位置資訊嗎?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置資訊嗎?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"該應用程式只有在你使用時,才能存取位置資訊"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置的位置資訊嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g>的位置資訊嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置資訊嗎?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"這個應用程式可能會要求隨時存取你的位置資訊 (即使在你未使用此應用程式時)。"<annotation id="link">"如要授予權限,請前往「設定」"</annotation>"。"</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」的位置資訊存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的位置資訊存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置資訊存取權嗎?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"這個應用程式想要隨時存取你的位置資訊 (即使在你未使用此應用程式時)。"<annotation id="link">"如要授予權限,請前往「設定」"</annotation>"。"</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>尋找、連結及判斷附近裝置的相對位置嗎?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上尋找鄰近裝置、與其連線並判斷相對位置嗎?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>尋找、連線到鄰近裝置及判斷相對位置嗎?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>尋找、連結及判斷附近裝置的相對位置嗎?"<annotation id="link">"請前往「設定」授予權限。"</annotation></string> - <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要將「<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>」可以存取的定位資訊從「概略位置」改為「精確位置」嗎?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"要在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上將「<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>」的位置資訊存取權從大概變更為精確嗎?"</string> - <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置的概略位置資訊嗎?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」</b>存取<b><xliff:g id="DEVICE">%2$s</xliff:g></b>的大概位置嗎?"</string> + <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要將「<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>」可以存取的定位資訊從「大概位置」改為「精確位置」嗎?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"要將「<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g>」在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的位置資訊存取權從大概變更為精確嗎?"</string> + <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置的大概位置資訊嗎?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的大概位置資訊嗎?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"精確"</string> - <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"概略"</string> + <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"大概"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取你的日曆嗎?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取你的日曆嗎?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取你的日曆嗎?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」傳送及查看簡訊嗎?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上傳送及查看簡訊嗎?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>傳送及查看簡訊嗎?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取裝置中的相片、媒體和檔案嗎?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取相片、媒體和檔案嗎?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取相片、媒體和檔案嗎?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置上的<b>相片、影片、音樂和音訊</b>嗎?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置上的<b>相片、影片、音樂、音訊和其他檔案</b>嗎?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置上的音樂和音訊嗎?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取音樂和音訊嗎?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取音樂和音訊嗎?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置上的相片和影片嗎?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取相片和影片嗎?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取相片和影片嗎?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取這部裝置上的其他相片和影片嗎?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取更多相片和影片嗎?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取更多相片和影片嗎?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」錄音嗎?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上錄音嗎?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>使用「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的麥克風錄音嗎?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"這個應用程式只有在你使用時才能錄音"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」錄音嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上錄音嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>使用「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的麥克風錄音嗎?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"這個應用程式要求取得隨時都能錄音的權限,即使你當下並未使用該應用程式。"<annotation id="link">"如要授予權限,請前往設定頁面。"</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」的麥克風存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的麥克風存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的麥克風存取權嗎?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"這個應用程式想取得隨時都能錄音的權限,即使你當下並未使用該應用程式。"<annotation id="link">"如要授予權限,請前往設定頁面。"</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的體能活動記錄嗎?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取你的體能活動嗎?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取你的體能活動資料嗎?"</string> <string name="permgrouprequest_camera" msgid="5123097035410002594">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」拍攝相片及錄製影片嗎?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照及錄影嗎?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>使用「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的相機拍照及錄影嗎?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"這個應用程式只有在你使用時,才能拍照及錄影"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」拍照及錄影嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上拍照及錄影嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>使用「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的相機拍照及錄影嗎?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"這個應用程式要求取得隨時都能拍照及錄影的權限,即使你當下並未使用該應用程式。"<annotation id="link">"如要授予權限,請前往設定頁面。"</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」的相機存取權嗎?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的相機存取權嗎?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"要變更「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的相機存取權嗎?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"這個應用程式想取得隨時都能拍照及錄影的權限,即使你當下並未使用該應用程式。"<annotation id="link">"如要授予權限,請前往設定頁面。"</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取你的通話記錄嗎?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取你的手機通話記錄嗎?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取你的通話記錄嗎?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」撥打電話及管理通話嗎?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上撥打電話及管理通話嗎?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>撥打電話及管理通話嗎?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取與你生命徵象相關的感應器資料嗎?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取與你生命徵象相關的感應器資料嗎?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取與生命徵象相關的感應器資料嗎?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"這個應用程式想隨時存取與你生命徵象相關的感應器資料 (即使你當下並未使用該應用程式)。如要變更,請"<annotation id="link">"前往設定"</annotation>"。"</string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>存取與你生命徵象相關的感應器資料嗎?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上存取與你生命徵象相關的感應器資料嗎?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>存取與生命徵象相關的感應器資料嗎?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"如要讓這個應用程式能隨時存取人體感應器資料 (即使你當下並未使用該應用程式),請"<annotation id="link">"前往設定"</annotation>"。"</string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"要變更允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>應用程式在使用期間存取人體感應器資料嗎?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"要繼續允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>應用程式在使用期間存取<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上的人體感應器資料嗎?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"要繼續允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在使用期間存取「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>的人體感應器資料嗎?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>傳送通知嗎?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在<b><xliff:g id="DEVICE">%2$s</xliff:g></b>上傳送通知嗎?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<b></b>在「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<b></b>傳送通知嗎?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"由管理員控管的權限"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」具有位置存取權"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"貴機構允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取你的位置資訊"</string> @@ -541,14 +551,20 @@ <string name="privdash_label_none" msgid="5991866260360484858">"無"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"過去\n24 小時"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"過去\n7 天內"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> 百分之 <xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」受 Android 保護。系統是在這部裝置上處理你的資料,因此狀態列或隱私資訊主頁不會顯示這個應用程式的權限使用情形。"</string> <string name="exempt_info_label" msgid="6286190981253476699">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」受 Android 保護。系統是在這部裝置上處理你的資料,因此隱私資訊主頁不會顯示這個應用程式的權限使用情形。"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"裝置相機已封鎖"</string> <string name="blocked_microphone_title" msgid="1631517143648232585">"裝置麥克風已封鎖"</string> <string name="blocked_location_title" msgid="2005608279812892383">"裝置位置資訊已關閉"</string> - <string name="blocked_sensor_summary" msgid="4443707628305027375">"應用程式和服務"</string> + <string name="blocked_sensor_summary" msgid="4443707628305027375">"適用於應用程式和服務"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"當你撥打緊急電話號碼時,系統仍會提供麥克風的資料。"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"變更"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"攝影機權限已關閉"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"資訊娛樂應用程式無法存取"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"必要應用程式無法存取"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"這是必要的應用程式"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"這是汽車製造商要求使用的應用程式"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"安全性與隱私權"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"掃描裝置"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"關閉"</string> @@ -608,9 +624,9 @@ <string name="privacy_controls_title" msgid="7605929972256835199">"隱私權控制項"</string> <string name="camera_toggle_title" msgid="1251201397431837666">"相機存取權"</string> <string name="mic_toggle_title" msgid="2649991093496110162">"麥克風存取權"</string> - <string name="perm_toggle_description" msgid="7801326363741451379">"應用程式和服務"</string> + <string name="perm_toggle_description" msgid="7801326363741451379">"適用於應用程式和服務"</string> <string name="mic_toggle_description" msgid="9163104307990677157">"適用於應用程式和服務。即使關閉這項設定,系統仍可能會在你撥打緊急電話號碼時,分享麥克風資料。"</string> - <string name="location_settings_subtitle" msgid="2328360561197430695">"查看對位置擁有存取權的應用程式與服務"</string> + <string name="location_settings_subtitle" msgid="2328360561197430695">"查看可存取位置資訊的應用程式與服務"</string> <string name="show_clip_access_notification_title" msgid="5168467637351109096">"顯示剪貼簿存取通知"</string> <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"系統會在應用程式存取你複製的文字、圖片或其他內容時顯示通知訊息"</string> <string name="show_password_title" msgid="2877269286984684659">"顯示密碼"</string> @@ -636,11 +652,11 @@ <string name="app_permission_rationale_message" msgid="8511466916077100713">"資料安全"</string> <string name="app_location_permission_rationale_title" msgid="925420340572401350">"可能會分享位置資料"</string> <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"這個應用程式表示可能會將位置資料分享給第三方"</string> - <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置資料分享更新"</string> - <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看哪些應用程式變更了分享位置資料的做法"</string> - <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"以下應用程式變更了分享位置資料的做法。這些應用程式先前可能未曾分享位置資料,也可能是現在為了廣告或行銷目的而分享這些資料。"</string> - <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"這些應用程式的開發人員已將資料分享做法相關資訊提供給應用程式商店,並可能會隨著時間更新這些資訊。\n\n資料分享做法可能會因你的應用程式版本、使用方式、所在地區和年齡而異。"</string> - <string name="learn_about_data_sharing" msgid="4200480587079488045">"瞭解資料分享"</string> + <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置資料共用方式更新"</string> + <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看曾變更位置資料共用方式的應用程式"</string> + <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"以下應用程式變更了共用位置資料的做法。這些應用程式先前可能未曾共用位置資料,也可能是現在為了廣告或行銷目的而共用這些資料。"</string> + <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"這些應用程式的開發人員已將資料共用做法相關資訊提供給應用程式商店,並可能會隨著時間更新這些資訊。\n\n資料共用做法可能會因你的應用程式版本、使用方式、所在地區和年齡而異。"</string> + <string name="learn_about_data_sharing" msgid="4200480587079488045">"瞭解資料共用"</string> <string name="shares_location_with_third_parties" msgid="2278051743742057767">"你的位置資料目前已分享給第三方"</string> <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"你的位置資料目前已分享給第三方服務作為廣告或行銷用途"</string> <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{在 1 天內曾更新}=1{在 1 天內曾更新}other{在 # 天內曾更新}}"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"資料分享方式異動"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"部分應用程式改變了位置資料的分享方式"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"設定"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"上次存取時間:<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"上次存取時間:昨天<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"上次存取時間:<xliff:g id="TIME_DATE_0">%1$s</xliff:g><xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"你的動態密碼為 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"受限制的設定"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"為了安全起見,目前無法使用這項設定。"</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"系統已拒絕授予應用程式「<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>」存取權"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"這個應用程式要求取得私密資訊權限,授予這項權限可能導致你的個人資訊和財務資訊面臨風險。<xliff:g id="ID_1"><br><br></xliff:g>如果未取得這項受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>瞭解如何授予權限</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"系統已拒絕授予應用程式做為預設「<xliff:g id="ROLE_NAME">%1$s</xliff:g>」的存取權"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"這個應用程式要求取得私密資訊權限,授予這些權限可能導致你的個人資訊和財務資訊面臨風險。<xliff:g id="ID_1"><br><br></xliff:g>如果未取得這些受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>瞭解如何授予權限</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"系統已拒絕將存取權授予應用程式"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"如果授予這項權限,你的個人資訊和財務資訊可能會面臨風險。<xliff:g id="ID_1"><br><br></xliff:g>如果未取得這項受限制權限,應用程式可能無法正常運作。<a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>瞭解如何授予權限</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"瞭解詳情"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"確定"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"權限要求遭拒"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"這個應用程式要求額外權限,但串流期間無法授權。請先在手機上授予權限。"</string> </resources> diff --git a/PermissionController/res/values-zu-v34/strings.xml b/PermissionController/res/values-zu-v34/strings.xml index cb348a889..d960be6ee 100644 --- a/PermissionController/res/values-zu-v34/strings.xml +++ b/PermissionController/res/values-zu-v34/strings.xml @@ -23,5 +23,4 @@ <string name="health_connect_summary" msgid="815473513776882296">"Phatha ukufinyelela kwe-app kudatha yezempilo"</string> <string name="location_settings" msgid="8863940440881290182">"Setha indawo"</string> <string name="mic_toggle_description" msgid="1504101620086616040">"Okwama-app namasevisi. Uma leli sethingi livaliwe, idatha yemakrofoni ingabiwa uma ushayela inombolo yezimo eziphuthumayo."</string> - <string name="location_settings_subtitle" msgid="6846532794702613851">"Okwama-app namasevisi"</string> </resources> diff --git a/PermissionController/res/values-zu-watch/strings.xml b/PermissionController/res/values-zu-watch/strings.xml index 01b82fd1a..f314b0699 100644 --- a/PermissionController/res/values-zu-watch/strings.xml +++ b/PermissionController/res/values-zu-watch/strings.xml @@ -22,4 +22,11 @@ <string name="permission_summary_enforced_by_policy" msgid="2352478756952948019">"Akukwazi ukushintshwa"</string> <string name="generic_yes" msgid="2489207724988649846">"Yebo"</string> <string name="generic_cancel" msgid="2631708607129269698">"Khansela"</string> + <string name="permission_access_always" msgid="2107115233573823032">"Ngaso sonke isikhathi"</string> + <string name="permission_access_only_foreground" msgid="4412115020089923986">"Ngenkathi isebenzisa i-app"</string> + <string name="app_permission_button_allow_always" msgid="4920899432212307102">"Ngaso sonke isikhathi"</string> + <string name="app_permission_button_allow_foreground" msgid="7186980598244864830">"Ngenkathi isebenzisa i-app"</string> + <string name="grant_dialog_button_allow_always" msgid="7130695257254694576">"Ngaso sonke isikhathi"</string> + <string name="grant_dialog_button_allow_foreground" msgid="8917595344037255090">"Ngenkathi isebenzisa i-app"</string> + <string name="grant_dialog_button_allow_background" msgid="6104993390936535493">"Ngaso sonke isikhathi"</string> </resources> diff --git a/PermissionController/res/values-zu/strings.xml b/PermissionController/res/values-zu/strings.xml index 6fb918556..f7b15a06d 100644 --- a/PermissionController/res/values-zu/strings.xml +++ b/PermissionController/res/values-zu/strings.xml @@ -51,7 +51,7 @@ <string name="permission_revoked_none" msgid="9213345075484381180">"Lutho olukhutshaziwe"</string> <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Vumela"</string> <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Vumela sonke isikhathi"</string> - <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Ngenkathi usebenzisa uhlelo lokusebenza"</string> + <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Ngenkathi i-app"</string> <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Shintshela kwindawo ngqo"</string> <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Gcina indawo elinganiselwayo"</string> <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Ngalesi sikhathi kuphela"</string> @@ -116,8 +116,6 @@ <string name="all_permissions" msgid="6911125611996872522">"Zonke izimvume"</string> <string name="other_permissions" msgid="2901186127193849594">"Amanye amakhono wohlelo lokusebenza"</string> <string name="permission_request_title" msgid="8790310151025020126">"Isicelo semvume"</string> - <string name="wear_not_allowed_dlg_title" msgid="1429467891296932713">"I-Android Wear"</string> - <string name="wear_not_allowed_dlg_text" msgid="512340555334769098">"Izenzo zokufaka/ukukhipha azisekelwe ku-Wear."</string> <string name="permission_review_title_template_install" msgid="1284337937156289081">"Khetha ukuthi uzovumela ini ukuthi i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ifinyelele kuyo"</string> <string name="permission_review_title_template_update" msgid="3232333580548588657">"I-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ibuyekeziwe. Khetha ukuthi uzovumela ini ukuthi ifinyelelwe ilolu hlelo lokusebenza."</string> <string name="review_button_cancel" msgid="2191147944056548886">"Khansela"</string> @@ -193,12 +191,15 @@ <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Njalo vumela konke"</string> <string name="app_permission_button_ask" msgid="3342950658789427">"Buza njalo"</string> <string name="app_permission_button_deny" msgid="6016454069832050300">"Ungavumeli"</string> + <!-- no translation found for app_permission_button_allow_limited_access (8824410215149764113) --> + <skip /> <string name="precise_image_description" msgid="6349638632303619872">"Indawo eqondile"</string> <string name="approximate_image_description" msgid="938803699637069884">"Indawo elinganiselwayo"</string> <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Sebenzisa indawo eqondile"</string> <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Uma indawo ngqo ivaliwe, ama-app angakwazi ukufinyelela indawo yakho elinganiselwayo"</string> <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> imvume"</string> - <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> ukufinyelela kwale app"</string> + <string name="app_permission_header" msgid="2951363137032603806">"ukufinyelela kwale app ku<xliff:g id="PERM">%1$s</xliff:g>"</string> + <string name="app_permission_header_with_device_name" msgid="7193042925656173271">"Ukufinyelela kwe-<xliff:g id="PERM">%1$s</xliff:g> kwale app kuvuliwe ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Bona zonke izimvume ze-<xliff:g id="APP">%1$s</xliff:g>"</string> <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Bona zonke izinhlelo zokusebenza ngale mvume"</string> <string name="assistant_mic_label" msgid="1011432357152323896">"Bonisa ukusetshenziswa kwe-microphone kamsizi"</string> @@ -206,7 +207,9 @@ <string name="auto_revoke_label" msgid="5068393642936571656">"Susa izimvume uma uhlelo lokusebenza lungasetshenziswa"</string> <string name="unused_apps_label" msgid="2595428768404901064">"Susa izimvume uphinde ukhulule isikhala"</string> <string name="unused_apps_label_v2" msgid="7058776770056517980">"Misa okwesikhashana umsebenzi we-app uma ingasetshenziswa"</string> + <string name="unused_apps_label_v3" msgid="693340578642156657">"Lawula i-app uma ingasetsheziswa"</string> <string name="unused_apps_summary" msgid="8839466950318403115">"Susa izimvume, sula amafayela wesikhashana, futhi umise izaziso"</string> + <string name="unused_apps_summary_v2" msgid="5011313200815115802">"Susa izimvume, sula amafayela esikhashana, futhi ufake i-app kungobo yomlando"</string> <string name="auto_revoke_summary" msgid="5867548789805911683">"Ukuze kuvikelwe idatha yakho, izimvume zalolu hlelo lokusebenza zizosuswa uma uhlelo lokusebenza lungasetshenziswa izinyanga ezimbalwa."</string> <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Ukuze kuvikelwe idatha yakho, uma uhlelo lokusebenza lungasetshenzisiwe, izimvume ezilandelayo zizosuswa: <xliff:g id="PERMS">%1$s</xliff:g>"</string> <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Ukuze kuvikelwe idatha yakho, izimvume zisusiwe kusukela kuzinhlelo zokusebenza ongazange uzisebenzise ezinyangeni ezimbalwa."</string> @@ -254,6 +257,7 @@ <string name="allowed_storage_full" msgid="5356699280625693530">"Kuvumelekile ukuphatha wonke amafayela"</string> <string name="ask_header" msgid="2633816846459944376">"Buza njalo"</string> <string name="denied_header" msgid="903209608358177654">"Akuvumelekile"</string> + <string name="permission_group_name_with_device_name" msgid="8798741850536024820">"I-<xliff:g id="PERM_GROUP_NAME">%1$s</xliff:g> ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="storage_footer_hyperlink_text" msgid="8873343987957834810">"Bona ama-app engeziwe akwazi ukufinyelela wonke amafayela"</string> <string name="days" msgid="609563020985571393">"{count,plural, =1{usuku 1}one{izinsuku #}other{izinsuku #}}"</string> <string name="hours" msgid="7302866489666950038">"{count,plural, =1{Ihora elingu-#}one{Amahora angu-#}other{Amahora angu-#}}"</string> @@ -403,6 +407,11 @@ <string name="role_notes_short_label" msgid="8796604147546125285">"I-App yamanothi"</string> <string name="role_notes_description" msgid="8496852798616883551">"Ama-app akuvumela ukuthi uthathe amanothi kudivayisi yakho"</string> <string name="role_notes_search_keywords" msgid="7710756695666744631">"amanothi"</string> + <string name="role_wallet_label" msgid="3719419175656204207">"I-app ye-wallet engokuzenzakalelayo"</string> + <string name="role_wallet_short_label" msgid="6521288403762457452">"I-app ye-wallet"</string> + <string name="role_wallet_description" msgid="3726535836165949838">"Ama-app e-Wallet angagcina amakhredithi kanye namakhadi obuqotho akho, izikhiye zemoto kanye nezinye izino ukukusiza ngezinhlobo ezihlukahlukene zokuthenga."</string> + <string name="role_wallet_request_title" msgid="4770217108262737093">"Setha i-<xliff:g id="APP_NAME">%1$s</xliff:g> njenge-app ye-wallet yakho ezenzakalelayo?"</string> + <string name="role_wallet_request_description" msgid="6305487425777483053">"Azikho izimvume ezidingekayo"</string> <string name="request_role_current_default" msgid="738722892438247184">"Okuzenzakalelayo kwamanje"</string> <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Ungabuzi futhi"</string> <string name="request_role_set_as_default" msgid="4253949643984172880">"Setha njengokuzenzekelayo"</string> @@ -428,6 +437,7 @@ <string name="default_apps_more" msgid="4078194675848858093">"Okuzenzakalelayo okuningi"</string> <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Ivula amalinki"</string> <string name="default_apps_for_work" msgid="4970308943596201811">"Okuzenzakalelayo kokusebenza"</string> + <string name="default_apps_for_private_profile" msgid="2022024112144880785">"Okuzenzakalelayo kwendawo engasese"</string> <string name="default_app_none" msgid="9084592086808194457">"Lutho"</string> <string name="default_app_system_default" msgid="6218386768175513760">"(Okuzenzakalelayo kwesistimu)"</string> <string name="default_app_no_apps" msgid="115720991680586885">"Azikho izinhlelo zokusebenza"</string> @@ -457,75 +467,75 @@ <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Bonisa ukutholwa okucushwe umsizi"</string> <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Bonisa isithonjana kwibha yesaziso uma imakrofoni isetshenzisiwe ukusebenzisa umsizi wezwi"</string> <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele izithombe kanye nemidiya kudivayisi yakho?"</string> - <string name="permgrouprequest_device_aware_storage_isolated" msgid="5934218468708513375">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele izithombe nemidiya <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_storage_isolated" msgid="6463062962458809752">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele izithombe nemidiya <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithole ukufinyelela koxhumana nabo?"</string> - <string name="permgrouprequest_device_aware_contacts" msgid="2270563860206654757">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele koxhumana nabo bakho <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_contacts" msgid="731025863972535928">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele oxhumana nabo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_location" msgid="6990232580121067883">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kundawo yale divayisi?"</string> - <string name="permgrouprequest_device_aware_location" msgid="6641436550953715107">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukufinyelela endaweni <b>ye-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\'s</b> yakho?"</string> + <string name="permgrouprequest_device_aware_location" msgid="6075412127429878638">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele indawo <b>ye-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"Uhlelo lokusebenza luzoba nokufinyelela kuphela kundawo ngenkathi usebenzisa uhlelo lokusebenza"</string> <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kundawo yale divayisi?"</string> - <string name="permgroupbackgroundrequest_device_aware_location" msgid="7660465507029650527">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele endaweni ye-<b><xliff:g id="DEVICE_NAME">%2$s</xliff:g> yakho?"</string> + <string name="permgroupbackgroundrequest_device_aware_location" msgid="1264484517831380016">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele indawo <b>ye-<xliff:g id="DEVICE_NAME">%2$s</xliff:g>’s</b>?"</string> <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Lolu hlelo lokusebenza lungafuna ukufinyelela indawo yakho ngaso sonke isikhathi, ngisho noma ungasebenzisi uhlelo lokusebenza. "<annotation id="link">"Vumela kokuthi izilungiselelo"</annotation>"."</string> <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Shintsha ukufinyelela kwendawo kwe-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_location" msgid="4528266408056426513">"Shintsha ukufinyelela kwendawo <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupupgraderequest_device_aware_location" msgid="1812338666887726191">"Shintsha ukufinyelela indawo <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Lolu hlelo lokusebenza lufuna ukufinyelela kundawo yakho ngaso sonke isikhathi, nanoma ungasebenzisi uhlelo lokusebenza. "<annotation id="link">"Vumela kokuthi izilungiselelo"</annotation>"."</string> <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithole, ixhume, futhi anqume ukuma okuhlobene kwamadivayisi aseduze?"</string> - <string name="permgrouprequest_device_aware_nearby_devices" msgid="7919687165848885665">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze uthole, uxhume, futhi unqume ukuma okuhlobene kwamadivayisi aseduze <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_nearby_devices" msgid="5293478278408567442">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithole, ixhume, futhi ibone ukuthi angakuphi nendawo amadivayisi aseduze <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithole, ixhume, futhi anqume ukuma okuhlobene kwamadivayisi aseduze? "<annotation id="link">"Vumela kumasethingi."</annotation></string> <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"Shintsha ukufinyelela indawo kwe-<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> kusuka kokulinganiselwayo kuya kokunembile?"</string> - <string name="permgrouprequest_device_aware_fineupgrade" msgid="3947134846432067176">"Shintsha ukufinyelela kwendawo kwe-<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b&gt yakho; kusuka ekulinganiseni kuya kokunembayo?"</string> + <string name="permgrouprequest_device_aware_fineupgrade" msgid="4453775952305587571">"Shintsha ukufinyelela kwendawo kwe-<xliff:g id="APP_NAME"><b>%1$s</b></xliff:g> <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b&gt yakho; kusuka ekulinganiseni kuya kokunembayo?"</string> <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele indawo elinganiselwe yale divayisi?"</string> - <string name="permgrouprequest_device_aware_coarselocation" msgid="9001956706241104626">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele endaweni elinganiselwe yakho <b>ye-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_coarselocation" msgid="8367540370912066757">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele indawo elinganiselwe <b>i-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> ekuyo?"</string> <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"Kunembile"</string> <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"Cishe"</string> <string name="permgrouprequest_calendar" msgid="1493150855673603806">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kukhalenda yakho?"</string> - <string name="permgrouprequest_device_aware_calendar" msgid="3103987548035171850">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele kukhalenda yakho <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_calendar" msgid="7161929851377463612">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele ikhalenda lakho <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sms" msgid="5672063688745420991">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithumele iphinde ibuke imilayezo ye-SMS?"</string> - <string name="permgrouprequest_device_aware_sms" msgid="7212083972999874267">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthumela nokubuka imilayezo ye-SMS <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_sms" msgid="6639977653040502291">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithumele futhi ibuke imiyalezo ye-SMS <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage" msgid="8717773092518621602">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kuzithombe, imidiya, namafayela akudivayisi yakho?"</string> - <string name="permgrouprequest_device_aware_storage" msgid="872629037299467086">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele izithombe, imidiya, namafayela <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_storage" msgid="6933251810928606636">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele izithombe, imidiya, namafayela <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuba ifinyelele izithombe, amavidiyo, umculo, nokulalelwayo, kule divayisi?"</string> <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuba ifinyelele izithombe, amavidiyo, umculo, okulalelwayo, namanye amafayela kule divayisi?"</string> <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuba ifinyelele umculo nokulalelwayo kule divayisi?"</string> - <string name="permgrouprequest_device_aware_read_media_aural" msgid="3331524384339036668">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukufinyelela kumculo nomsindo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_read_media_aural" msgid="7927884506238101064">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele umculo nomsindo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuba ifinyelele izithombe namavidiyo kule divayisi?"</string> - <string name="permgrouprequest_device_aware_read_media_visual" msgid="5492319750632751551">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele izithombe namavidiyo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_read_media_visual" msgid="3122576538319059333">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele izithombe namavidiyo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Vumela <i-<xliff:g id="APP_NAME">%1$s</xliff:g>> ukuba ifinyelele izithombe namavidiyo kule divayisi?"</string> - <string name="permgrouprequest_device_aware_more_photos" msgid="8946782319103584021">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele izithombe namavidiyo engeziwe <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_more_photos" msgid="1703469013613723053">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele izithombe namavidiyo engeziwe <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi irekhode umsindo?"</string> - <string name="permgrouprequest_device_aware_microphone" msgid="1266843551173029370">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze urekhode umsindo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_microphone" msgid="8821701550505437951">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi irekhode umsindo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Uhlelo lokusebenza luzokwazi ukurekhoda imisindo kuphela kuyilapho usebenzisa uhlelo lokusebenza"</string> <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi irekhode umsindo?"</string> - <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="4990337225146130185">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze urekhode umsindo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupbackgroundrequest_device_aware_microphone" msgid="3321823187623762958">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi irekhode umsindo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Lolu hlelo lokusebenza lungafuna ukurekhoda imisindo ngaso sonke isikhathi, ngisho nalapho ungasebenzisi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string> <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Shintsha ukufinyelela kwemakrofoni kwe-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_microphone" msgid="222471025997100107">"Shintsha ukufinyelela kwemakrofoni <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupupgraderequest_device_aware_microphone" msgid="8722411173971679806">"Shintsha ukufinyelela imakrofoni <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Lolu hlelo lokusebenza lufuna ukurekhoda imisindo ngaso sonke isikhathi, ngisho nalapho ungasebenzisi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string> <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kumsebenzi wakho womzimba?"</string> - <string name="permgrouprequest_device_aware_activityRecognition" msgid="3408326850847755759">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele umsebenzi wakho womzimba <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> - <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthatha izithombe iphinde irekhode ividiyo?"</string> - <string name="permgrouprequest_device_aware_camera" msgid="3525106924487608868">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthatha izithombe nokurekhoda ividiyo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_activityRecognition" msgid="1243869530588745374">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele umsebenzi womzimba wakho <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> + <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ithathe izithombe futhi irekhode ividiyo?"</string> + <string name="permgrouprequest_device_aware_camera" msgid="5340173564041615494">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithathe izithombe futhi irekhode ividiyo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Lolu hlelo lokusebenza luzokwazi ukuthatha izithombe futhi lirekhode ividiyo kuphela kuyilapho usebenzisa uhlelo lokusebenza"</string> <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthatha izithombe iphinde irekhode ividiyo?"</string> - <string name="permgroupbackgroundrequest_device_aware_camera" msgid="6718286540040964849">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthatha izithombe nokurekhoda ividiyo <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupbackgroundrequest_device_aware_camera" msgid="8533353179594971475">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ithathe izithombe futhi irekhode ividiyo <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Lolu hlelo lokusebenza lungafuna ukuthatha izithombe futhi lirekhode ividiyo ngaso sonke isikhathi, ngisho nalapho ungasebenzi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string> <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Shintsha ukufinyelela kwekhamera kwe-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b>?"</string> - <string name="permgroupupgraderequest_device_aware_camera" msgid="4198765626608612156">"Shintsha ukufinyelela kwekhamera <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupupgraderequest_device_aware_camera" msgid="3290160912843715236">"Shintsha ukufinyelela ikhamera <b>kwe-<xliff:g id="APP_NAME">%1$s</xliff:g></b> <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Lolu hlelo lokusebenza lufuna ukuthatha izithombe futhi lirekhode ividiyo ngaso sonke isikhathi, ngisho nalapho ungasebenzi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string> <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukufinyelela kurekhodi lakho lamakholi wefoni?"</string> - <string name="permgrouprequest_device_aware_calllog" msgid="735079772627778095">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele kumarekhodi wamakholi wakho <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_calllog" msgid="8220927190376843309">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele amarekhodi amakholi efoni yakho <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_phone" msgid="1829234136997316752">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi yenze iphinde iphathe amakholi efoni?"</string> - <string name="permgrouprequest_device_aware_phone" msgid="4389610977195521813">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukwenza nokuphatha amakholi efoni yakho <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_phone" msgid="590399263670349955">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi yenze futhi ilawule amakholi efoni <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kudatha yenzwa emayelana nezimpawu zakho ezibalulekile?"</string> - <string name="permgrouprequest_device_aware_sensors" msgid="1900598688488188225">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele idatha yezinzwa mayelana nezimpawu zakho ezibalulekile <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_sensors" msgid="3874451050573615157">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele idatha yezinzwa mayelana nezimpawu zakho ezibalulekile zokusebenza komzimba wakho <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Le app ifuna ukufinyelela kudatha yenzwa emayelana nezimpawu zakho ezibalulekile ngaso sonke isikhathi, ngisho noma ungasebenzisi i-app. "<annotation id="link">"iya kumasethingi."</annotation></string> <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele kudatha yenzwa emayelana nezimpawu zakho ezibalulekile?"</string> - <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="7691308331448239716">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele kudatha yenzwa mayelana nezimpawu zakho ezibalulekile <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgroupbackgroundrequest_device_aware_sensors" msgid="3687673359121603824">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele idatha yezinzwa mayelana nezimpawu ezibalulekile zokusebenza komzimba wakho <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Ukuze uvumele le app ukuba ifinyelele idatha yenzwa yomzimba ngaso sonke isikhathi, ngisho nalapho ungasebenzisi i-app, "<annotation id="link">"iya kumasethingi."</annotation></string> <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Qhubeka uvumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuba ifinyelele inzwa yedatha yomzimba kuyilapho i-app isebenza?"</string> - <string name="permgroupupgraderequest_device_aware_sensors" msgid="3310667992344623159">"Qhubeka uvumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze ufinyelele idatha yenzwa yomzimba <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b&gt yakho; ngenkathi i-app isetshenziswa?"</string> + <string name="permgroupupgraderequest_device_aware_sensors" msgid="5542771499929819675">"Siqhubeke sivumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ifinyelele idatha yezinzwa zomzimba <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b> phakathi nokusetshenziswa kwe-app?"</string> <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Vumela i-<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ikuthumele izaziso?"</string> - <string name="permgrouprequest_device_aware_notifications" msgid="7307588961166360244">"Vumela <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuze sikuthumelele izaziso <b>ku-<xliff:g id="DEVICE">%2$s</xliff:g></b> yakho?"</string> + <string name="permgrouprequest_device_aware_notifications" msgid="857671638951040514">"Siyivumele <b>i-<xliff:g id="APP_NAME">%1$s</xliff:g></b> ukuthi ikuthumele izaziso <b>ku-<xliff:g id="DEVICE_NAME">%2$s</xliff:g></b>?"</string> <string name="auto_granted_permissions" msgid="6009452264824455892">"Izimvume ezilawuliwe"</string> <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> inokufinyelela kwendawo"</string> <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Inhlangano yakho ivumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukufinyelela indawo yakho"</string> @@ -541,6 +551,7 @@ <string name="privdash_label_none" msgid="5991866260360484858">"Lutho"</string> <string name="privdash_label_24h" msgid="1512532123865375319">"Emahoreni angama-\n24 adlule"</string> <string name="privdash_label_7d" msgid="5645301995348656931">"Izinsuku ezi-\n7 ezedlule"</string> + <string name="privdash_usage_percent" msgid="6893824766124414127">"<xliff:g id="PERMISSION_NAME">%1$s</xliff:g> amaphesenti angu-<xliff:g id="PERCENT">%2$d</xliff:g>"</string> <string name="exempt_mic_camera_info_label" msgid="6273581737010902815">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ivikelwe i-Android. Ngenxa yokuthi idatha yakho icutshungulwa kule divayisi, ukusetshenziswa kwemvume yale app akuboniswa kubha yesimo noma kudeshibhodi yakho yobumfihlo"</string> <string name="exempt_info_label" msgid="6286190981253476699">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ivikelwe i-Android. Ngenxa yokuthi idatha yakho icutshungulwa kule divayisi, ukusetshenziswa kwemvume yale app akuboniswa kudeshibhodi yakho yobumfihlo"</string> <string name="blocked_camera_title" msgid="1128510551791284384">"Ikhamera yedivayisi ivinjiwe"</string> @@ -549,6 +560,11 @@ <string name="blocked_sensor_summary" msgid="4443707628305027375">"Okwama-app namasevisi"</string> <string name="blocked_mic_summary" msgid="8960466941528458347">"Idatha yemakrofoni isengabiwa lapho wenza ikholi yenombolo yezimo eziphuthumayo"</string> <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Shintsha"</string> + <string name="automotive_blocked_camera_title" msgid="6142362431548829416">"Ukufinyelela kwekhamera kuvaliwe"</string> + <string name="automotive_blocked_infotainment_app_summary" msgid="8217099645064950860">"Kuma app e-infotainment"</string> + <string name="automotive_blocked_required_app_summary" msgid="8591513745681168088">"Kuma-app adingekayo"</string> + <string name="automotive_required_app_title" msgid="2992168288249988735">"Le app iyadingeka"</string> + <string name="automotive_required_app_summary" msgid="6514902316658090465">"Le app idingwa umkhiqizi wemoto yakho"</string> <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Ukuvikeleka nobumfihlo"</string> <string name="safety_center_rescan_button" msgid="4517514567809409596">"Skena idivayisi"</string> <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Chitha"</string> @@ -648,4 +664,20 @@ <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Izibuyekezo zokwabelana ngedatha"</string> <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Amanye ama-app aguqule indlela angabelana ngayo ngedatha yendawo yakho"</string> <string name="safety_label_changes_gear_description" msgid="2655887555599138509">"Amasethingi"</string> + <string name="wear_app_perms_24h_access" msgid="8668121661337328895">"Kufinyelelwe ngo-<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_24h_access_yest" msgid="7069312481704735679">"Kufinyelelwe izolo ngo-<xliff:g id="TIME_DATE">%1$s</xliff:g>"</string> + <string name="wear_app_perms_7d_access" msgid="4608069019194676432">"Kufinyelelwe ngo-<xliff:g id="TIME_DATE_0">%1$s</xliff:g> <xliff:g id="TIME_DATE_1">%2$s</xliff:g>"</string> + <string name="test_otp_msg" msgid="7559110574222727550">"Iphasiwedi yakho yesikhathi esisodwa ithi 132435"</string> + <string name="enhanced_confirmation_dialog_title" msgid="7562437438040966351">"Amasethingi akhawulelwe"</string> + <string name="enhanced_confirmation_dialog_desc" msgid="5921240234843839219">"Ukuze uphephe, leli sethingi okwamanje alitholakali."</string> + <string name="enhanced_confirmation_dialog_title_permission" msgid="2149144789394238266">"I-app inqatshelwe ukufinyelela ku-<xliff:g id="PERMISSION_NAME">%1$s</xliff:g>"</string> + <string name="enhanced_confirmation_dialog_desc_permission" msgid="3150778951946468945">"I-app icele ukufinyelela emvumweni ezwelayo okungabeka imininingwane yakho siqu neyezimali engozini.<xliff:g id="ID_1"><br><br></xliff:g>Kungenzeka ukuthi i-app ingasebenzi kahle ngaphandle kwemvume enomkhawulo. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Funda ukuthi ungakuvumela kanjani ukufinyelela</a>"</string> + <string name="enhanced_confirmation_dialog_title_role" msgid="1737023798483772780">"I-app iye yanqatshelwa ukufinyelela ukuze ibe yi-<xliff:g id="ROLE_NAME">%1$s</xliff:g> ezenzakalelayo"</string> + <string name="enhanced_confirmation_dialog_desc_role" msgid="6369601947905234551">"I-app icele ukufinyelela emvumweni ezwelayo engabeka ulwazi lwakho siqu nolwezimali engozini.<xliff:g id="ID_1"><br><br></xliff:g>Kungenzeka ukuthi i-app ingasebenzi kahle ngaphandle kwelezi zimvume ezinomkhawulo. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Funda ukuthi ungakuvumela kanjani ukufinyelela</a>"</string> + <string name="enhanced_confirmation_dialog_title_settings_default" msgid="1858092969721041576">"I-app iye yanqatshelwa ukufinyelela"</string> + <string name="enhanced_confirmation_dialog_desc_settings_default" msgid="6911632348359332981">"Ukufinyelela kule mvume kungabeka ulwazi lwakho siqu nolwezimali engozini.<xliff:g id="ID_1"><br><br></xliff:g>Kungenzeka ukuthi i-app ingasebenzi kahle ngaphandle kwemvume enomkhawulo. <a href=<xliff:g id="LEARN_MORE_LINK">%1$s</xliff:g>>Funda ukuthi ungakuvumela kanjani ukufinyelela</a>"</string> + <string name="enhanced_confirmation_dialog_learn_more" msgid="5226619861379095709">"Funda kabanzi"</string> + <string name="enhanced_confirmation_dialog_ok" msgid="8560373821598619924">"KULUNGILE"</string> + <string name="permission_grant_dialog_streaming_blocked_title" msgid="8905241017017043649">"Isicelo semvume sicindezelwe"</string> + <string name="permission_grant_dialog_streaming_blocked_description" msgid="838165608934085319">"Le-app icela izimvume ezengeziwe, kodwa izimvume azikwazi ukunikezwa ngesikhathi sokusakaza-bukhoma. Nikeza imvume kufoni yakho kuqala."</string> </resources> diff --git a/PermissionController/res/values/dimens.xml b/PermissionController/res/values/dimens.xml index f638e89df..53d5341fe 100644 --- a/PermissionController/res/values/dimens.xml +++ b/PermissionController/res/values/dimens.xml @@ -77,4 +77,5 @@ <dimen name="privhub_circle_stroke_width">8dp</dimen> <dimen name="privhub_details_recycler_view_bottom_padding">96dp</dimen> + </resources> diff --git a/PermissionController/res/values/overlayable.xml b/PermissionController/res/values/overlayable.xml index 8f81e446b..0cf52ac4a 100644 --- a/PermissionController/res/values/overlayable.xml +++ b/PermissionController/res/values/overlayable.xml @@ -24,6 +24,7 @@ <!-- START HELP LINKS --> <item type="string" name="help_app_permissions" /> <item type="string" name="data_sharing_help_center_link" /> + <item type="string" name="help_url_action_disabled_by_restricted_settings" /> <!-- END HELP LINKS --> <!-- START PERMISSION GRANT DIALOG --> @@ -348,6 +349,14 @@ <item type="style" name="WarningBannerWidgetFrame" /> <!-- END WARNING BANNER PREFERENCE STYLE --> + <!-- START AUTOMOTIVE WARNING BANNER PREFERENCE STYLE --> + <item type="style" name="AutoWarningBannerCardView" /> + <item type="style" name="AutoWarningBannerIcon" /> + <item type="style" name="AutoWarningBannerText" /> + <item type="style" name="AutoWarningBannerTitle" /> + <item type="style" name="AutoWarningBannerSummary" /> + <!-- END AUTOMOTIVE WARNING BANNER PREFERENCE STYLE --> + <!-- START PRIVACY CONTROLS CONFIGS --> <item type="string" name="camera_toggle_enable_config"/> <item type="string" name="mic_toggle_enable_config"/> @@ -378,6 +387,35 @@ <item type="style" name="AppDataSharingUpdateSettingsIcon" /> <!-- END SAFETY LABELS STYLE --> + <!--START WEAR SPECIFIC FONT STRINGS --> + <item type="string" name="wear_material_compose_display_1_font_family" /> + <item type="string" name="wear_material_compose_display_2_font_family" /> + <item type="string" name="wear_material_compose_display_3_font_family" /> + <item type="string" name="wear_material_compose_title_1_font_family" /> + <item type="string" name="wear_material_compose_title_2_font_family" /> + <item type="string" name="wear_material_compose_title_3_font_family" /> + <item type="string" name="wear_material_compose_body_1_font_family" /> + <item type="string" name="wear_material_compose_body_2_font_family" /> + <item type="string" name="wear_material_compose_button_font_family" /> + <item type="string" name="wear_material_compose_caption_1_font_family" /> + <item type="string" name="wear_material_compose_caption_2_font_family" /> + <item type="string" name="wear_material_compose_caption_3_font_family" /> + <!--END WEAR SPECIFIC FONT STRINGS --> + + <!-- START ENHANCED CONFIRMATION DIALOG --> + <item type="style" name="Theme.EnhancedConfirmationDialog" /> + <item type="style" name="Theme.EnhancedConfirmationDialogFragment" /> + <item type="style" name="EnhancedConfirmationDialog" /> + <item type="style" name="EnhancedConfirmationDialogHeader" /> + <item type="style" name="EnhancedConfirmationDialogIcon" /> + <item type="style" name="EnhancedConfirmationDialogTitle" /> + <item type="style" name="EnhancedConfirmationDialogScrollView" /> + <item type="style" name="EnhancedConfirmationDialogBody" /> + <item type="style" name="EnhancedConfirmationDialogDesc" /> + <item type="style" name="EnhancedConfirmationDialogButtonBar" /> + <item type="style" name="EnhancedConfirmationDialogButton" /> + <!-- END ENHANCED CONFIRMATION DIALOG --> + </policy> </overlayable> diff --git a/PermissionController/res/values/strings.xml b/PermissionController/res/values/strings.xml index d10c6fb90..d5429b49d 100644 --- a/PermissionController/res/values/strings.xml +++ b/PermissionController/res/values/strings.xml @@ -75,7 +75,6 @@ <!-- Title for the dialog button to allow limited access. [CHAR LIMIT=60] --> <string name="grant_dialog_button_allow_limited_access">Allow limited access</string> - <!-- TODO: b/310657469 add app_permission version of this string --> <!-- Title for the dialog button to allow access to select photos to be shared. [CHAR LIMIT=60] --> <string name="grant_dialog_button_allow_selected_photos">Select photos and videos</string> @@ -582,30 +581,33 @@ <!-- Summary for an app's use of a permission without duration [CHAR LIMIT=none] --> <string name="app_permission_usage_summary_no_duration">Access: <xliff:g id="num" example="2">%1$s</xliff:g> times. Last used <xliff:g id="time" example="2 hours">%2$s</xliff:g> ago.</string> - <!-- Title for the dialog button to allow a permission grant when you cannot only allow in the foreground. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow a permission grant when you cannot only allow in the foreground. [CHAR LIMIT=60] --> <string name="app_permission_button_allow">Allow</string> - <!-- Title for the dialog button to allow a storage permission grant for all files [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow a storage permission grant for all files [CHAR LIMIT=60] --> <string name="app_permission_button_allow_all_files">Allow management of all files</string> - <!-- Title for the dialog button to allow a storage permission grant for media files only [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow a storage permission grant for media files only [CHAR LIMIT=60] --> <string name="app_permission_button_allow_media_only">Allow access to media only</string> - <!-- Title for the dialog button to allow a permission grant when you can also only allow in the foreground. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow a permission grant when you can also only allow in the foreground. [CHAR LIMIT=60] --> <string name="app_permission_button_allow_always">Allow all the time</string> - <!-- Title for the dialog button to allow a permission grant only when the app is in the foreground. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow a permission grant only when the app is in the foreground. [CHAR LIMIT=60] --> <string name="app_permission_button_allow_foreground">Allow only while using the app</string> - <!-- Title for the dialog button to allow the user to always allow access to all resources guarded by a permission. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to allow the user to always allow access to all resources guarded by a permission. [CHAR LIMIT=60] --> <string name="app_permission_button_always_allow_all">Always allow all</string> - <!-- Title for the dialog button to require an app to ask for a permission next time they need it. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to require an app to ask for a permission next time they need it. [CHAR LIMIT=60] --> <string name="app_permission_button_ask">Ask every time</string> - <!-- Title for the dialog button to deny with prejudice a permission grant. [CHAR LIMIT=60] --> + <!-- Title for the settings radio button to deny with prejudice a permission grant. [CHAR LIMIT=60] --> <string name="app_permission_button_deny">Don\u2019t allow</string> + <!-- Title for the settings radio button to allow limited access. [CHAR LIMIT=60] --> + <string name="app_permission_button_allow_limited_access">Allow limited access</string> + <!-- Content description for precise location image. [CHAR LIMIT=50] --> <string name="precise_image_description">Precise location</string> @@ -624,6 +626,9 @@ <!-- Description for showing an app's permission [CHAR LIMIT=60] --> <string name="app_permission_header"><xliff:g id="perm" example="location">%1$s</xliff:g> access for this app</string> + <!-- Description for showing an app's permission along with device name [CHAR LIMIT=NONE] --> + <string name="app_permission_header_with_device_name"><xliff:g id="perm" example="camera">%1$s</xliff:g> access for this app on <xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></string> + <!-- Text for linking to the page that shows an app's permissions [CHAR LIMIT=none] --> <string name="app_permission_footer_app_permissions_link">See all <xliff:g id="app" example="Maps">%1$s</xliff:g> permissions</string> @@ -645,9 +650,15 @@ <!-- Label for the hibernation / auto revoke switch on T+ devices [CHAR LIMIT=40] --> <string name="unused_apps_label_v2">Pause app activity if unused</string> + <!-- Label of a switch preference that controls whether the system will pause app activity when the app has not been used for a while [CHAR LIMIT=40]--> + <string name="unused_apps_label_v3">Manage app if unused</string> + <!-- Hibernation switch preference summary which describes what the toggle does on T+ devices [CHAR LIMIT=NONE] --> <string name="unused_apps_summary">Remove permissions, delete temporary files, and stop notifications</string> + <!-- Summary of the switch preference that controls whether the system will pause app activity when the app has not been used for a while [CHAR LIMIT=NONE]--> + <string name="unused_apps_summary_v2">Remove permissions, delete temporary files, stop notifications, and archive the app</string> + <!-- Summary for stating that permissions will be removed [CHAR LIMIT=none] --> <string name="auto_revoke_summary">To protect your data, permissions for this app will be removed if the app is unused for a few months.</string> @@ -793,6 +804,9 @@ <!-- Header for denied permissions/apps [CHAR LIMIT=40] --> <string name="denied_header">Not allowed</string> + <!-- Header to display the Permission group name along with corresponding device name [CHAR LIMIT=None] --> + <string name="permission_group_name_with_device_name"><xliff:g id="perm_group_name" example="camera">%1$s</xliff:g> on <xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></string> + <!-- Text of hyperlink shown in storage_footer [CHAR LIMIT=60] --> <string name="storage_footer_hyperlink_text">See more apps that can access all files</string> @@ -1217,6 +1231,15 @@ <!-- Search keywords for the NOTES role. [CHAR LIMIT=NONE] --> <string name="role_notes_search_keywords">notes</string> + <!-- Label for the wallet role. [CHAR LIMIT=30] --> + <string name="role_wallet_label">Default wallet app</string> + <!-- Short label for the wallet role. [CHAR LIMIT=30] --> + <string name="role_wallet_short_label">Wallet app</string> + <!-- Description for the wallet role. [CHAR LIMIT=NONE] --> + <string name="role_wallet_description">Wallet apps can store your credit and loyalty cards, car keys and other things to help with various forms of transactions.</string> + <string name="role_wallet_request_title">Set <xliff:g id="app_name" example="Super Wallet">%1$s</xliff:g> as your default wallet app?</string> + <string name="role_wallet_request_description">No permissions needed</string> + <!-- Subtitle for the application that is the current default application [CHAR LIMIT=30] --> <string name="request_role_current_default">Current default</string> @@ -1291,6 +1314,9 @@ <!-- Title for category of default apps for work [CHAR LIMIT=30] --> <string name="default_apps_for_work">Default for work</string> + <!-- Title for category of default apps for private profile [CHAR LIMIT=50] --> + <string name="default_apps_for_private_profile">Default for private space</string> + <!-- Summary of a default app when there is no app set [CHAR LIMIT=60] --> <string name="default_app_none">None</string> @@ -1394,7 +1420,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and media on your device?</string> <!-- Message shown to the user when the apps requests permission from this group. Shows in the isolated storage case. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_storage_isolated">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and media on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and media on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_contacts">Allow @@ -1402,7 +1428,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_contacts">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your contacts on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your contacts on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> @@ -1410,7 +1436,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access this device\u2019s location?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_location">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your <b><xliff:g id="device_name" example="tablet">%2$s</xliff:g>\u2019s</b> location?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g>\u2019s</b> location?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the location only while app is in foreground [CHAR LIMIT=150]--> <string name="permgrouprequestdetail_location">The app will only have access to the location while you\u2019re using the app</string> <!-- Message shown to the user when the apps requests permission to use the location while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> @@ -1418,13 +1444,13 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access this device\u2019s location?</string> <!-- Message shown to the user when the apps requests permission to use the location while app is in foreground and background. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgroupbackgroundrequest_device_aware_location">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your <b><xliff:g id="device_name" example="tablet">%2$s</xliff:g>\u2019s location?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g>\u2019s</b> location?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the location while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupbackgroundrequestdetail_location">This app may want to access your location all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> <!-- Message shown to the user when the apps requests permission to use the location while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgroupupgraderequest_location">Change location access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission to use the location while app is in foreground and background on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgroupupgraderequest_device_aware_location">Change location access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <string name="permgroupupgraderequest_device_aware_location">Change location access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the location while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupupgraderequestdetail_location">This app wants to access your location all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> @@ -1433,18 +1459,18 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_nearby_devices">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to discovery and connect to nearby devices while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupupgraderequestdetail_nearby_devices">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to find, connect to, and determine the relative position of nearby devices? <annotation id="link">Allow in settings.</annotation></string> <!-- Message shown to the user when the app requests permission to upgrade to fine location [CHAR LIMIT=120] --> <string name="permgrouprequest_fineupgrade">Change <xliff:g id="app_name" example="Gmail"><b>%1$s</b></xliff:g>\u2019s location access from approximate to precise?</string> <!-- Message shown to the user when the app requests permission to upgrade to fine location on a specific device [CHAR LIMIT=180] --> - <string name="permgrouprequest_device_aware_fineupgrade">Change <xliff:g id="app_name" example="Gmail"><b>%1$s</b></xliff:g>\u2019s location access on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b> from approximate to precise?</string> + <string name="permgrouprequest_device_aware_fineupgrade">Change <xliff:g id="app_name" example="Gmail"><b>%1$s</b></xliff:g>\u2019s location access on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b> from approximate to precise?</string> <!-- Message shown to the user when the app requests permission to use coarse location [CHAR LIMIT=120] --> <string name="permgrouprequest_coarselocation">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access this device\u2019s approximate location?</string> <!-- Message shown to the user when the app requests permission to use coarse location for a specific device [CHAR LIMIT=180] --> - <string name="permgrouprequest_device_aware_coarselocation">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>\u2019s approximate location?</string> + <string name="permgrouprequest_device_aware_coarselocation">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>\u2019s approximate location?</string> <!-- Text for the FINE location image [CHAR LIMIT=20] --> <string name="permgrouprequest_finelocation_imagetext">Precise</string> <!-- Text for the COARSE location image [CHAR LIMIT=20] --> @@ -1456,7 +1482,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_calendar">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your calendar on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your calendar on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_sms">Allow @@ -1464,7 +1490,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_sms">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to send and view SMS messages on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to send and view SMS messages on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_storage">Allow @@ -1472,7 +1498,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_storage">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos, media, and files on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos, media, and files on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_storage_q_to_s">Allow @@ -1486,27 +1512,27 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <string name="permgrouprequest_read_media_aural">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access music and audio on this device?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgrouprequest_device_aware_read_media_aural">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access music and audio on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <string name="permgrouprequest_device_aware_read_media_aural">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access music and audio on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_read_media_visual">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and videos on this device?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgrouprequest_device_aware_read_media_visual">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and videos on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <string name="permgrouprequest_device_aware_read_media_visual">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access photos and videos on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_more_photos">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access more photos and videos on this device?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_more_photos">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access more photos and videos on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access more photos and videos on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_microphone">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_microphone">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the microphone only while app is in foreground [CHAR LIMIT=150]--> <string name="permgrouprequestdetail_microphone">The app will only be able to record audio while you\u2019re using the app</string> <!-- Message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> @@ -1514,13 +1540,13 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio?</string> <!-- Message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgroupbackgroundrequest_device_aware_microphone">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to record audio on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupbackgroundrequestdetail_microphone">This app may want to record audio all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> <!-- Message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgroupupgraderequest_microphone">Change microphone access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgroupupgraderequest_device_aware_microphone">Change microphone access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <string name="permgroupupgraderequest_device_aware_microphone">Change microphone access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the microphone while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupupgraderequestdetail_microphone">This app wants to record audio all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> @@ -1530,7 +1556,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_activityRecognition">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your physical activity on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your physical activity on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_camera">Allow @@ -1538,7 +1564,7 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_camera">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the camera only while app is in foreground [CHAR LIMIT=150]--> <string name="permgrouprequestdetail_camera">The app will only be able to take pictures and record video while you\u2019re using the app</string> <!-- Message shown to the user when the apps requests permission to use the camera while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> @@ -1546,13 +1572,13 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to take pictures and record video?</string> <!-- Message shown to the user when the apps requests permission to use the camera while app is in foreground and background on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgroupbackgroundrequest_device_aware_camera">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to take pictures and record video on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to take pictures and record video on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the camera while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupbackgroundrequestdetail_camera">This app may want to take pictures and record video all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> <!-- Message shown to the user when the apps requests permission to use the camera while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgroupupgraderequest_camera">Change camera access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission to use the camera while app is in foreground and background on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgroupupgraderequest_device_aware_camera">Change camera access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <string name="permgroupupgraderequest_device_aware_camera">Change camera access for <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the camera while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=150] --> <string name="permgroupupgraderequestdetail_camera">This app wants to take pictures and record video all the time, even when you\u2019re not using the app. <annotation id="link">Allow in settings.</annotation></string> @@ -1561,21 +1587,21 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your phone call logs?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_calllog">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your phone call logs on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access your phone call logs on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_phone">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to make and manage phone calls?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_phone">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to make and manage phone calls on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to make and manage phone calls on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_sensors">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access sensor data about your vital signs?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_sensors">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access sensor data about your vital signs on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access sensor data about your vital signs on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the body sensors while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=NONE] --> <string name="permgroupupgraderequestdetail_sensors">This app wants to access sensor data about your vital signs all the time, even when you\u2019re not using the app. To make this change, <annotation id="link">go to settings.</annotation></string> @@ -1584,20 +1610,20 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access the sensor data about your vital signs?</string> <!-- Message shown to the user when the apps requests permission to use the bosy sensors while app is in foreground and background on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgroupbackgroundrequest_device_aware_sensors">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access the sensor data about your vital signs on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access the sensor data about your vital signs on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Subtitle of the message shown to the user when the apps requests permission to use the body sensors while app is in foreground and background. Try to keep the link annotation at the end of the string [CHAR LIMIT=NONE] --> <string name="permgroupbackgroundrequestdetail_sensors">To let this app access body sensor data all the time, even when you\u2019re not using the app, <annotation id="link">go to settings.</annotation></string> <!-- Message shown to the user when the apps requests permission to use the body sensors while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgroupupgraderequest_sensors">Keep allowing <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access body sensor data while app is in use?</string> <!-- Message shown to the user when the apps requests permission to use the body sensors while app is in foreground and background on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> - <string name="permgroupupgraderequest_device_aware_sensors">Keep allowing <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access body sensor data on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b> while app is in use?</string> + <string name="permgroupupgraderequest_device_aware_sensors">Keep allowing <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to access body sensor data on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b> while app is in use?</string> <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] --> <string name="permgrouprequest_notifications">Allow <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to send you notifications?</string> <!-- Message shown to the user when the apps requests permission from this group on a specific device. If ever possible this should stay below 120 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 180 characters though. [CHAR LIMIT=180] --> <string name="permgrouprequest_device_aware_notifications">Allow - <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to send you notifications on your <b><xliff:g id="device" example="tablet">%2$s</xliff:g></b>?</string> + <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to send you notifications on <b><xliff:g id="device_name" example="My Laptop">%2$s</xliff:g></b>?</string> <!-- Notification shown to the user when location permissions are auto-granted by admin policy. These are for when the admin is forcing the permission and the user cannot control it. [CHAR LIMIT=120]--> <string name="auto_granted_permissions">Controlled permissions</string> @@ -1633,6 +1659,8 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <string name="privdash_label_24h">Past\n24 hours</string> <!-- Label that describes a "past 7 days" time window, prefer two lines. [CHAR LIMIT=20] --> <string name="privdash_label_7d">Past\n7 days</string> + <!-- This information will aid accessibility applications in describing permission usage percentages to users. While the chart visually represents permission usage, accessibility tools will convey the specific percentages for those who need auditory assistance. Examples would be "Microphone 40 percent" or "Location 75 percent" [CHAR LIMIT=none] --> + <string name="privdash_usage_percent"><xliff:g id="permission_name" example="camera">%1$s</xliff:g> <xliff:g id="percent" example="25">%2$d</xliff:g> percent</string> <!-- Info label for status bar indicator permissions (Mic and Camera) for apps holding special exempted roles. [CHAR LIMIT=none] --> <string name="exempt_mic_camera_info_label"><xliff:g id="app_name" example="Gmail">%1$s</xliff:g> is protected by Android. Because your data is processed on this device, this app’s permission usage isn’t shown on the status bar or your privacy dashboard. </string> @@ -1651,6 +1679,16 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <string name="blocked_mic_summary">Microphone data may still be shared when you call an emergency number.</string> <!-- Label for the button to change the sensor status [CHAR LIMIT=none] --> <string name="blocked_sensor_button_label">Change</string> + <!-- Info label for the warning banner title if automotive camera access is off[CHAR LIMIT=none] --> + <string name="automotive_blocked_camera_title">Camera access is off</string> + <!-- Info label to display that the sensor is blocked for automotive infotainment apps and services [CHAR LIMIT=none] --> + <string name="automotive_blocked_infotainment_app_summary">For infotainment apps</string> + <!-- Info label to display that the sensor is blocked for automotive required apps and services [CHAR LIMIT=none] --> + <string name="automotive_blocked_required_app_summary">For required apps</string> + <!-- Info label for the required app title which needs to access sensors such as camera, location and microphone [CHAR LIMIT=NONE]--> + <string name="automotive_required_app_title">This app is required</string> + <!-- Info label to display when the automotive app is a required app for accessing sensors such as camera, location and microphone [CHAR LIMIT=NONE]--> + <string name="automotive_required_app_summary">This app is required by your car\u2019s manufacturer</string> <!-- Title for page containing overall view of device safety status [CHAR LIMIT=30] --> <string name="safety_center_dashboard_page_title">Security & privacy</string> @@ -1934,4 +1972,51 @@ Allow <xliff:g id="app_name" example="Gmail">%4$s</xliff:g> to upload a bug repo <string name="safety_label_changes_gear_description">Settings</string> <!-- Safety Label Change Notifications End --> + + <!-- Summary for showing the last access text for today for Wear [CHAR LIMIT=50] --> + <string name="wear_app_perms_24h_access">Accessed <xliff:g id="time_date" example="12:42 PM">%1$s</xliff:g></string> + + <!-- Summary for showing the last access text for yesterday for Wear [CHAR LIMIT=50] --> + <string name="wear_app_perms_24h_access_yest">Accessed yesterday <xliff:g id="time_date" example="12:42 PM">%1$s</xliff:g></string> + + <!-- Summary for showing the last access text for 7 days for Wear [CHAR LIMIT=50] --> + <string name="wear_app_perms_7d_access">Accessed <xliff:g id="time_date" example="Jan 3">%1$s</xliff:g> <xliff:g id="time_date" example="12:42 PM">%2$s</xliff:g></string> + + <!-- A string representing a message (sms, email, etc.) telling the user about a one time password. Used for testing [CHAR LIMIT=NONE] --> + <string name="test_otp_msg">Your one time password is 132435</string> + + <!-- START ENHANCED CONFIRMATION DIALOG --> + + <!--Title for dialog displayed to tell user that settings are blocked by setting restrictions [CHAR LIMIT=50] --> + <string name="enhanced_confirmation_dialog_title">Restricted setting</string> + <!--Content for dialog displayed to tell user that settings are blocked by setting restrictions [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_desc">For your security, this setting is currently unavailable.</string> + + <!--Title for dialog displayed to tell user that permissions are blocked by setting restrictions [CHAR LIMIT=50] --> + <string name="enhanced_confirmation_dialog_title_permission">App was denied access to <xliff:g id="permission_name" example="contacts">%1$s</xliff:g></string> + <!--Content for dialog displayed to tell user that settings are blocked by setting restrictions [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_desc_permission">The app requested access to a sensitive permission which can put your personal and financial info at risk.<xliff:g><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href="<xliff:g id="learn_more_link">%1$s</xliff:g>">Learn how to allow access</a></string> + + <string name="enhanced_confirmation_dialog_title_role">App was denied access to be default <xliff:g id="role_name" example="phone app">%1$s</xliff:g></string> + <!--Content for dialog displayed to tell user that settings are blocked by setting restrictions [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_desc_role">The app requested access to sensitive permissions which can put your personal and financial info at risk.<xliff:g><br><br></xliff:g>It\'s possible the app won\'t work properly without these restricted permissions. <a href="<xliff:g id="learn_more_link">%1$s</xliff:g>">Learn how to allow access</a></string> + + <string name="enhanced_confirmation_dialog_title_settings_default">App was denied access</string> + <!--Content for dialog displayed to tell user that settings are blocked by setting restrictions [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_desc_settings_default">Access to this permission can put your personal and financial info at risk.<xliff:g><br><br></xliff:g>It\'s possible the app won\'t work properly without this restricted permission. <a href="<xliff:g id="learn_more_link">%1$s</xliff:g>">Learn how to allow access</a></string> + + <!-- Button label to allow the user to view additional information [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_learn_more">Learn more</string> + <!-- Button label of the ok button [CHAR LIMIT=NONE] --> + <string name="enhanced_confirmation_dialog_ok">OK</string> + <!-- Help URI, action disabled by restricted settings [DO NOT TRANSLATE] --> + <string name="help_url_action_disabled_by_restricted_settings" translatable="false"></string> + + <!-- END ENHANCED CONFIRMATION DIALOG --> + + <!-- Title for the warning dialog that shows when permission grant dialog is blocked from streaming to a remote device [CHAR LIMIT=70]--> + <string name="permission_grant_dialog_streaming_blocked_title">Permission request suppressed</string> + + <!-- Descriptions for the warning dialog that shows when permission grant dialog is blocked from streaming to a remote device [CHAR LIMIT=200] --> + <string name="permission_grant_dialog_streaming_blocked_description">This app is requesting additional permissions, but permissions can’t be granted in a streaming session. Grant the permission on your phone first.</string> </resources> diff --git a/PermissionController/res/values/styles.xml b/PermissionController/res/values/styles.xml index a03b71e9d..043934ac4 100644 --- a/PermissionController/res/values/styles.xml +++ b/PermissionController/res/values/styles.xml @@ -195,6 +195,8 @@ <item name="android:paddingEnd">16dp</item> <item name="android:orientation">horizontal</item> <item name="android:background">@drawable/grant_dialog_permission_rationale_background</item> + <item name="android:minWidth">48dp</item> + <item name="android:minHeight">48dp</item> </style> <style name="PermissionGrantPermissionRationaleIcon"> @@ -566,6 +568,7 @@ <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:textAppearance">?android:attr/textAppearanceSmall</item> + <item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textDirection">locale</item> </style> @@ -1036,6 +1039,7 @@ <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_marginStart">16dp</item> + <item name="android:background">@null</item> </style> <!-- END REQUEST ROLE DIALOG ITEM --> @@ -1292,6 +1296,111 @@ <item name="android:orientation">vertical</item> </style> + <style name="AutoWarningBannerCardView"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="cardCornerRadius">20dp</item> + <item name="cardBackgroundColor">@color/warning_surface</item> + <item name="cardElevation">0dp</item> + <item name="contentPaddingBottom">24dp</item> + <item name="contentPaddingTop">24dp</item> + <item name="contentPaddingLeft">24dp</item> + <item name="contentPaddingRight">24dp</item> + </style> + + <style name="AutoWarningBannerIcon"> + <item name="android:layout_width">44dp</item> + <item name="android:layout_height">44dp</item> + <item name="android:scaleType">fitCenter</item> + <item name="android:layout_marginBottom">8dp</item> + <item name="android:tint">@color/warning_onsurface</item> + </style> + + <style name="AutoWarningBannerText"> + <item name="android:layout_marginBottom">4dp</item> + <item name="android:textColor">@android:color/black</item> + </style> + + <style name="AutoWarningBannerTitle" parent="@style/AutoWarningBannerText"> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:textSize">32sp</item> + <item name="android:lineHeight">44sp</item> + </style> + + <style name="AutoWarningBannerSummary" parent="@style/AutoWarningBannerText"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:textSize">24sp</item> + <item name="android:lineHeight">36sp</item> + </style> <!-- END WARNING BANNER --> + <!-- START ENHANCED CONFIRMATION DIALOG --> + + <style name="EnhancedConfirmationDialog"> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:paddingTop">24dp</item> + <item name="android:paddingStart">24dp</item> + <item name="android:paddingEnd">24dp</item> + <item name="android:paddingBottom">16dp</item> + </style> + + <style name="EnhancedConfirmationDialogHeader"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + <item name="android:gravity">center_horizontal</item> + <item name="android:paddingBottom">16dp</item> + </style> + + <style name="EnhancedConfirmationDialogIcon"> + <item name="android:src">@drawable/ic_safety_center_shield</item> + <item name="android:layout_width">32dp</item> + <item name="android:layout_height">32dp</item> + <item name="android:scaleType">fitCenter</item> + <item name="android:tint">?android:attr/colorAccent</item> + <item name="android:contentDescription">@null</item> + </style> + + <style name="EnhancedConfirmationDialogTitle" parent="@android:style/TextAppearance.Material.Headline"> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_marginTop">16dp</item> + <item name="android:gravity">center_horizontal</item> + </style> + + <style name="EnhancedConfirmationDialogScrollView"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:fadeScrollbars">false</item> + </style> + <style name="EnhancedConfirmationDialogBody"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:orientation">vertical</item> + </style> + <style name="EnhancedConfirmationDialogDesc" parent="@android:style/TextAppearance.Material.Body1"> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:gravity">left</item> + <item name="android:fontFamily">google-sans-text</item> + <item name="android:textSize">14sp</item> + <item name="android:lineSpacingMultiplier">1.2</item> + </style> + + <style name="EnhancedConfirmationDialogButtonBar"> + <item name="android:paddingBottom">14dp</item> + <item name="android:paddingTop">12dp</item> + </style> + + <style name="EnhancedConfirmationDialogButton"> + <item name="android:fontFamily">google-sans-medium</item> + <item name="android:textSize">14sp</item> + <item name="android:lineSpacingMultiplier">1.25</item> + </style> + + <!-- END ENHANCED CONFIRMATION DIALOG --> </resources> diff --git a/PermissionController/res/values/themes.xml b/PermissionController/res/values/themes.xml index 4f59ec29d..2e6af4af1 100644 --- a/PermissionController/res/values/themes.xml +++ b/PermissionController/res/values/themes.xml @@ -107,6 +107,11 @@ <style name="Theme.DeviceDefault.Dialog.NoActionBar.DayNight" parent="@android:style/Theme.DeviceDefault.Light.Dialog.NoActionBar" /> + <!-- + TODO(b/309578419): Make activities handle insets properly and then remove this. + --> + <style name="OptOutEdgeToEdgeEnforcement" /> + <!-- Do not allow OEMs to overlay these themes. Must Guarantee that filterTouches is set for these activities --> @@ -138,6 +143,27 @@ <item name="android:filterTouchesWhenObscured">true</item> </style> + <style name="Theme.EnhancedConfirmationDialog.FilterTouches" parent="Theme.EnhancedConfirmationDialog"> + <item name="android:filterTouchesWhenObscured">true</item> + </style> + <style name="Theme.PermissionController.IncidentReportDialog" parent="@style/Theme.DeviceDefault.Dialog.NoActionBar.DayNight" /> + + <!-- START ENHANCED CONFIRMATION DIALOG --> + + <style name="Theme.EnhancedConfirmationDialog" parent="@android:style/Theme.DeviceDefault.Dialog.NoActionBar"> + <item name="windowNoTitle">true</item> + <item name="android:alertDialogTheme">@style/Theme.EnhancedConfirmationDialogFragment</item> + <item name="android:buttonBarStyle">@style/EnhancedConfirmationDialogButtonBar</item> + <item name="android:buttonBarPositiveButtonStyle">@style/EnhancedConfirmationDialogButton</item> + <item name="android:buttonBarNegativeButtonStyle">@style/EnhancedConfirmationDialogButton</item> + <item name="android:buttonBarNeutralButtonStyle">@style/EnhancedConfirmationDialogButton</item> + </style> + + <style name="Theme.EnhancedConfirmationDialogFragment" parent="@android:style/Theme.DeviceDefault.Dialog.Alert"> + <item name="android:buttonBarStyle">@style/EnhancedConfirmationDialogButtonBar</item> + </style> + + <!-- END ENHANCED CONFIRMATION DIALOG --> </resources> diff --git a/PermissionController/res/xml/roles.xml b/PermissionController/res/xml/roles.xml index 497bfbeb5..ddc734e02 100644 --- a/PermissionController/res/xml/roles.xml +++ b/PermissionController/res/xml/roles.xml @@ -141,6 +141,10 @@ minSdkVersion="33" /> <permission name="android.permission.EXECUTE_APP_ACTION" minSdkVersion="34" /> + <permission name="android.permission.MANAGE_CONTENT_SUGGESTIONS" + minSdkVersion="35" optionalMinSdkVersion="34" /> + <permission name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE" + minSdkVersion="35" /> </permissions> <app-op-permissions> <app-op-permission name="android.permission.SYSTEM_ALERT_WINDOW" /> @@ -444,7 +448,9 @@ </preferred-activity> </preferred-activities> <permissions> - <permission name="android.permission.READ_HOME_APP_SEARCH_DATA" minSdkVersion="33"/> + <permission name="android.permission.READ_HOME_APP_SEARCH_DATA" minSdkVersion="33" /> + <permission name="android.permission.ALLOW_SLIPPERY_TOUCHES" minSdkVersion="33" optionalMinSdkVersion="30" /> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35" /> </permissions> </role> @@ -516,7 +522,7 @@ <role name="android.app.role.SYSTEM_AUTOMOTIVE_CLUSTER" - behavior="AutomotiveRoleBehavior" + behavior="v31.AutomotiveRoleBehavior" defaultHolders="config_systemAutomotiveCluster" exclusive="true" minSdkVersion="31" @@ -533,7 +539,7 @@ <role name="android.app.role.COMPANION_DEVICE_WATCH" - behavior="CompanionDeviceWatchRoleBehavior" + behavior="v31.CompanionDeviceWatchRoleBehavior" description="@string/role_watch_description" exclusive="false" minSdkVersion="31" @@ -546,6 +552,9 @@ <permission-set name="contacts" /> <permission-set name="nearby_devices" /> <permission-set name="notifications" minSdkVersion="35" /> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> </permissions> <app-op-permissions> <app-op-permission name="android.permission.MANAGE_ONGOING_CALLS" /> @@ -556,9 +565,8 @@ <role name="android.app.role.SYSTEM_AUTOMOTIVE_PROJECTION" - allowBypassingQualification="true" defaultHolders="config_systemAutomotiveProjection" - exclusive="false" + exclusive="true" minSdkVersion="31" static="true" systemOnly="true" @@ -581,12 +589,16 @@ <permission name="android.permission.TOGGLE_AUTOMOTIVE_PROJECTION" minSdkVersion="33" /> <permission name="android.permission.ADD_TRUSTED_DISPLAY" minSdkVersion="34"/> <permission name="android.permission.ASSOCIATE_COMPANION_DEVICES" minSdkVersion="34"/> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> + <permission name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" minSdkVersion="35" /> </permissions> </role> <role name="android.app.role.SYSTEM_SHELL" - behavior="SystemShellRoleBehavior" + behavior="v31.SystemShellRoleBehavior" defaultHolders="config_systemShell" exclusive="true" minSdkVersion="31" @@ -631,6 +643,8 @@ <permission name="android.permission.MANAGE_DEVICE_POLICY_CALLS" minSdkVersion="34" /> <permission name="android.permission.MANAGE_DEVICE_POLICY_CAMERA" minSdkVersion="34" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION" + minSdkVersion="35" /> <permission name="android.permission.MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES" minSdkVersion="34" /> <permission name="android.permission.MANAGE_DEVICE_POLICY_FACTORY_RESET" @@ -670,6 +684,10 @@ <permission name="android.permission.SET_TIME_ZONE" minSdkVersion="34" /> <permission name="android.permission.SATELLITE_COMMUNICATION" minSdkVersion="34" /> <permission name="android.permission.ALWAYS_UPDATE_WALLPAPER" minSdkVersion="35" /> + <permission name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE" + minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING" + minSdkVersion="35" /> </permissions> </role> @@ -753,7 +771,7 @@ --> <role name="android.app.role.SYSTEM_TELEVISION_NOTIFICATION_HANDLER" - behavior="TelevisionRoleBehavior" + behavior="v31.TelevisionRoleBehavior" defaultHolders="config_systemTelevisionNotificationHandler" exclusive="true" minSdkVersion="31" @@ -962,6 +980,9 @@ <permission-set name="notifications" /> <permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" /> <permission name="android.permission.SYSTEM_APPLICATION_OVERLAY" /> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> </permissions> </role> @@ -1053,7 +1074,7 @@ --> <role name="android.app.role.SYSTEM_DOCUMENT_MANAGER" - behavior="DocumentManagerRoleBehavior" + behavior="v33.DocumentManagerRoleBehavior" exclusive="true" minSdkVersion="33" static="true" @@ -1115,6 +1136,9 @@ <permission name="android.permission.MANAGE_SENSOR_PRIVACY" /> <permission name="android.permission.OBSERVE_SENSOR_PRIVACY" /> <permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" minSdkVersion="33"/> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> </permissions> </role> @@ -1123,7 +1147,7 @@ --> <role name="android.app.role.SYSTEM_TELEVISION_REMOTE_SERVICE" - behavior="TelevisionRoleBehavior" + behavior="v31.TelevisionRoleBehavior" defaultHolders="config_systemTelevisionRemoteService" exclusive="true" minSdkVersion="31" @@ -1142,7 +1166,7 @@ <role name="android.app.role.COMPANION_DEVICE_APP_STREAMING" allowBypassingQualification="true" - behavior="CompanionDeviceAppStreamingRoleBehavior" + behavior="v33.CompanionDeviceAppStreamingRoleBehavior" description="@string/role_app_streaming_description" exclusive="false" minSdkVersion="33" @@ -1168,7 +1192,7 @@ <role name="android.app.role.COMPANION_DEVICE_COMPUTER" allowBypassingQualification="true" - behavior="CompanionDeviceComputerRoleBehavior" + behavior="v33.CompanionDeviceComputerRoleBehavior" description="@string/role_companion_device_computer_description" exclusive="false" minSdkVersion="33" @@ -1177,12 +1201,15 @@ <permissions> <permission-set name="notifications" /> <permission-set name="storage" /> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> </permissions> </role> <role name="android.app.role.COMPANION_DEVICE_GLASSES" - behavior="CompanionDeviceGlassesRoleBehavior" + behavior="v34.CompanionDeviceGlassesRoleBehavior" exclusive="false" minSdkVersion="34" systemOnly="false" @@ -1194,6 +1221,9 @@ <permission-set name="notifications" /> <permission-set name="phone" /> <permission-set name="sms" /> + <!-- If this role holder has a NotificationListenerService, let that service receive + notifications with sensitive content unredacted--> + <permission name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" minSdkVersion="35"/> </permissions> <app-op-permissions> <app-op-permission name="android.permission.MANAGE_ONGOING_CALLS" /> @@ -1238,7 +1268,7 @@ --> <role name="android.app.role.DEVICE_POLICY_MANAGEMENT" - behavior="DevicePolicyManagementRoleBehavior" + behavior="v33.DevicePolicyManagementRoleBehavior" defaultHolders="config_devicePolicyManagement" exclusive="true" minSdkVersion="33" @@ -1331,6 +1361,21 @@ <permission name="android.permission.MANAGE_DEVICE_POLICY_USB_FILE_TRANSFER" minSdkVersion="34" /> <permission name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_SECURITY_CRITICAL" minSdkVersion="34" /> <permission name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS" minSdkVersion="34" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_QUERY_SYSTEM_UPDATES" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE" minSdkVersion="35" /> + <permission name="android.permission.QUERY_DEVICE_STOLEN_STATE" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_APPS_CONTROL" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_WALLPAPER" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_VPN" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_AUTOFILL" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_LOCATION" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_DISPLAY" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_LOCALE" minSdkVersion="35" /> + <permission name="android.permission.MANAGE_DEVICE_POLICY_SMS" minSdkVersion="35" /> </permissions> </role> @@ -1345,6 +1390,9 @@ <permissions> <permission-set name="notifications" /> <permission name="android.permission.GET_HISTORICAL_APP_OPS_STATS" /> + <permission name="android.permission.READ_SMS" /> + <permission name="android.permission.RECEIVE_SMS" /> + <permission name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES" minSdkVersion="35" /> </permissions> </role> @@ -1354,7 +1402,7 @@ --> <role name="android.app.role.SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER" - behavior="AutomotiveRoleBehavior" + behavior="v31.AutomotiveRoleBehavior" defaultHolders="config_systemAutomotiveCalendarSyncManager" exclusive="true" minSdkVersion="33" @@ -1374,7 +1422,7 @@ --> <role name="android.app.role.AUTOMOTIVE_NAVIGATION" - behavior="AutomotiveRoleBehavior" + behavior="v31.AutomotiveRoleBehavior" defaultHolders="config_defaultAutomotiveNavigation" description="@string/role_automotive_navigation_description" exclusive="true" @@ -1531,7 +1579,7 @@ --> <role name="android.app.role.SYSTEM_WEAR_HEALTH_SERVICE" - behavior="SystemWearHealthServiceRoleBehavior" + behavior="v33.SystemWearHealthServiceRoleBehavior" defaultHolders="config_systemWearHealthService" exclusive="true" minSdkVersion="33" @@ -1551,7 +1599,7 @@ --> <role name="android.app.role.NOTES" - behavior="NotesRoleBehavior" + behavior="v34.NotesRoleBehavior" defaultHolders="config_defaultNotes" description="@string/role_notes_description" exclusive="true" @@ -1615,7 +1663,7 @@ <role name="android.app.role.RETAIL_DEMO" - behavior="RetailDemoRoleBehavior" + behavior="v35.RetailDemoRoleBehavior" defaultHolders="config_defaultRetailDemo" exclusive="true" minSdkVersion="35" @@ -1637,4 +1685,22 @@ <app-op-permission name="android.permission.PACKAGE_USAGE_STATS" /> </app-op-permissions> </role> + + <role + name="android.app.role.WALLET" + behavior="v35.WalletRoleBehavior" + defaultHolders="config_defaultWallet" + description="@string/role_wallet_description" + exclusive="true" + label="@string/role_wallet_label" + minSdkVersion="35" + overrideUserWhenGranting="true" + requestable="true" + requestDescription="@string/role_wallet_request_description" + requestTitle="@string/role_wallet_request_title" + showNone="true" + shortLabel="@string/role_wallet_short_label" + uiBehavior="v35.WalletRoleUiBehavior"/> + + </roles> diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/HomeRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/HomeRoleBehavior.java index 4bf5a6294..8c1446b50 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/HomeRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/HomeRoleBehavior.java @@ -20,7 +20,6 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; -import android.content.pm.PermissionInfo; import android.content.pm.ResolveInfo; import android.os.Build; import android.os.UserHandle; @@ -148,13 +147,6 @@ public class HomeRoleBehavior implements RoleBehavior { true, false, true, false, false, user, context); } - // Before T, ALLOW_SLIPPERY_TOUCHES may either not exist, or may not be a role permission - if (isRolePermission(android.Manifest.permission.ALLOW_SLIPPERY_TOUCHES, context)) { - Permissions.grantAsUser(packageName, - Arrays.asList(android.Manifest.permission.ALLOW_SLIPPERY_TOUCHES), - true, false, true, false, false, user, context); - } - if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH)) { if (SdkLevel.isAtLeastT()) { Permissions.grantAsUser(packageName, WEAR_PERMISSIONS_T, @@ -178,13 +170,6 @@ public class HomeRoleBehavior implements RoleBehavior { user, context); } - // Before T, ALLOW_SLIPPERY_TOUCHES may either not exist, or may not be a role permission - if (isRolePermission(android.Manifest.permission.ALLOW_SLIPPERY_TOUCHES, context)) { - Permissions.revokeAsUser(packageName, - Arrays.asList(android.Manifest.permission.ALLOW_SLIPPERY_TOUCHES), - true, false, false, user, context); - } - if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH)) { if (SdkLevel.isAtLeastT()) { Permissions.revokeAsUser(packageName, WEAR_PERMISSIONS_T, true, false, false, @@ -200,21 +185,6 @@ public class HomeRoleBehavior implements RoleBehavior { } } - /** - * Return true if the permission exists, and has 'role' protection level. - * Return false otherwise. - */ - private boolean isRolePermission(@NonNull String permissionName, @NonNull Context context) { - PermissionInfo permissionInfo; - try { - permissionInfo = context.getPackageManager().getPermissionInfo(permissionName, 0); - } catch (PackageManager.NameNotFoundException e) { - return false; - } - final int flags = permissionInfo.getProtectionFlags(); - return (flags & PermissionInfo.PROTECTION_FLAG_ROLE) == PermissionInfo.PROTECTION_FLAG_ROLE; - } - @Override public boolean isVisibleAsUser(@NonNull Role role, @NonNull UserHandle user, @NonNull Context context) { diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/AutomotiveRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/AutomotiveRoleBehavior.java index 6eedb8f4d..022e127e6 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/AutomotiveRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/AutomotiveRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v31; import android.content.Context; import android.content.pm.PackageManager; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/CompanionDeviceWatchRoleBehavior.java index 0645c84d1..b98035fb2 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/CompanionDeviceWatchRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v31; import android.content.Context; import android.os.UserHandle; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/SystemShellRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/SystemShellRoleBehavior.java index 621955770..8c6eafa26 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/SystemShellRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/SystemShellRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v31; import android.content.Context; import android.content.pm.PackageManager; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/TelevisionRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/TelevisionRoleBehavior.java index 88021e62d..d418ba300 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/TelevisionRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v31/TelevisionRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v31; import android.content.Context; import android.content.pm.PackageManager; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/CompanionDeviceAppStreamingRoleBehavior.java index c164de3d8..275387d57 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/CompanionDeviceAppStreamingRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v33; import android.content.Context; import android.os.UserHandle; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/CompanionDeviceComputerRoleBehavior.java index e5d996675..9967751ed 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/CompanionDeviceComputerRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v33; import android.content.Context; import android.os.UserHandle; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/DevicePolicyManagementRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/DevicePolicyManagementRoleBehavior.java index 648b7d198..34e7e1843 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/DevicePolicyManagementRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/DevicePolicyManagementRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v33; import android.app.admin.DevicePolicyManager; import android.content.Context; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/DocumentManagerRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/DocumentManagerRoleBehavior.java index fa030a00a..3fb7b2c56 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/DocumentManagerRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/DocumentManagerRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v33; import android.content.Context; import android.os.UserHandle; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/SystemWearHealthServiceRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/SystemWearHealthServiceRoleBehavior.java index d9f34291d..446bdac84 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/SystemWearHealthServiceRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v33/SystemWearHealthServiceRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v33; import android.content.Context; import android.content.pm.PackageManager; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v34/CompanionDeviceGlassesRoleBehavior.java index 5464a1518..00d7e5f31 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v34/CompanionDeviceGlassesRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v34; import android.content.Context; import android.os.UserHandle; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/NotesRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v34/NotesRoleBehavior.java index 14c189a0f..4e39e0c87 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/NotesRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v34/NotesRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v34; import android.content.Context; import android.content.res.Resources; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/RetailDemoRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v35/RetailDemoRoleBehavior.java index 6dcdafd4c..9905ed0ae 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/RetailDemoRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v35/RetailDemoRoleBehavior.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.role.controller.behavior; +package com.android.role.controller.behavior.v35; import android.app.admin.DevicePolicyManager; import android.content.Context; diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/v35/WalletRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/v35/WalletRoleBehavior.java new file mode 100644 index 000000000..d01e59456 --- /dev/null +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/v35/WalletRoleBehavior.java @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2023 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.role.controller.behavior.v35; + +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.pm.ServiceInfo; +import android.nfc.cardemulation.ApduServiceInfo; +import android.nfc.cardemulation.CardEmulation; +import android.nfc.cardemulation.HostApduService; +import android.nfc.cardemulation.OffHostApduService; +import android.os.Build; +import android.os.UserHandle; +import android.permission.flags.Flags; +import android.service.quickaccesswallet.QuickAccessWalletService; +import android.util.ArraySet; +import android.util.Log; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; + +import com.android.modules.utils.build.SdkLevel; +import com.android.role.controller.model.Role; +import com.android.role.controller.model.RoleBehavior; +import com.android.role.controller.util.CollectionUtils; +import com.android.role.controller.util.UserUtils; + +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +/** + * Handles the behavior of the wallet role. + */ +@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +public class WalletRoleBehavior implements RoleBehavior { + + private static final String LOG_TAG = WalletRoleBehavior.class.getSimpleName(); + + @Override + public boolean isAvailableAsUser(@NonNull Role role, @NonNull UserHandle user, + @NonNull Context context) { + return SdkLevel.isAtLeastV() && Flags.walletRoleEnabled() + && !UserUtils.isProfile(user, context); + } + + @Nullable + @Override + public List<String> getDefaultHoldersAsUser(@NonNull Role role, @NonNull UserHandle user, + @NonNull Context context) { + Context userContext = UserUtils.getUserContext(context, user); + ComponentName preferredPaymentService = + CardEmulation.getPreferredPaymentService(userContext); + if (preferredPaymentService != null) { + return Collections.singletonList(preferredPaymentService.getPackageName()); + } + + return null; + } + + @Nullable + @Override + public String getFallbackHolderAsUser(@NonNull Role role, @NonNull UserHandle user, + @NonNull Context context) { + return CollectionUtils.firstOrNull(role.getDefaultHoldersAsUser(user, context)); + } + + @Nullable + @Override + public Boolean isPackageQualifiedAsUser(@NonNull Role role, @NonNull String packageName, + @NonNull UserHandle user, @NonNull Context context) { + return !getQualifyingPackageNamesInternal(packageName, user, context).isEmpty(); + } + + @Nullable + @Override + public List<String> getQualifyingPackagesAsUser(@NonNull Role role, @NonNull UserHandle user, + @NonNull Context context) { + return new ArrayList<>(getQualifyingPackageNamesInternal(null, user, context)); + } + + @NonNull + private static Set<String> getQualifyingPackageNamesInternal(@Nullable String packageName, + @NonNull UserHandle user, @NonNull Context context) { + Set<String> packageNames = resolvePackageNames(QuickAccessWalletService.SERVICE_INTERFACE, + packageName, user, context); + if (isNfcHostCardEmulationSupported(context)) { + packageNames.addAll(getQualifyingApduServicesAsUser(packageName, false, user, + context)); + packageNames.addAll(getQualifyingApduServicesAsUser(packageName, true, user, + context)); + } + return packageNames; + } + + @NonNull + private static Set<String> resolvePackageNames(@NonNull String action, + @Nullable String packageName, @NonNull UserHandle user, @NonNull Context context) { + Intent intent = new Intent(action).setPackage(packageName); + PackageManager packageManager = context.getPackageManager(); + List<ResolveInfo> resolveInfos = packageManager + .queryIntentServicesAsUser(intent, PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, user); + Set<String> packageNames = new ArraySet<>(); + int resolveInfosSize = resolveInfos.size(); + for (int i = 0; i < resolveInfosSize; i++) { + ServiceInfo serviceInfo = resolveInfos.get(i).serviceInfo; + if (!serviceInfo.exported) { + continue; + } + packageNames.add(serviceInfo.packageName); + } + return packageNames; + } + + @NonNull + private static Set<String> getQualifyingApduServicesAsUser(@Nullable String packageName, + boolean onHost, @NonNull UserHandle user, @NonNull Context context) { + Context userContext = UserUtils.getUserContext(context, user); + PackageManager userPackageManager = userContext.getPackageManager(); + Intent intent = new Intent( + onHost ? HostApduService.SERVICE_INTERFACE : OffHostApduService.SERVICE_INTERFACE) + .setPackage(packageName); + List<ResolveInfo> resolveInfos = userPackageManager.queryIntentServices(intent, + PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.GET_META_DATA); + Set<String> packageNames = new ArraySet<>(); + int resolveInfosSize = resolveInfos.size(); + for (int i = 0; i < resolveInfosSize; i++) { + ResolveInfo resolveInfo = resolveInfos.get(i); + ServiceInfo serviceInfo = resolveInfo.serviceInfo; + if (!serviceInfo.exported) { + continue; + } + ApduServiceInfo apduServiceInfo; + try { + apduServiceInfo = new ApduServiceInfo(userPackageManager, resolveInfo, onHost); + } catch (IOException | XmlPullParserException e) { + Log.w(LOG_TAG, "Unable to create ApduServiceInfo for " + resolveInfo, e); + continue; + } + if (apduServiceInfo.hasCategory(CardEmulation.CATEGORY_PAYMENT)) { + packageNames.add(resolveInfo.serviceInfo.packageName); + } + } + return packageNames; + } + + private static boolean isNfcHostCardEmulationSupported(@NonNull Context context) { + return context.getPackageManager().hasSystemFeature( + PackageManager.FEATURE_NFC_HOST_CARD_EMULATION); + } +} diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java index 6ded32d58..f999e5972 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java @@ -16,11 +16,16 @@ package com.android.role.controller.model; +import android.content.Context; +import android.content.pm.PackageManager; +import android.content.pm.PermissionInfo; import android.os.Build; +import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.modules.utils.build.SdkLevel; +import com.android.role.controller.util.UserUtils; import java.util.Objects; @@ -40,9 +45,15 @@ public class Permission { */ private final int mMinSdkVersion; - public Permission(@NonNull String name, int minSdkVersion) { + /** + * The minimum SDK version for this permission to be optionally granted (when it is grantable). + */ + private final int mOptionalMinSdkVersion; + + public Permission(@NonNull String name, int minSdkVersion, int optionalMinSdkVersion) { mName = name; mMinSdkVersion = minSdkVersion; + mOptionalMinSdkVersion = optionalMinSdkVersion; } @NonNull @@ -54,33 +65,56 @@ public class Permission { return mMinSdkVersion; } + public int getOptionalMinSdkVersion() { + return mOptionalMinSdkVersion; + } + /** * Check whether this permission is available. * + * @param user the user to check for + * @param context the {@code Context} to retrieve system services + * * @return whether this permission is available */ - public boolean isAvailable() { - // Workaround to match the value 35+ for V+ in roles.xml before SDK finalization. - if (mMinSdkVersion >= 35) { - return SdkLevel.isAtLeastV(); - } else { - return Build.VERSION.SDK_INT >= mMinSdkVersion; + public boolean isAvailableAsUser(@NonNull UserHandle user, @NonNull Context context) { + if (Build.VERSION.SDK_INT >= mMinSdkVersion + // Workaround to match the value 35 for V in roles.xml before SDK finalization. + || (mMinSdkVersion == 35 && SdkLevel.isAtLeastV())) { + return true; + } + if (Build.VERSION.SDK_INT >= mOptionalMinSdkVersion) { + Context userContext = UserUtils.getUserContext(context, user); + PackageManager userPackageManager = userContext.getPackageManager(); + PermissionInfo permissionInfo; + try { + permissionInfo = userPackageManager.getPermissionInfo(mName, 0); + } catch (PackageManager.NameNotFoundException e) { + return false; + } + return permissionInfo.getProtection() == PermissionInfo.PROTECTION_DANGEROUS + || (permissionInfo.getProtectionFlags() & PermissionInfo.PROTECTION_FLAG_ROLE) + == PermissionInfo.PROTECTION_FLAG_ROLE + || (permissionInfo.getProtectionFlags() & PermissionInfo.PROTECTION_FLAG_APPOP) + == PermissionInfo.PROTECTION_FLAG_APPOP; } + return false; } /** - * Return a new permission with the specified minimum SDK version, or this permission if it - * already has the same minimum SDK version. + * Return a new permission with the specified SDK versions, or this permission if it already has + * the same SDK versions. * * @param minSdkVersion the minimum SDK version - * @return a permission with the specified minimum SDK version + * @param optionalMinSdkVersion the optional minimum SDK version + * @return a permission with the specified SDK versions */ @NonNull - public Permission withMinSdkVersion(int minSdkVersion) { - if (mMinSdkVersion == minSdkVersion) { + public Permission withSdkVersions(int minSdkVersion, int optionalMinSdkVersion) { + if (mMinSdkVersion == minSdkVersion && mOptionalMinSdkVersion == optionalMinSdkVersion) { return this; } - return new Permission(mName, minSdkVersion); + return new Permission(mName, minSdkVersion, optionalMinSdkVersion); } @Override @@ -88,6 +122,7 @@ public class Permission { return "Permission{" + "mName='" + mName + '\'' + ", mMinSdkVersion=" + mMinSdkVersion + + ", mOptionalMinSdkVersion=" + mOptionalMinSdkVersion + '}'; } @@ -101,11 +136,12 @@ public class Permission { } Permission that = (Permission) object; return mMinSdkVersion == that.mMinSdkVersion + && mOptionalMinSdkVersion == that.mOptionalMinSdkVersion && mName.equals(that.mName); } @Override public int hashCode() { - return Objects.hash(mName, mMinSdkVersion); + return Objects.hash(mName, mMinSdkVersion, mOptionalMinSdkVersion); } } diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java b/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java index 8a15612b9..e788fdce1 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java @@ -61,16 +61,19 @@ public class Permissions { * Filter a list of permissions based on their SDK versions. * * @param permissions the list of permissions + * @param user the user to check for + * @param context the {@code Context} to retrieve system services * * @return the filtered list of permission names. */ @NonNull - public static List<String> filterBySdkVersion(@NonNull List<Permission> permissions) { + public static List<String> filterBySdkVersionAsUser(@NonNull List<Permission> permissions, + @NonNull UserHandle user, @NonNull Context context) { List<String> permissionNames = new ArrayList<>(); int permissionsSize = permissions.size(); for (int i = 0; i < permissionsSize; i++) { Permission permission = permissions.get(i); - if (!permission.isAvailable()) { + if (!permission.isAvailableAsUser(user, context)) { continue; } permissionNames.add(permission.getName()); diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java index 6c7eb7d9e..c3541c83b 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java @@ -17,9 +17,12 @@ package com.android.role.controller.model; import android.app.ActivityManager; +import android.app.admin.DevicePolicyManager; +import android.app.ecm.EnhancedConfirmationManager; import android.app.role.RoleManager; import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.SharedLibraryInfo; @@ -27,6 +30,9 @@ import android.content.pm.Signature; import android.content.res.Resources; import android.os.Build; import android.os.UserHandle; +import android.os.UserManager; +import android.permission.flags.Flags; +import android.provider.Settings; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; @@ -128,6 +134,11 @@ public class Role { private final int mMinSdkVersion; /** + * Whether this role should only grant privileges when a role holder is actively added. + */ + private final boolean mOnlyGrantWhenAdded; + + /** * Whether this role should override user's choice about privileges when granting. */ private final boolean mOverrideUserWhenGranting; @@ -224,11 +235,11 @@ public class Role { @Nullable RoleBehavior behavior, @Nullable String defaultHoldersResourceName, @StringRes int descriptionResource, boolean exclusive, boolean fallBackToDefaultHolder, @StringRes int labelResource, int maxSdkVersion, int minSdkVersion, - boolean overrideUserWhenGranting, @StringRes int requestDescriptionResource, - @StringRes int requestTitleResource, boolean requestable, - @StringRes int searchKeywordsResource, @StringRes int shortLabelResource, - boolean showNone, boolean statik, boolean systemOnly, boolean visible, - @NonNull List<RequiredComponent> requiredComponents, + boolean onlyGrantWhenAdded, boolean overrideUserWhenGranting, + @StringRes int requestDescriptionResource, @StringRes int requestTitleResource, + boolean requestable, @StringRes int searchKeywordsResource, + @StringRes int shortLabelResource, boolean showNone, boolean statik, boolean systemOnly, + boolean visible, @NonNull List<RequiredComponent> requiredComponents, @NonNull List<Permission> permissions, @NonNull List<Permission> appOpPermissions, @NonNull List<AppOp> appOps, @NonNull List<PreferredActivity> preferredActivities, @Nullable String uiBehaviorName) { @@ -242,6 +253,7 @@ public class Role { mLabelResource = labelResource; mMaxSdkVersion = maxSdkVersion; mMinSdkVersion = minSdkVersion; + mOnlyGrantWhenAdded = onlyGrantWhenAdded; mOverrideUserWhenGranting = overrideUserWhenGranting; mRequestDescriptionResource = requestDescriptionResource; mRequestTitleResource = requestTitleResource; @@ -309,6 +321,13 @@ public class Role { } /** + * @see #mOnlyGrantWhenAdded + */ + public boolean shouldOnlyGrantWhenAdded() { + return mOnlyGrantWhenAdded; + } + + /** * @see #mOverrideUserWhenGranting */ public boolean shouldOverrideUserWhenGranting() { @@ -392,13 +411,10 @@ public class Role { * @return whether this role is available based on SDK version */ boolean isAvailableBySdkVersion() { - // Workaround to match the value 35+ for V+ in roles.xml before SDK finalization. - if (mMinSdkVersion >= 35) { - return SdkLevel.isAtLeastV(); - } else { - return Build.VERSION.SDK_INT >= mMinSdkVersion - && Build.VERSION.SDK_INT <= mMaxSdkVersion; - } + return (Build.VERSION.SDK_INT >= mMinSdkVersion + // Workaround to match the value 35 for V in roles.xml before SDK finalization. + || (mMinSdkVersion == 35 && SdkLevel.isAtLeastV())) + && Build.VERSION.SDK_INT <= mMaxSdkVersion; } public boolean isStatic() { @@ -416,10 +432,14 @@ public class Role { @NonNull public List<String> getDefaultHoldersAsUser(@NonNull UserHandle user, @NonNull Context context) { - if (mDefaultHoldersResourceName == null) { - if (mBehavior != null) { - return mBehavior.getDefaultHoldersAsUser(this, user, context); + if (mBehavior != null) { + List<String> defaultHolders = mBehavior.getDefaultHoldersAsUser(this, user, context); + if (defaultHolders != null) { + return defaultHolders; } + } + + if (mDefaultHoldersResourceName == null) { return Collections.emptyList(); } @@ -781,11 +801,12 @@ public class Role { public void grantAsUser(@NonNull String packageName, boolean dontKillApp, boolean overrideUser, @NonNull UserHandle user, @NonNull Context context) { boolean permissionOrAppOpChanged = Permissions.grantAsUser(packageName, - Permissions.filterBySdkVersion(mPermissions), + Permissions.filterBySdkVersionAsUser(mPermissions, user, context), SdkLevel.isAtLeastS() ? !mSystemOnly : true, overrideUser, true, false, false, user, context); - List<String> appOpPermissionsToGrant = Permissions.filterBySdkVersion(mAppOpPermissions); + List<String> appOpPermissionsToGrant = + Permissions.filterBySdkVersionAsUser(mAppOpPermissions, user, context); int appOpPermissionsSize = appOpPermissionsToGrant.size(); for (int i = 0; i < appOpPermissionsSize; i++) { String appOpPermission = appOpPermissionsToGrant.get(i); @@ -831,24 +852,27 @@ public class Role { List<String> otherRoleNames = userRoleManager.getHeldRolesFromController(packageName); otherRoleNames.remove(mName); - List<String> permissionsToRevoke = Permissions.filterBySdkVersion(mPermissions); + List<String> permissionsToRevoke = + Permissions.filterBySdkVersionAsUser(mPermissions, user, context); ArrayMap<String, Role> roles = Roles.get(context); int otherRoleNamesSize = otherRoleNames.size(); for (int i = 0; i < otherRoleNamesSize; i++) { String roleName = otherRoleNames.get(i); Role role = roles.get(roleName); - permissionsToRevoke.removeAll(Permissions.filterBySdkVersion(role.mPermissions)); + permissionsToRevoke.removeAll( + Permissions.filterBySdkVersionAsUser(role.mPermissions, user, context)); } boolean permissionOrAppOpChanged = Permissions.revokeAsUser(packageName, permissionsToRevoke, true, false, overrideSystemFixedPermissions, user, context); - List<String> appOpPermissionsToRevoke = Permissions.filterBySdkVersion(mAppOpPermissions); + List<String> appOpPermissionsToRevoke = Permissions.filterBySdkVersionAsUser( + mAppOpPermissions, user, context); for (int i = 0; i < otherRoleNamesSize; i++) { String roleName = otherRoleNames.get(i); Role role = roles.get(roleName); appOpPermissionsToRevoke.removeAll( - Permissions.filterBySdkVersion(role.mAppOpPermissions)); + Permissions.filterBySdkVersionAsUser(role.mAppOpPermissions, user, context)); } int appOpPermissionsSize = appOpPermissionsToRevoke.size(); for (int i = 0; i < appOpPermissionsSize; i++) { @@ -953,7 +977,7 @@ public class Role { * Check whether this role should be visible to user. * * @param user the user to check for - * @param context the `Context` to retrieve system services + * @param context the {@code Context} to retrieve system services * * @return whether this role should be visible to user */ @@ -983,6 +1007,76 @@ public class Role { return behavior.isApplicationVisibleAsUser(this, applicationInfo, user, context); } + /** + * Check whether this role is restricted and return the {@code Intent} for the restriction if it + * is. + * <p> + * If a role is restricted, it is implied that all applications are restricted for the role as + * well. + * + * @param user the user to check for + * @param context the {@code Context} to retrieve system services + * + * @return the {@code Intent} for the restriction if this role is restricted, or {@code null} + * otherwise. + */ + @Nullable + public Intent getRestrictionIntentAsUser(@NonNull UserHandle user, @NonNull Context context) { + if (SdkLevel.isAtLeastU() && mExclusive) { + UserManager userManager = context.getSystemService(UserManager.class); + if (userManager.hasUserRestrictionForUser(UserManager.DISALLOW_CONFIG_DEFAULT_APPS, + user)) { + return new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS) + .putExtra(DevicePolicyManager.EXTRA_RESTRICTION, + UserManager.DISALLOW_CONFIG_DEFAULT_APPS); + } + } + return null; + } + + /** + * Check whether an application is restricted for this role and return the {@code Intent} for + * the restriction if it is. + * <p> + * If a role is restricted, it is implied that all applications are restricted for the role as + * well. + * + * @param applicationInfo the {@link ApplicationInfo} for the application + * @param user the user to check for + * @param context the {@code Context} to retrieve system services + * + * @return the {@code Intent} for the restriction if the application is restricted for this + * role, or {@code null} otherwise. + */ + @Nullable + public Intent getApplicationRestrictionIntentAsUser(@NonNull ApplicationInfo applicationInfo, + @NonNull UserHandle user, @NonNull Context context) { + if (SdkLevel.isAtLeastV() && Flags.enhancedConfirmationModeApisEnabled()) { + Context userContext = UserUtils.getUserContext(context, user); + EnhancedConfirmationManager userEnhancedConfirmationManager = + userContext.getSystemService(EnhancedConfirmationManager.class); + String packageName = applicationInfo.packageName; + boolean isRestricted; + try { + isRestricted = userEnhancedConfirmationManager.isRestricted(packageName, mName); + } catch (PackageManager.NameNotFoundException e) { + Log.w(LOG_TAG, "Cannot check enhanced confirmation restriction for package: " + + packageName, e); + isRestricted = false; + } + if (isRestricted) { + try { + return userEnhancedConfirmationManager.createRestrictedSettingDialogIntent( + packageName, mName); + } catch (PackageManager.NameNotFoundException e) { + Log.w(LOG_TAG, "Cannot create enhanced confirmation restriction intent for" + + " package: " + packageName, e); + } + } + } + return getRestrictionIntentAsUser(user, context); + } + @Override public String toString() { return "Role{" @@ -996,6 +1090,7 @@ public class Role { + ", mLabelResource=" + mLabelResource + ", mMaxSdkVersion=" + mMaxSdkVersion + ", mMinSdkVersion=" + mMinSdkVersion + + ", mOnlyGrantWhenAdded=" + mOnlyGrantWhenAdded + ", mOverrideUserWhenGranting=" + mOverrideUserWhenGranting + ", mRequestDescriptionResource=" + mRequestDescriptionResource + ", mRequestTitleResource=" + mRequestTitleResource diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/RoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/model/RoleBehavior.java index 4bc1873d5..3849a50e3 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/RoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/RoleBehavior.java @@ -48,10 +48,10 @@ public interface RoleBehavior { /** * @see Role#getDefaultHolders(Context) */ - @NonNull + @Nullable default List<String> getDefaultHoldersAsUser(@NonNull Role role, @NonNull UserHandle user, @NonNull Context context) { - return Collections.emptyList(); + return null; } /** diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java index cc2d102c8..ad9054727 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java @@ -24,6 +24,7 @@ import android.content.pm.PermissionInfo; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.os.Build; +import android.os.Process; import android.permission.flags.Flags; import android.util.ArrayMap; import android.util.Log; @@ -92,6 +93,7 @@ public class RoleParser { private static final String ATTRIBUTE_LABEL = "label"; private static final String ATTRIBUTE_MAX_SDK_VERSION = "maxSdkVersion"; private static final String ATTRIBUTE_MIN_SDK_VERSION = "minSdkVersion"; + private static final String ATTRIBUTE_ONLY_GRANT_WHEN_ADDED = "onlyGrantWhenAdded"; private static final String ATTRIBUTE_OVERRIDE_USER_WHEN_GRANTING = "overrideUserWhenGranting"; private static final String ATTRIBUTE_QUERY_FLAGS = "queryFlags"; private static final String ATTRIBUTE_REQUEST_TITLE = "requestTitle"; @@ -106,6 +108,7 @@ public class RoleParser { private static final String ATTRIBUTE_VISIBLE = "visible"; private static final String ATTRIBUTE_FLAGS = "flags"; private static final String ATTRIBUTE_MIN_TARGET_SDK_VERSION = "minTargetSdkVersion"; + private static final String ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION = "optionalMinSdkVersion"; private static final String ATTRIBUTE_PERMISSION = "permission"; private static final String ATTRIBUTE_PROHIBITED = "prohibited"; private static final String ATTRIBUTE_VALUE = "value"; @@ -272,6 +275,8 @@ public class RoleParser { int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION, Build.VERSION_CODES.BASE); + int optionalMinSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION, + minSdkVersion); List<Permission> permissions = new ArrayList<>(); @@ -291,7 +296,10 @@ public class RoleParser { continue; } int mergedMinSdkVersion = Math.max(permission.getMinSdkVersion(), minSdkVersion); - permission = permission.withMinSdkVersion(mergedMinSdkVersion); + int mergedOptionalMinSdkVersion = Math.max(permission.getOptionalMinSdkVersion(), + optionalMinSdkVersion); + permission = permission.withSdkVersions(mergedMinSdkVersion, + mergedOptionalMinSdkVersion); validateNoDuplicateElement(permission, permissions, "permission"); permissions.add(permission); } else { @@ -313,7 +321,9 @@ public class RoleParser { } int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION, Build.VERSION_CODES.BASE); - return new Permission(name, minSdkVersion); + int optionalMinSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION, + minSdkVersion); + return new Permission(name, minSdkVersion, optionalMinSdkVersion); } @Nullable @@ -396,6 +406,9 @@ public class RoleParser { return null; } + boolean onlyGrantWhenAdded = getAttributeBooleanValue(parser, + ATTRIBUTE_ONLY_GRANT_WHEN_ADDED, false); + boolean overrideUserWhenGranting = getAttributeBooleanValue(parser, ATTRIBUTE_OVERRIDE_USER_WHEN_GRANTING, false); @@ -523,10 +536,11 @@ public class RoleParser { } return new Role(name, allowBypassingQualification, behavior, defaultHoldersResourceName, descriptionResource, exclusive, fallBackToDefaultHolder, labelResource, - maxSdkVersion, minSdkVersion, overrideUserWhenGranting, requestDescriptionResource, - requestTitleResource, requestable, searchKeywordsResource, shortLabelResource, - showNone, statik, systemOnly, visible, requiredComponents, permissions, - appOpPermissions, appOps, preferredActivities, uiBehaviorName); + maxSdkVersion, minSdkVersion, onlyGrantWhenAdded, overrideUserWhenGranting, + requestDescriptionResource, requestTitleResource, requestable, + searchKeywordsResource, shortLabelResource, showNone, statik, systemOnly, visible, + requiredComponents, permissions, appOpPermissions, appOps, preferredActivities, + uiBehaviorName); } @NonNull @@ -768,6 +782,8 @@ public class RoleParser { } int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION, Build.VERSION_CODES.BASE); + int optionalMinSdkVersion = getAttributeIntValue(parser, + ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION, minSdkVersion); List<Permission> permissionsInSet = permissionSet.getPermissions(); int permissionsInSetSize = permissionsInSet.size(); for (int permissionsInSetIndex = 0; @@ -775,7 +791,10 @@ public class RoleParser { Permission permission = permissionsInSet.get(permissionsInSetIndex); int mergedMinSdkVersion = Math.max(permission.getMinSdkVersion(), minSdkVersion); - permission = permission.withMinSdkVersion(mergedMinSdkVersion); + int mergedOptionalMinSdkVersion = Math.max( + permission.getOptionalMinSdkVersion(), optionalMinSdkVersion); + permission = permission.withSdkVersions(mergedMinSdkVersion, + mergedOptionalMinSdkVersion); // We do allow intersection between permission sets. permissions.add(permission); } @@ -1144,7 +1163,7 @@ public class RoleParser { } private void validatePermission(@NonNull Permission permission) { - if (!permission.isAvailable()) { + if (!permission.isAvailableAsUser(Process.myUserHandle(), mContext)) { return; } validatePermission(permission.getName(), true); @@ -1180,7 +1199,7 @@ public class RoleParser { } private void validateAppOpPermission(@NonNull Permission appOpPermission) { - if (!appOpPermission.isAvailable()) { + if (!appOpPermission.isAvailableAsUser(Process.myUserHandle(), mContext)) { return; } validateAppOpPermission(appOpPermission.getName()); diff --git a/PermissionController/role-controller/java/com/android/role/controller/service/RoleControllerServiceImpl.java b/PermissionController/role-controller/java/com/android/role/controller/service/RoleControllerServiceImpl.java index 2a6010c4d..bc7562c11 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/service/RoleControllerServiceImpl.java +++ b/PermissionController/role-controller/java/com/android/role/controller/service/RoleControllerServiceImpl.java @@ -131,10 +131,12 @@ public class RoleControllerServiceImpl extends RoleControllerService { String packageName = currentPackageNames.get(currentPackageNamesIndex); if (role.isPackageQualifiedAsUser(packageName, mUser, mContext)) { - // We should not override user set or fixed permissions because we are only - // redoing the grant here. Otherwise, user won't be able to revoke permissions - // granted by role. - addRoleHolderInternal(role, packageName, false, false, true); + if (!role.shouldOnlyGrantWhenAdded()) { + // We should not override user set or fixed permissions because we are only + // redoing the grant here. Otherwise, user won't be able to revoke + // permissions granted by role. + addRoleHolderInternal(role, packageName, false, false, true); + } } else { Log.i(LOG_TAG, "Removing package that no longer qualifies for the role," + " package: " + packageName + ", role: " + roleName); diff --git a/PermissionController/role-controller/java/com/android/role/controller/util/UserUtils.java b/PermissionController/role-controller/java/com/android/role/controller/util/UserUtils.java index ac3b681a8..1f8e62556 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/util/UserUtils.java +++ b/PermissionController/role-controller/java/com/android/role/controller/util/UserUtils.java @@ -24,6 +24,8 @@ import android.os.UserManager; import androidx.annotation.NonNull; +import com.android.modules.utils.build.SdkLevel; + /** Utility class to deal with Android users. */ public final class UserUtils { @@ -37,7 +39,13 @@ public final class UserUtils { * @return whether the user is a profile */ public static boolean isProfile(@NonNull UserHandle user, @NonNull Context context) { - return isManagedProfile(user, context) || isCloneProfile(user, context); + if (SdkLevel.isAtLeastV()) { + Context userContext = getUserContext(context, user); + UserManager userUserManager = userContext.getSystemService(UserManager.class); + return userUserManager.isProfile(); + } else { + return isManagedProfile(user, context) || isCloneProfile(user, context); + } } /** diff --git a/PermissionController/role-controller/lint-baseline.xml b/PermissionController/role-controller/lint-baseline.xml index e7c119f3b..894dc1834 100644 --- a/PermissionController/role-controller/lint-baseline.xml +++ b/PermissionController/role-controller/lint-baseline.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev"> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> <issue id="NewApi" message="Call requires API level 31 (current min is 30): `android.app.NotificationManager#setNotificationListenerAccessGranted`" - errorLine1=" notificationManager.setNotificationListenerAccessGranted(" - errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + errorLine1=" userNotificationManager.setNotificationListenerAccessGranted(" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> <location file="packages/modules/Permission/PermissionController/role-controller/java/com/android/role/controller/util/NotificationUtils.java" - line="74" - column="33"/> + line="78" + column="37"/> </issue> </issues>
\ No newline at end of file diff --git a/PermissionController/src/com/android/permissioncontroller/Constants.java b/PermissionController/src/com/android/permissioncontroller/Constants.java index a063fb607..47ec9cabb 100644 --- a/PermissionController/src/com/android/permissioncontroller/Constants.java +++ b/PermissionController/src/com/android/permissioncontroller/Constants.java @@ -276,6 +276,12 @@ public class Constants { "com.android.permissioncontroller.extra.SESSION_ID"; /** + * Intent extra used to pass if the restriction dialog is triggered in-app. + */ + public static final String EXTRA_IS_ECM_IN_APP = + "com.android.permissincontroller.extra.IS_ECM_IN_APP"; + + /** * Intent extra used to pass privacy source details to safety center. */ public static final String EXTRA_PRIVACY_SOURCE = diff --git a/PermissionController/src/com/android/permissioncontroller/appops/data/model/v31/PackageAppOpUsageModel.kt b/PermissionController/src/com/android/permissioncontroller/appops/data/model/v31/PackageAppOpUsageModel.kt new file mode 100644 index 000000000..1820d01ae --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/appops/data/model/v31/PackageAppOpUsageModel.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.appops.data.model.v31 + +/** + * Collection of app op usages for a package and user. App op usage represent private data access + * (i.e. location, contact access) by the app/package. + */ +data class PackageAppOpUsageModel( + val packageName: String, + val usages: List<AppOpUsageModel>, + val userId: Int +) { + /** Data class representing an app op and the recent access time by an app. */ + data class AppOpUsageModel( + val appOpName: String, + /** Milliseconds since the epoch */ + val lastAccessTimestampMillis: Long, + ) +} diff --git a/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt b/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt new file mode 100644 index 000000000..8f3286e36 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/appops/data/repository/v31/AppOpRepository.kt @@ -0,0 +1,216 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.appops.data.repository.v31 + +import android.app.AppOpsManager +import android.app.Application +import android.content.pm.PackageManager +import android.os.UserHandle +import android.util.Log +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel.AppOpUsageModel +import com.android.permissioncontroller.permission.data.PackageBroadcastReceiver +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.permission.utils.PermissionMapping +import kotlin.concurrent.Volatile +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.callbackFlow +import kotlinx.coroutines.flow.flowOn + +/** + * This repository encapsulate app op data (i.e. app op usage, app op mode, historical ops etc.) + * exposed by [AppOpsManager]. + */ +interface AppOpRepository { + /** + * A flow/stream of package app ops, these app ops are processed to show the usage statistics in + * the privacy dashboard. + * + * @see AppOpsManager.getPackagesForOps + */ + val packageAppOpsUsages: Flow<List<PackageAppOpUsageModel>> + + companion object { + @Volatile private var instance: AppOpRepository? = null + + fun getInstance( + application: Application, + permissionRepository: PermissionRepository + ): AppOpRepository = + instance + ?: synchronized(this) { + AppOpRepositoryImpl(application, permissionRepository).also { instance = it } + } + } +} + +class AppOpRepositoryImpl( + application: Application, + private val permissionRepository: PermissionRepository, + private val dispatcher: CoroutineDispatcher = Dispatchers.Default, +) : AppOpRepository { + private val appOpsManager = + checkNotNull(application.getSystemService(AppOpsManager::class.java)) + private val packageManager = application.packageManager + + private val appOpNames = getPrivacyDashboardAppOpNames() + + override val packageAppOpsUsages by lazy { + callbackFlow { + send(getPackageOps()) + + // Suppress OnOpNotedListener lint error, startWatchingNoted is behind sdk check. + @SuppressWarnings("NewApi") + val callback = + object : + PackageManager.OnPermissionsChangedListener, + PackageBroadcastReceiver.PackageBroadcastListener, + AppOpsManager.OnOpActiveChangedListener, + AppOpsManager.OnOpNotedListener, + AppOpsManager.OnOpChangedListener { + override fun onPermissionsChanged(uid: Int) { + sendUpdate() + } + + override fun onOpChanged(op: String?, packageName: String?) { + sendUpdate() + } + + override fun onPackageUpdate(packageName: String) { + sendUpdate() + } + + override fun onOpActiveChanged( + op: String, + uid: Int, + packageName: String, + active: Boolean + ) { + sendUpdate() + } + + override fun onOpNoted( + op: String, + uid: Int, + packageName: String, + attributionTag: String?, + flags: Int, + result: Int + ) { + sendUpdate() + } + + fun sendUpdate() { + trySend(getPackageOps()) + } + } + + packageManager.addOnPermissionsChangeListener(callback) + PackageBroadcastReceiver.addAllCallback(callback) + appOpNames.forEach { opName -> + // TODO(b/262035952): We watch each active op individually as + // startWatchingActive only registers the callback if all ops are valid. + // Fix this behavior so if one op is invalid it doesn't affect the other ops. + try { + appOpsManager.startWatchingActive(arrayOf(opName), { it.run() }, callback) + } catch (ignored: IllegalArgumentException) { + // Older builds may not support all requested app ops. + } + + try { + appOpsManager.startWatchingMode(opName, /* all packages */ null, callback) + } catch (ignored: IllegalArgumentException) { + // Older builds may not support all requested app ops. + } + + if (SdkLevel.isAtLeastU()) { + try { + appOpsManager.startWatchingNoted(arrayOf(opName), callback) + } catch (ignored: IllegalArgumentException) { + // Older builds may not support all requested app ops. + } + } + } + + awaitClose { + packageManager.removeOnPermissionsChangeListener(callback) + PackageBroadcastReceiver.removeAllCallback(callback) + appOpsManager.stopWatchingActive(callback) + appOpsManager.stopWatchingMode(callback) + if (SdkLevel.isAtLeastU()) { + appOpsManager.stopWatchingNoted(callback) + } + } + } + .flowOn(dispatcher) + } + + private fun getPackageOps(): List<PackageAppOpUsageModel> { + return try { + appOpsManager.getPackagesForOps(appOpNames.toTypedArray()) + } catch (e: NullPointerException) { + Log.w(LOG_TAG, "App ops not recognized, app ops list: $appOpNames") + // Older builds may not support all requested app ops. + emptyList() + } + .map { packageOps -> + PackageAppOpUsageModel( + packageOps.packageName, + packageOps.ops.map { opEntry -> + AppOpUsageModel( + opEntry.opStr, + opEntry.getLastAccessTime(OPS_LAST_ACCESS_FLAGS) + ) + }, + UserHandle.getUserHandleForUid(packageOps.uid).identifier + ) + } + } + + private fun getPrivacyDashboardAppOpNames(): Set<String> { + val permissionGroups = permissionRepository.getPermissionGroupsForPrivacyDashboard() + val opNames = mutableSetOf<String>() + for (permissionGroup in permissionGroups) { + val permissionNames = + PermissionMapping.getPlatformPermissionNamesOfGroup(permissionGroup) + for (permissionName in permissionNames) { + val opName = AppOpsManager.permissionToOp(permissionName) ?: continue + opNames.add(opName) + } + } + + opNames.add(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE) + opNames.add(AppOpsManager.OPSTR_PHONE_CALL_CAMERA) + if (SdkLevel.isAtLeastT()) { + opNames.add(AppOpsManager.OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO) + } + return opNames + } + + companion object { + private const val LOG_TAG = "AppOpUsageRepository" + + private const val OPS_LAST_ACCESS_FLAGS = + AppOpsManager.OP_FLAG_SELF or + AppOpsManager.OP_FLAG_TRUSTED_PROXIED or + AppOpsManager.OP_FLAG_TRUSTED_PROXY + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt b/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt index 719ef33b5..0ee0e0d01 100644 --- a/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt +++ b/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt @@ -140,6 +140,14 @@ class DrivingDecisionReminderService : Service() { car.disconnect() } } + + fun cancelNotification(context: Context) { + val notificationManager = context.getSystemService(NotificationManager::class.java)!! + notificationManager.cancel( + DrivingDecisionReminderService::class.java.simpleName, + Constants.PERMISSION_DECISION_REMINDER_NOTIFICATION_ID + ) + } } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { diff --git a/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationDialogActivity.kt b/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationDialogActivity.kt new file mode 100644 index 000000000..e813b782a --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationDialogActivity.kt @@ -0,0 +1,262 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.ecm + +import android.annotation.SuppressLint +import android.app.AlertDialog +import android.app.Dialog +import android.app.ecm.EnhancedConfirmationManager +import android.content.Context +import android.content.DialogInterface +import android.content.Intent +import android.content.pm.PackageManager +import android.os.Build +import android.os.Bundle +import android.os.Process +import android.os.UserHandle +import android.permission.flags.Flags +import android.text.Html +import android.text.method.LinkMovementMethod +import android.view.LayoutInflater +import android.view.View +import android.widget.TextView +import androidx.annotation.Keep +import androidx.annotation.RequiresApi +import androidx.fragment.app.DialogFragment +import androidx.fragment.app.FragmentActivity +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.Constants.EXTRA_IS_ECM_IN_APP +import com.android.permissioncontroller.R +import com.android.permissioncontroller.ecm.EnhancedConfirmationStatsLogUtils.DialogResult +import com.android.permissioncontroller.permission.utils.KotlinUtils +import com.android.permissioncontroller.permission.utils.PermissionMapping +import com.android.permissioncontroller.permission.utils.Utils +import com.android.role.controller.model.Roles + +@Keep +@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +class EnhancedConfirmationDialogActivity : FragmentActivity() { + companion object { + private const val KEY_WAS_CLEAR_RESTRICTION_ALLOWED = "KEY_WAS_CLEAR_RESTRICTION_ALLOWED" + } + + private var wasClearRestrictionAllowed: Boolean = false + private var dialogResult: DialogResult = DialogResult.Cancelled + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + if (!SdkLevel.isAtLeastV() || !Flags.enhancedConfirmationModeApisEnabled()) { + finish() + return + } + if (savedInstanceState != null) { + wasClearRestrictionAllowed = + savedInstanceState.getBoolean(KEY_WAS_CLEAR_RESTRICTION_ALLOWED) + return + } + + val uid = intent.getIntExtra(Intent.EXTRA_UID, Process.INVALID_UID) + val packageName = intent.getStringExtra(Intent.EXTRA_PACKAGE_NAME) + val settingIdentifier = intent.getStringExtra(Intent.EXTRA_SUBJECT) + val isEcmInApp = intent.getBooleanExtra(EXTRA_IS_ECM_IN_APP, false) + + require(uid != Process.INVALID_UID) { "EXTRA_UID cannot be null or invalid" } + require(!packageName.isNullOrEmpty()) { "EXTRA_PACKAGE_NAME cannot be null or empty" } + require(!settingIdentifier.isNullOrEmpty()) { "EXTRA_SUBJECT cannot be null or empty" } + + wasClearRestrictionAllowed = + setClearRestrictionAllowed(packageName, UserHandle.getUserHandleForUid(uid)) + + val setting = Setting.fromIdentifier(this, settingIdentifier, isEcmInApp) + val dialogFragment = + EnhancedConfirmationDialogFragment.newInstance(setting.title, setting.message) + dialogFragment.show(supportFragmentManager, EnhancedConfirmationDialogFragment.TAG) + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + outState.putBoolean(KEY_WAS_CLEAR_RESTRICTION_ALLOWED, wasClearRestrictionAllowed) + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun setClearRestrictionAllowed(packageName: String, user: UserHandle): Boolean { + val userContext = createContextAsUser(user, 0) + val ecm = Utils.getSystemServiceSafe(userContext, EnhancedConfirmationManager::class.java) + try { + val wasClearRestrictionAllowed = ecm.isClearRestrictionAllowed(packageName) + ecm.setClearRestrictionAllowed(packageName) + return wasClearRestrictionAllowed + } catch (e: PackageManager.NameNotFoundException) { + throw IllegalArgumentException("unknown package: $packageName") + } + } + + private data class Setting(val title: String?, val message: CharSequence?) { + companion object { + fun fromIdentifier( + context: Context, + settingIdentifier: String, + isEcmInApp: Boolean + ): Setting { + val settingType = SettingType.fromIdentifier(context, settingIdentifier, isEcmInApp) + val label = + when (settingType) { + SettingType.PLATFORM_PERMISSION -> + KotlinUtils.getPermGroupLabel( + context, + PermissionMapping.getGroupOfPlatformPermission(settingIdentifier)!! + ) + SettingType.PLATFORM_PERMISSION_GROUP -> + KotlinUtils.getPermGroupLabel(context, settingIdentifier) + SettingType.ROLE -> + context.getString( + Roles.get(context)[settingIdentifier]!!.shortLabelResource + ) + SettingType.OTHER -> null + } + val url = + context.getString(R.string.help_url_action_disabled_by_restricted_settings) + return Setting( + title = settingType.titleRes?.let { context.getString(it, label) }, + message = + settingType.messageRes?.let { Html.fromHtml(context.getString(it, url), 0) } + ) + } + } + } + + private enum class SettingType(val titleRes: Int?, val messageRes: Int?) { + PLATFORM_PERMISSION( + R.string.enhanced_confirmation_dialog_title_permission, + R.string.enhanced_confirmation_dialog_desc_permission + ), + PLATFORM_PERMISSION_GROUP( + R.string.enhanced_confirmation_dialog_title_permission, + R.string.enhanced_confirmation_dialog_desc_permission + ), + ROLE( + R.string.enhanced_confirmation_dialog_title_role, + R.string.enhanced_confirmation_dialog_desc_role + ), + OTHER( + R.string.enhanced_confirmation_dialog_title_settings_default, + R.string.enhanced_confirmation_dialog_desc_settings_default + ); + + companion object { + fun fromIdentifier( + context: Context, + settingIdentifier: String, + isEcmInApp: Boolean + ): SettingType { + if (!isEcmInApp) return SettingType.OTHER + return when { + PermissionMapping.isRuntimePlatformPermission(settingIdentifier) && + PermissionMapping.getGroupOfPlatformPermission(settingIdentifier) != null -> + PLATFORM_PERMISSION + PermissionMapping.isPlatformPermissionGroup(settingIdentifier) -> + PLATFORM_PERMISSION_GROUP + settingIdentifier.startsWith("android.app.role.") && + Roles.get(context).containsKey(settingIdentifier) -> ROLE + else -> SettingType.OTHER + } + } + } + } + + private fun onDialogResult(dialogResult: DialogResult) { + this.dialogResult = dialogResult + setResult( + RESULT_OK, + Intent().apply { putExtra(Intent.EXTRA_RETURN_RESULT, dialogResult.statsLogValue) } + ) + finish() + } + + override fun onDestroy() { + super.onDestroy() + if (isFinishing) { + EnhancedConfirmationStatsLogUtils.logDialogResultReported( + uid = intent.getIntExtra(Intent.EXTRA_UID, Process.INVALID_UID), + settingIdentifier = intent.getStringExtra(Intent.EXTRA_SUBJECT)!!, + firstShowForApp = !wasClearRestrictionAllowed, + dialogResult = dialogResult + ) + } + } + + class EnhancedConfirmationDialogFragment() : DialogFragment() { + companion object { + val TAG = EnhancedConfirmationDialogFragment::class.simpleName + private const val KEY_TITLE = "KEY_TITLE" + private const val KEY_MESSAGE = "KEY_MESSAGE" + + fun newInstance(title: String? = null, message: CharSequence? = null) = + EnhancedConfirmationDialogFragment().apply { + arguments = + Bundle().apply { + putString(KEY_TITLE, title) + putCharSequence(KEY_MESSAGE, message) + } + } + } + + private lateinit var dialogActivity: EnhancedConfirmationDialogActivity + + override fun onAttach(context: Context) { + super.onAttach(context) + dialogActivity = context as EnhancedConfirmationDialogActivity + } + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val title = arguments!!.getString(KEY_TITLE) + val message = arguments!!.getCharSequence(KEY_MESSAGE) + + return AlertDialog.Builder(dialogActivity) + .setView(createDialogView(dialogActivity, title, message)) + .setPositiveButton(R.string.enhanced_confirmation_dialog_ok) { _, _ -> + dialogActivity.onDialogResult(DialogResult.Okay) + } + .create() + } + + override fun onCancel(dialog: DialogInterface) { + super.onCancel(dialog) + dialogActivity.onDialogResult(DialogResult.Cancelled) + } + + @SuppressLint("InflateParams") + private fun createDialogView( + context: Context, + title: String?, + message: CharSequence? + ): View = + LayoutInflater.from(context) + .inflate(R.layout.enhanced_confirmation_dialog, null) + .apply { + title?.let { + requireViewById<TextView>(R.id.enhanced_confirmation_dialog_title).text = it + } + message?.let { + val descTextView = + requireViewById<TextView>(R.id.enhanced_confirmation_dialog_desc) + descTextView.text = it + descTextView.movementMethod = LinkMovementMethod.getInstance() + } + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationStatsLogUtils.kt b/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationStatsLogUtils.kt new file mode 100644 index 000000000..218af9775 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/ecm/EnhancedConfirmationStatsLogUtils.kt @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.ecm + +import android.annotation.SuppressLint +import android.app.AppOpsManager +import android.app.ecm.EnhancedConfirmationManager +import android.content.Context +import android.content.pm.PackageManager +import android.os.UserHandle +import android.permission.flags.Flags +import android.util.Log +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerStatsLog +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_CANCELLED +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_LEARN_MORE +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_OK +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_SUPPRESSED +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_UNSPECIFIED +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_APPOP +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_OTHER +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_PERMISSION +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_ROLE +import com.android.permissioncontroller.PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_UNSPECIFIED +import com.android.permissioncontroller.permission.utils.Utils + +/** + * Provides ECM-related metrics logging for PermissionController. + * + * @hide + */ +object EnhancedConfirmationStatsLogUtils { + private val LOG_TAG = EnhancedConfirmationStatsLogUtils::class.java.simpleName + + enum class DialogResult(val statsLogValue: Int) { + Unspecified(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_UNSPECIFIED), + Cancelled(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_CANCELLED), + LearnMore(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_LEARN_MORE), + Okay(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_OK), + Suppressed(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__RESULT__RESULT_SUPPRESSED) + } + + enum class SettingType(val statsLogValue: Int) { + Unspecified( + ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_UNSPECIFIED + ), + Appop(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_APPOP), + Permission( + ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_PERMISSION + ), + Role(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_ROLE), + Other(ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED__SETTING_TYPE__SETTING_TYPE_OTHER); + + companion object { + fun fromIdentifier(settingIdentifier: String): SettingType = + when { + settingIdentifier.startsWith("android:") -> Appop + settingIdentifier.startsWith("android.permission.") -> Permission + settingIdentifier.startsWith("android.permission-group.") -> Permission + settingIdentifier.startsWith("android.app.role.") -> Role + else -> Other + } + } + } + + fun logDialogResultReported( + uid: Int, + settingIdentifier: String, + firstShowForApp: Boolean, + dialogResult: DialogResult + ) { + if (!SdkLevel.isAtLeastV() || !Flags.enhancedConfirmationModeApisEnabled()) { + return + } + val settingType = SettingType.fromIdentifier(settingIdentifier) + + Log.v( + LOG_TAG, + "ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED: " + + "uid='$uid', " + + "settingIdentifier='$settingIdentifier', " + + "firstShowForApp='$firstShowForApp', " + + "settingType='$settingType', " + + "result='${dialogResult.statsLogValue}'" + ) + + PermissionControllerStatsLog.write( + PermissionControllerStatsLog.ENHANCED_CONFIRMATION_DIALOG_RESULT_REPORTED, + uid, + settingIdentifier, + firstShowForApp, + settingType.statsLogValue, + dialogResult.statsLogValue + ) + } + + @SuppressLint("MissingPermission") + fun isPackageEcmRestricted(context: Context, packageName: String, uid: Int): Boolean { + if (!SdkLevel.isAtLeastV() || !Flags.enhancedConfirmationModeApisEnabled()) { + return false + } + val userContext = Utils.getUserContext(context, UserHandle.getUserHandleForUid(uid)) + val ecm = userContext.getSystemService(EnhancedConfirmationManager::class.java) + return try { + val arbitrarilyChosenRestrictedSetting = AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE + ecm?.isRestricted(packageName, arbitrarilyChosenRestrictedSetting) ?: false + } catch (e: PackageManager.NameNotFoundException) { + false + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt b/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt index 97dd3f43c..8e58d48d9 100644 --- a/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/incident/wear/WearConfirmationScreen.kt @@ -33,6 +33,7 @@ import androidx.wear.compose.foundation.lazy.ScalingLazyListState import androidx.wear.compose.material.CircularProgressIndicator import com.android.permissioncontroller.permission.ui.wear.elements.AlertDialog import com.android.permissioncontroller.permission.ui.wear.elements.SingleButtonAlertDialog +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme @Composable fun WearConfirmationScreen(viewModel: WearConfirmationActivityViewModel) { @@ -77,5 +78,7 @@ fun WearConfirmationScreen(viewModel: WearConfirmationActivityViewModel) { } fun createView(activity: Activity, viewModel: WearConfirmationActivityViewModel): View { - return ComposeView(activity).apply { setContent { WearConfirmationScreen(viewModel) } } + return ComposeView(activity).apply { + setContent { WearPermissionTheme { WearConfirmationScreen(viewModel) } } + } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/TEST_MAPPING b/PermissionController/src/com/android/permissioncontroller/permission/TEST_MAPPING index 38d46fe76..7ec419864 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/TEST_MAPPING +++ b/PermissionController/src/com/android/permissioncontroller/permission/TEST_MAPPING @@ -71,6 +71,42 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsPermissionTestCases", + "options": [ + { + "include-filter": "android.permission.cts.BackgroundPermissionsTest" + }, + { + "include-filter": "android.permission.cts.LocationAccessCheckTest" + }, + { + "include-filter": "android.permission.cts.NotificationListenerCheckTest" + }, + { + "include-filter": "android.permission.cts.OneTimePermissionTest" + }, + { + "include-filter": "android.permission.cts.PermissionControllerTest" + }, + { + "include-filter": "android.permission.cts.PlatformPermissionGroupMappingTest" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + }, + { + "name": "CtsHibernationTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsHibernationTestCases" diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/DataRepository.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/DataRepository.kt index 9a826deb1..c69bb54fd 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/DataRepository.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/DataRepository.kt @@ -21,6 +21,7 @@ import android.content.ComponentCallbacks2 import android.content.res.Configuration import androidx.annotation.GuardedBy import androidx.annotation.MainThread +import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.utils.ContextCompat import com.android.permissioncontroller.permission.utils.KotlinUtils @@ -77,10 +78,7 @@ abstract class DataRepository<K, V : DataRepository.InactiveTimekeeper> : Compon @MainThread protected abstract fun newValue(key: K): V /** - * Remove LiveData objects with no observer based on the severity of the memory pressure. If - * this is a low RAM device, eject all caches always, including upon the UI closing. - * - * @param level The severity of the current memory pressure + * Remove LiveData objects with no observer. */ override fun onTrimMemory(level: Int) { if (isLowMemoryDevice) { @@ -88,22 +86,33 @@ abstract class DataRepository<K, V : DataRepository.InactiveTimekeeper> : Compon return } + if (SdkLevel.isAtLeastU() && level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) { + // On UDC+ TRIM_MEMORY_BACKGROUND may be the last callback an app will receive + // before it's frozen. + trimInactiveData(TIME_THRESHOLD_ALL_NANOS) + return + } + trimInactiveData( threshold = when (level) { ComponentCallbacks2.TRIM_MEMORY_BACKGROUND -> TIME_THRESHOLD_LAX_NANOS - ComponentCallbacks2.TRIM_MEMORY_MODERATE -> TIME_THRESHOLD_TIGHT_NANOS - ComponentCallbacks2.TRIM_MEMORY_COMPLETE -> TIME_THRESHOLD_ALL_NANOS - ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE -> TIME_THRESHOLD_LAX_NANOS - ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW -> TIME_THRESHOLD_TIGHT_NANOS - ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL -> TIME_THRESHOLD_ALL_NANOS + // Allow handling for trim levels that are deprecated in newer API versions + // but are still supported on older devices that this code ships to. + @Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_MODERATE -> TIME_THRESHOLD_TIGHT_NANOS + @Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_COMPLETE -> TIME_THRESHOLD_ALL_NANOS + @Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE -> TIME_THRESHOLD_LAX_NANOS + @Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW -> TIME_THRESHOLD_TIGHT_NANOS + @Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL -> TIME_THRESHOLD_ALL_NANOS else -> return } ) } + // Allow handling for trim levels that are deprecated in newer API versions + // but are still supported on older devices that this code ships to. override fun onLowMemory() { - onTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE) + onTrimMemory(@Suppress("DEPRECATION") ComponentCallbacks2.TRIM_MEMORY_COMPLETE) } override fun onConfigurationChanged(newConfig: Configuration) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/LightPackageInfoLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/LightPackageInfoLiveData.kt index ef0a36583..ac3f670ec 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/LightPackageInfoLiveData.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/LightPackageInfoLiveData.kt @@ -30,8 +30,8 @@ import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.model.livedatatypes.LightPackageInfo import com.android.permissioncontroller.permission.utils.ContextCompat -import com.android.permissioncontroller.permission.utils.MultiDeviceUtils.isPermissionDeviceAware import com.android.permissioncontroller.permission.utils.Utils +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils.isPermissionDeviceAware import kotlinx.coroutines.Job /** @@ -233,7 +233,7 @@ private constructor( val deviceContext = ContextCompat.createDeviceContext(app, deviceId) for ((idx, permName) in requestedPermissions.withIndex()) { - if (isPermissionDeviceAware(permName)) { + if (isPermissionDeviceAware(deviceContext, deviceId, permName)) { val result = deviceContext.checkPermission(permName, -1, uid) if (result == PackageManager.PERMISSION_GRANTED) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/PackageBroadcastReceiver.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/PackageBroadcastReceiver.kt index 09a7bb1e4..02429e294 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/PackageBroadcastReceiver.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/PackageBroadcastReceiver.kt @@ -25,6 +25,7 @@ import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.data.v34.LightInstallSourceInfoLiveData import com.android.permissioncontroller.permission.data.v34.SafetyLabelInfoLiveData +import com.android.permissioncontroller.permission.data.v35.PackagePermissionsExternalDeviceLiveData import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @@ -162,6 +163,7 @@ object PackageBroadcastReceiver : BroadcastReceiver() { LightPackageInfoLiveData.invalidateAllForPackage(packageName) PermStateLiveData.invalidateAllForPackage(packageName) PackagePermissionsLiveData.invalidateAllForPackage(packageName) + PackagePermissionsExternalDeviceLiveData.invalidateAllForPackage(packageName) HibernationSettingStateLiveData.invalidateAllForPackage(packageName) LightAppPermGroupLiveData.invalidateAllForPackage(packageName) AppPermGroupUiInfoLiveData.invalidateAllForPackage(packageName) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt index cc5f156ce..0ebfcd3d7 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt @@ -21,6 +21,7 @@ import android.app.role.RoleManager import android.os.Handler import android.os.Looper import android.os.UserHandle +import android.os.UserManager import androidx.lifecycle.LiveData import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGroupUiInfo @@ -62,6 +63,8 @@ class PermGroupsPackagesUiInfoLiveData( private val allPackageData = mutableMapOf<String, PermGroupPackagesUiInfo?>() private lateinit var groupNames: List<String> + private val userManager = + Utils.getSystemServiceSafe(app.applicationContext, UserManager::class.java) init { addSource(groupNamesLiveData) { @@ -91,12 +94,22 @@ class PermGroupsPackagesUiInfoLiveData( var grantedSystem = 0 var userInteractedSystem = 0 var firstGrantedSystemPackageName: String? = null + val showInSettingsByUsers = HashMap<UserHandle, Boolean>() for ((packageUserPair, appPermGroup) in appPermGroups) { if (!appPermGroup.shouldShow) { continue } + if (!showInSettingsByUsers.containsKey(packageUserPair.second)) { + showInSettingsByUsers[packageUserPair.second] = + Utils.shouldShowInSettings(packageUserPair.second, userManager) + } + + if (showInSettingsByUsers[packageUserPair.second] == false) { + continue + } + if (appPermGroup.isSystem) { if (isGranted(appPermGroup.permGrantState)) { if (grantedSystem == 0) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/UserSensitivityLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/UserSensitivityLiveData.kt index fe4517173..25dc97d8a 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/UserSensitivityLiveData.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/UserSensitivityLiveData.kt @@ -167,10 +167,12 @@ private constructor( } private fun getAndObservePackageLiveDatas(): Boolean { - val packageNames = app.packageManager.getPackagesForUid(uid)?.toList() ?: emptyList() - val getLiveData = { packageName: String -> LightPackageInfoLiveData[packageName, user] } - setSourcesToDifference(packageNames, packageLiveDatas, getLiveData) - return packageNames.isNotEmpty() + synchronized(this) { + val packageNames = app.packageManager.getPackagesForUid(uid)?.toList() ?: emptyList() + val getLiveData = { packageName: String -> LightPackageInfoLiveData[packageName, user] } + setSourcesToDifference(packageNames, packageLiveDatas, getLiveData) + return packageNames.isNotEmpty() + } } /** diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/repository/v31/PermissionRepository.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/repository/v31/PermissionRepository.kt new file mode 100644 index 000000000..4a6cb36e5 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/repository/v31/PermissionRepository.kt @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.data.repository.v31 + +import android.app.Application +import android.content.Context +import android.content.pm.PackageItemInfo +import android.content.pm.PackageManager +import android.os.UserHandle +import android.text.TextUtils +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.permission.utils.PermissionMapping +import kotlin.concurrent.Volatile +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * This repository encapsulates permission data (i.e. permission or permission group definitions, + * package permission states etc.) exposed by [android.permission.PermissionManager] and + * [PackageManager]. + */ +interface PermissionRepository { + /** + * Gets the flags associated with a permission. + * + * @see PackageManager.getPermissionFlags + */ + suspend fun getPermissionFlags( + permissionName: String, + packageName: String, + user: UserHandle + ): Int + + /** + * Gets a permission group label for a given permission group. + * + * @see PackageManager.getPermissionGroupInfo + * @see PackageItemInfo.loadSafeLabel + */ + suspend fun getPermissionGroupLabel(context: Context, groupName: String): CharSequence + + /** Gets a list of permission group to be shown in the privacy dashboard. */ + fun getPermissionGroupsForPrivacyDashboard(): List<String> + + companion object { + @Volatile private var instance: PermissionRepository? = null + + fun getInstance(application: Application): PermissionRepository = + instance + ?: synchronized(this) { + PermissionRepositoryImpl(application).also { instance = it } + } + } +} + +class PermissionRepositoryImpl( + application: Application, + private val dispatcher: CoroutineDispatcher = Dispatchers.Default, +) : PermissionRepository { + private val packageManager = application.packageManager + + override suspend fun getPermissionFlags( + permissionName: String, + packageName: String, + user: UserHandle + ): Int = + withContext(dispatcher) { + packageManager.getPermissionFlags(permissionName, packageName, user) + } + + /** + * Gets a permission group's label from the system. + * + * @param context The context from which to get the label + * @param groupName The name of the permission group whose label we want + * @return The permission group's label, or the group name, if the group is invalid + */ + override suspend fun getPermissionGroupLabel( + context: Context, + groupName: String + ): CharSequence = + withContext(dispatcher) { + val groupInfo = getPermissionGroupInfo(groupName, context) + groupInfo?.loadSafeLabel( + context.packageManager, + 0f, + TextUtils.SAFE_STRING_FLAG_FIRST_LINE or TextUtils.SAFE_STRING_FLAG_TRIM + ) + ?: groupName + } + + /** + * Get the [PackageItemInfo] for the given permission group. + * + * @param groupName the group + * @param context the `Context` to retrieve `PackageManager` + * @return The info of permission group or null if the group does not have runtime permissions. + */ + private fun getPermissionGroupInfo(groupName: String, context: Context): PackageItemInfo? { + return try { + context.packageManager.getPermissionGroupInfo(groupName, 0) + } catch (e: PackageManager.NameNotFoundException) { + null + } + ?: try { + context.packageManager.getPermissionInfo(groupName, 0) + } catch (e: PackageManager.NameNotFoundException) { + null + } + } + + override fun getPermissionGroupsForPrivacyDashboard(): List<String> { + return if (SdkLevel.isAtLeastT()) { + PermissionMapping.getPlatformPermissionGroups().filter { + it != android.Manifest.permission_group.NOTIFICATIONS + } + } else { + PermissionMapping.getPlatformPermissionGroups() + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightPackageOpsLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightPackageOpsLiveData.kt deleted file mode 100644 index 74b29043d..000000000 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/v31/AllLightPackageOpsLiveData.kt +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (C) 2022 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.permissioncontroller.permission.data.v31 - -import android.app.AppOpsManager -import android.app.AppOpsManager.OPSTR_PHONE_CALL_CAMERA -import android.app.AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE -import android.app.AppOpsManager.OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO -import android.app.Application -import android.os.UserHandle -import android.os.UserManager -import com.android.modules.utils.build.SdkLevel -import com.android.permissioncontroller.permission.data.SmartAsyncMediatorLiveData -import com.android.permissioncontroller.permission.data.StandardPermGroupNamesLiveData -import com.android.permissioncontroller.permission.model.livedatatypes.v31.LightPackageOps -import com.android.permissioncontroller.permission.utils.PermissionMapping -import kotlinx.coroutines.Job - -/** - * LiveData class tracking [LightPackageOps] for all packages on the device and for all system - * permission groups' ops. - * - * App ops data is retrieved from [AppOpsManager] and is updated whenever app ops data changes are - * heard. - */ -class AllLightPackageOpsLiveData(app: Application) : - SmartAsyncMediatorLiveData<Map<Pair<String, UserHandle>, LightPackageOps>>(), - AppOpsManager.OnOpActiveChangedListener, - AppOpsManager.OnOpNotedListener, - AppOpsManager.OnOpChangedListener { - - private val appOpsManager = app.getSystemService(AppOpsManager::class.java)!! - private val userManager = app.getSystemService(UserManager::class.java)!! - private var opNames: MutableSet<String> = - getOpNames(StandardPermGroupNamesLiveData.value).toMutableSet() - - init { - addSource(StandardPermGroupNamesLiveData) { - opNames = getOpNames(it).toMutableSet() - opNames.add(OPSTR_PHONE_CALL_MICROPHONE) - opNames.add(OPSTR_PHONE_CALL_CAMERA) - if (SdkLevel.isAtLeastT()) { - opNames.add(OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO) - } - - update() - } - } - - override fun onActive() { - super.onActive() - - opNames.forEach { opName -> - // TODO(b/262035952): We watch each active op individually as startWatchingActive only - // registers the callback if all ops are valid. Fix this behavior so if one op is - // invalid it doesn't affect the other ops. - try { - appOpsManager.startWatchingActive(arrayOf(opName), { it.run() }, this) - } catch (ignored: IllegalArgumentException) { - // Older builds may not support all requested app ops. - } - - try { - appOpsManager.startWatchingMode(opName, /* all packages */ null, this) - } catch (ignored: IllegalArgumentException) { - // Older builds may not support all requested app ops. - } - - if (SdkLevel.isAtLeastU()) { - try { - appOpsManager.startWatchingNoted(arrayOf(opName), this) - } catch (ignored: IllegalArgumentException) { - // Older builds may not support all requested app ops. - } - } - } - } - - override fun onInactive() { - super.onInactive() - - appOpsManager.stopWatchingActive(this) - appOpsManager.stopWatchingMode(this) - } - - override suspend fun loadDataAndPostValue(job: Job) { - if (opNames.isEmpty()) { - return - } - - val packageOpsList = - try { - appOpsManager.getPackagesForOps(opNames.toTypedArray()) - } catch (e: NullPointerException) { - // Older builds may not support all requested app ops. - emptyList<AppOpsManager.PackageOps>() - } - - val allProfilesInCurrentUser = userManager.userProfiles - - postValue( - packageOpsList - .filter { UserHandle.getUserHandleForUid(it.uid) in allProfilesInCurrentUser } - .associateBy( - { Pair(it.packageName, UserHandle.getUserHandleForUid(it.uid)) }, - { LightPackageOps(opNames, it) } - ) - ) - } - - override fun onOpChanged(op: String?, packageName: String?) { - update() - } - - override fun onOpActiveChanged(op: String, uid: Int, packageName: String, active: Boolean) { - update() - } - - override fun onOpNoted( - code: String, - uid: Int, - packageName: String, - attributionTag: String?, - flags: Int, - result: Int - ) { - update() - } - - /** Returns all op names for all permissions in a list of permission groups. */ - private fun getOpNames(permissionGroupNames: List<String>?) = - permissionGroupNames - ?.flatMap { group -> PermissionMapping.getPlatformPermissionNamesOfGroup(group) } - ?.mapNotNull { permName -> AppOpsManager.permissionToOp(permName) } - ?.toSet() - ?: setOf() -} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/v34/SafetyLabelInfoLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/v34/SafetyLabelInfoLiveData.kt index 5c63de6ce..b033068ab 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/data/v34/SafetyLabelInfoLiveData.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/v34/SafetyLabelInfoLiveData.kt @@ -17,6 +17,7 @@ package com.android.permissioncontroller.permission.data.v34 import android.app.Application +import android.content.Context import android.content.pm.PackageManager import android.os.Process import android.os.UserHandle @@ -28,6 +29,7 @@ import com.android.permissioncontroller.permission.data.PackageBroadcastReceiver import com.android.permissioncontroller.permission.data.SmartAsyncMediatorLiveData import com.android.permissioncontroller.permission.data.get import com.android.permissioncontroller.permission.model.livedatatypes.v34.SafetyLabelInfo +import com.android.permissioncontroller.permission.utils.v34.SafetyLabelUtils import kotlinx.coroutines.Job /** @@ -88,9 +90,22 @@ private constructor( return } + val userContext = + if (user == Process.myUserHandle()) { + app + } else { + app.createContextAsUser(user, /* flags= */ 0) + } + + // Asl in Apk (V+) is not supported by permissions + if (!SafetyLabelUtils.isAppMetadataSourceSupported(userContext, packageName)) { + postValue(SafetyLabelInfo.UNAVAILABLE) + return + } + val safetyLabelInfo: SafetyLabelInfo = try { - val safetyLabel: SafetyLabel? = getSafetyLabel(packageName, user) + val safetyLabel: SafetyLabel? = getSafetyLabel(userContext, packageName) if (safetyLabel != null) { SafetyLabelInfo(safetyLabel, lightInstallSourceInfo) } else { @@ -106,14 +121,7 @@ private constructor( /** Returns the [SafetyLabel] for the given package and user. */ @Throws(PackageManager.NameNotFoundException::class) - private fun getSafetyLabel(packageName: String, user: UserHandle): SafetyLabel? { - val userContext = - if (user == Process.myUserHandle()) { - app - } else { - app.createContextAsUser(user, /* flags= */ 0) - } - + private fun getSafetyLabel(userContext: Context, packageName: String): SafetyLabel? { return SafetyLabel.getSafetyLabelFromMetadata( userContext.packageManager.getAppMetadata(packageName) ) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/v35/PackagePermissionsExternalDeviceLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/v35/PackagePermissionsExternalDeviceLiveData.kt new file mode 100644 index 000000000..66267d6a3 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/data/v35/PackagePermissionsExternalDeviceLiveData.kt @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.data.v35 + +import android.app.Application +import android.companion.virtual.VirtualDeviceManager +import android.content.pm.PackageManager +import android.os.Build +import android.os.UserHandle +import android.permission.PermissionManager +import android.permission.PermissionManager.PermissionState +import androidx.annotation.RequiresApi +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerApplication +import com.android.permissioncontroller.permission.data.DataRepositoryForPackage +import com.android.permissioncontroller.permission.data.SmartAsyncMediatorLiveData +import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGroupUiInfo +import com.android.permissioncontroller.permission.utils.PermissionMapping +import kotlinx.coroutines.Job + +/** + * LiveData that loads all the external device permissions per package. The permissions will be + * loaded only if the package has requested the permission. This live data produces the list of + * {@link ExternalDeviceGrantInfo} that has group name to which permission belongs to, grant state + * and persistentDeviceId + * + * @param app The current Application + * @param packageName The name of the package + * @param user The user for whom the packageInfo will be defined + */ +class PackagePermissionsExternalDeviceLiveData +private constructor(private val app: Application, val packageName: String, val user: UserHandle) : + SmartAsyncMediatorLiveData< + List<PackagePermissionsExternalDeviceLiveData.ExternalDeviceGrantInfo> + >() { + private val permissionManager = app.getSystemService(PermissionManager::class.java)!! + + data class ExternalDeviceGrantInfo( + val groupName: String, + val permGrantState: AppPermGroupUiInfo.PermGrantState, + val persistentDeviceId: String + ) + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + override suspend fun loadDataAndPostValue(job: Job) { + if (!SdkLevel.isAtLeastV()) { + return + } + val virtualDeviceManager = app.getSystemService(VirtualDeviceManager::class.java)!! + val externalDeviceGrantInfoList = + virtualDeviceManager.allPersistentDeviceIds + .map { getVirtualDeviceGrantInfoList(it) } + .toList() + .flatten() + postValue(externalDeviceGrantInfoList) + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun getVirtualDeviceGrantInfoList( + persistentDeviceId: String + ): List<ExternalDeviceGrantInfo> { + val permissionState = + permissionManager.getAllPermissionStates(packageName, persistentDeviceId) + return permissionState.mapNotNull { (permissionName, permissionState) -> + PermissionMapping.getGroupOfPlatformPermission(permissionName)?.let { groupName -> + val grantState = getGrantState(permissionState) + ExternalDeviceGrantInfo(groupName, grantState, persistentDeviceId) + } + } + } + + /** + * This method returns the GrantState for currently supported virtual device permissions + * (Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO). + * + * TODO: b/328841671 (Unite this with PermGroupUiInfoLiveData#getGrantedIncludingBackground) + */ + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun getGrantState(permissionState: PermissionState): AppPermGroupUiInfo.PermGrantState = + if (permissionState.isGranted) { + AppPermGroupUiInfo.PermGrantState.PERMS_ALLOWED_FOREGROUND_ONLY + } else if (permissionState.flags and PackageManager.FLAG_PERMISSION_ONE_TIME != 0) { + AppPermGroupUiInfo.PermGrantState.PERMS_ASK + } else { + AppPermGroupUiInfo.PermGrantState.PERMS_DENIED + } + + companion object : + DataRepositoryForPackage< + Pair<String, UserHandle>, PackagePermissionsExternalDeviceLiveData + >() { + override fun newValue( + key: Pair<String, UserHandle> + ): PackagePermissionsExternalDeviceLiveData { + return PackagePermissionsExternalDeviceLiveData( + PermissionControllerApplication.get(), + key.first, + key.second + ) + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PackagePermissionGroupUsageModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PackagePermissionGroupUsageModel.kt new file mode 100644 index 000000000..85100ce2c --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PackagePermissionGroupUsageModel.kt @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.domain.model.v31 + +/** This data class stores all data accesses (derived from app ops) for a package and user. */ +data class PackagePermissionGroupUsageModel( + val packageName: String, + /** Permission group and recent usage time in milliseconds since the epoch */ + val usages: Map<String, Long>, + val userId: Int +) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PermissionGroupUsageModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PermissionGroupUsageModel.kt new file mode 100644 index 000000000..4b2364cc5 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/domain/model/v31/PermissionGroupUsageModel.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.domain.model.v31 + +/** Represents the private data access protected by the permission group. */ +data class PermissionGroupUsageModel( + val permissionGroup: String, + /** Milliseconds since the epoch */ + val lastAccessTimestampMillis: Long, + /** + * Represents whether the permission group is highly visible to the user. Permission groups for + * non system apps are always considered user sensitive and the usages are always shown in the + * dashboard. If the permission group is not user sensitive (in case of system apps), those + * usages are only shown when user click "Show system" button. + */ + val isUserSensitive: Boolean, +) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageUseCase.kt b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageUseCase.kt new file mode 100644 index 000000000..7e079949a --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/domain/usecase/v31/GetPermissionGroupUsageUseCase.kt @@ -0,0 +1,231 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.permission.domain.usecase.v31 + +import android.Manifest +import android.app.Application +import android.content.pm.ApplicationInfo +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import android.os.UserHandle +import android.util.Log +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel +import com.android.permissioncontroller.appops.data.repository.v31.AppOpRepository +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.permission.domain.model.v31.PackagePermissionGroupUsageModel +import com.android.permissioncontroller.permission.domain.model.v31.PermissionGroupUsageModel +import com.android.permissioncontroller.permission.utils.PermissionMapping +import com.android.permissioncontroller.pm.data.repository.v31.PackageRepository +import com.android.permissioncontroller.role.data.repository.v31.RoleRepository +import com.android.permissioncontroller.user.data.repository.v31.UserRepository +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map + +/** + * This use case read app ops data and transform that data to show the private data access by apps + * in privacy dashboard. + */ +class GetPermissionGroupUsageUseCase( + private val packageRepository: PackageRepository, + private val permissionRepository: PermissionRepository, + private val appOpRepository: AppOpRepository, + private val roleRepository: RoleRepository, + private val userRepository: UserRepository, +) { + /** + * Returns a flow (i.e. a stream) of permission group usages (i.e. the private data accesses) + * for privacy dashboard page. + */ + operator fun invoke(): Flow<List<PermissionGroupUsageModel>> { + return appOpRepository.packageAppOpsUsages.map { packagesOps -> + val exemptedPackages = roleRepository.getExemptedPackages() + val currentUsers = userRepository.getUserProfilesIncludingCurrentUser() + + packagesOps + .mapToPermissionGroups() + .filter { it.userId in currentUsers } + .filter { it.packageName !in exemptedPackages } + .filterQuietProfilesIfNeeded(currentUsers) + .filterNonRequestedOps() + .buildPermissionGroupUsageModels() + } + } + + /** filter private space usages if needed. */ + private suspend fun List<PackagePermissionGroupUsageModel>.filterQuietProfilesIfNeeded( + currentUsers: List<Int> + ): List<PackagePermissionGroupUsageModel> { + if (!SdkLevel.isAtLeastV()) { + return this + } + val usersQuietModeEnabledMap = + currentUsers.associateWith { userId -> userRepository.isQuietModeEnabled(userId) } + val usersShouldShowInQuietModeMap = + currentUsers.associateWith { userId -> userRepository.shouldShowInQuietMode(userId) } + return filter { + val isQuietModeEnabled = checkNotNull(usersQuietModeEnabledMap[it.userId]) + val shouldShowInQuietMode = checkNotNull(usersShouldShowInQuietModeMap[it.userId]) + !isQuietModeEnabled || shouldShowInQuietMode + } + } + + private fun List<PackageAppOpUsageModel>.mapToPermissionGroups(): + List<PackagePermissionGroupUsageModel> { + return mapNotNull { packageOps -> + val permissionGroupUsages = + packageOps.usages + .mapNotNull { + val permissionGroup = + PermissionMapping.getPlatformPermissionGroupForOp(it.appOpName) + if (permissionGroup != null) { + Pair(permissionGroup, it.lastAccessTimestampMillis) + } else { + Log.w(LOG_TAG, "No permission group found for op: ${it.appOpName}") + null + } + } + .groupBy { it.first } // group by permission group name + .map { it -> // keep permission group and recent usage time + it.key to it.value.map { it.second }.maxOf { it } + } + .toMap() + + if (permissionGroupUsages.isNotEmpty()) { + PackagePermissionGroupUsageModel( + packageOps.packageName, + permissionGroupUsages, + packageOps.userId + ) + } else { + null + } + } + } + + /** Filter Ops where the corresponding permission group is no longer requested by the package */ + private suspend fun List<PackagePermissionGroupUsageModel>.filterNonRequestedOps(): + List<PackagePermissionGroupUsageModel> { + return mapNotNull { pkgOps -> + val userHandle = UserHandle.of(pkgOps.userId) + val packageInfo = packageRepository.getPackageInfo(pkgOps.packageName, userHandle) + val filteredOps = + pkgOps.usages.filter { permissionGroupUsage -> + packageInfo?.requestedPermissions?.any { permission -> + permissionGroupUsage.key == + PermissionMapping.getGroupOfPlatformPermission(permission) + } + ?: false + } + if (filteredOps.isNotEmpty()) { + PackagePermissionGroupUsageModel(pkgOps.packageName, filteredOps, pkgOps.userId) + } else { + null + } + } + } + + private suspend fun List<PackagePermissionGroupUsageModel>.buildPermissionGroupUsageModels(): + List<PermissionGroupUsageModel> { + return flatMap { pkgOps -> + pkgOps.usages.map { permGroupLastAccessTimeEntry -> + PermissionGroupUsageModel( + permGroupLastAccessTimeEntry.key, + permGroupLastAccessTimeEntry.value, + isPermissionGroupUserSensitive( + pkgOps.packageName, + permGroupLastAccessTimeEntry.key, + pkgOps.userId + ) + ) + } + } + } + + /** + * Determines if an app's permission group is user-sensitive. if the permission group is not + * user sensitive then its only shown when user choose `Show system` option + */ + private suspend fun isPermissionGroupUserSensitive( + packageName: String, + permissionGroup: String, + userId: Int + ): Boolean { + if (isTelecomPackage(packageName, permissionGroup)) { + return false + } + val userHandle = UserHandle.of(userId) + val packageInfo = packageRepository.getPackageInfo(packageName, userHandle) ?: return false + // if not a system app, the permission group must be user sensitive + if (packageInfo.applicationFlags and ApplicationInfo.FLAG_SYSTEM == 0) { + return true + } + + packageInfo.requestedPermissions.forEachIndexed { index, permissionName -> + if (PermissionMapping.getGroupOfPlatformPermission(permissionName) == permissionGroup) { + val permFlags = + permissionRepository.getPermissionFlags(permissionName, packageName, userHandle) + val packageFlags = packageInfo.requestedPermissionsFlags[index] + val isPermissionGranted = + packageFlags and PackageInfo.REQUESTED_PERMISSION_GRANTED != 0 && + permFlags and PackageManager.FLAG_PERMISSION_REVOKED_COMPAT == 0 + if (isPermissionUserSensitive(isPermissionGranted, permFlags)) { + return true + } + } + } + return false + } + + private fun isTelecomPackage(packageName: String, permissionGroup: String): Boolean { + return packageName == TELECOM_PACKAGE && + (permissionGroup == Manifest.permission_group.CAMERA || + permissionGroup == Manifest.permission_group.MICROPHONE) + } + + private fun isPermissionUserSensitive( + isPermissionGranted: Boolean, + permissionFlags: Int + ): Boolean { + return if (isPermissionGranted) { + permissionFlags and PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED != 0 + } else { + permissionFlags and PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED != 0 + } + } + + companion object { + private val LOG_TAG = GetPermissionGroupUsageUseCase::class.java.simpleName + private const val TELECOM_PACKAGE = "com.android.server.telecom" + + fun create(app: Application): GetPermissionGroupUsageUseCase { + val permissionRepository = PermissionRepository.getInstance(app) + val userRepository = UserRepository.getInstance(app) + val packageRepository = PackageRepository.getInstance(app) + val roleRepository = RoleRepository.getInstance(app) + val appOpRepository = AppOpRepository.getInstance(app, permissionRepository) + + return GetPermissionGroupUsageUseCase( + packageRepository, + permissionRepository, + appOpRepository, + roleRepository, + userRepository + ) + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt b/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt index 0830857d0..ab8afae08 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/model/livedatatypes/LightPackageInfo.kt @@ -23,6 +23,7 @@ import android.content.pm.Attribution import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.UserHandle +import android.util.Log import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.permission.utils.ContextCompat import com.android.permissioncontroller.permission.utils.Utils @@ -128,7 +129,13 @@ data class LightPackageInfo( packageName, PackageManager.GET_PERMISSIONS ) - } catch (e: PackageManager.NameNotFoundException) {} + } catch (e: PackageManager.NameNotFoundException) { + Log.e( + LightPackageInfo::class.java.simpleName, + "Failed to get real package info for $packageName, $uid", + e + ) + } return null } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt index 8e1721219..cfe753019 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt @@ -31,6 +31,7 @@ import com.android.permissioncontroller.DumpableLog import com.android.permissioncontroller.PermissionControllerStatsLog import com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED import com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_UNUSED_APP_PERMISSION_REVOKED +import com.android.permissioncontroller.ecm.EnhancedConfirmationStatsLogUtils import com.android.permissioncontroller.hibernation.getUnusedThresholdMs import com.android.permissioncontroller.permission.data.AutoRevokedPackagesLiveData import com.android.permissioncontroller.permission.data.LightAppPermGroupLiveData @@ -70,7 +71,7 @@ suspend fun revokeAppPermissions( val userManager = context.getSystemService(UserManager::class.java) val permissionManager = context.getSystemService(PermissionManager::class.java)!! - val splitPermissionIndex = SplitPermissionIndex(permissionManager.splitPermissions) + val splitPermissions = SplitPermissionIndex(permissionManager.splitPermissions) for ((user, userApps) in apps) { if (userManager == null || !userManager.isUserUnlocked(user)) { @@ -101,11 +102,11 @@ suspend fun revokeAppPermissions( } return@forEachInParallelOuter } - val targetSdk = pkg.targetSdkVersion + val appTargetSdk = pkg.targetSdkVersion val pkgPermGroups: Map<String, List<String>>? = PackagePermissionsLiveData[packageName, user].getInitializedValue() - if (pkgPermGroups == null || pkgPermGroups.isEmpty()) { + if (pkgPermGroups.isNullOrEmpty()) { if (DEBUG_AUTO_REVOKE) { DumpableLog.i(LOG_TAG, "$packageName: no permission groups found.") } @@ -150,24 +151,34 @@ suspend fun revokeAppPermissions( } // Mark any groups that split from an install-time permission as unrevocable - for (fromPerm in - pkgPermGroups[PackagePermissionsLiveData.NON_RUNTIME_NORMAL_PERMS] ?: emptyList()) { - for (toGroup in - splitPermissionIndex.getPermToGroupSplitsFrom(fromPerm, targetSdk)) { - revocableGroups.remove(toGroup) + val requestedInstallPermissions = + pkgPermGroups[PackagePermissionsLiveData.NON_RUNTIME_NORMAL_PERMS] ?: emptyList() + for (permissionName in requestedInstallPermissions) { + val permissionGroups = + splitPermissions.getPermissionGroupsFromSplitPermission( + permissionName, + appTargetSdk + ) + for (permissionGroup in permissionGroups) { + revocableGroups.remove(permissionGroup) } } // For each unrevocable group, mark all groups that it splits from and to as unrevocable for (groupName in pkgPermGroups.keys) { if (!revocableGroups.contains(groupName)) { - for (fromGroup in - splitPermissionIndex.getGroupToGroupSplitsTo(groupName, targetSdk)) { - revocableGroups.remove(fromGroup) + val sourcePermissionGroups = + splitPermissions.getSplitPermissionGroups(groupName, appTargetSdk) + for (sourcePermissionGroup in sourcePermissionGroups) { + revocableGroups.remove(sourcePermissionGroup) } - for (toGroup in - splitPermissionIndex.getGroupToGroupSplitsFrom(groupName, targetSdk)) { - revocableGroups.remove(toGroup) + val newPermissionGroups = + splitPermissions.getPermissionGroupsFromSplitPermissionGroup( + groupName, + appTargetSdk + ) + for (permissionGroup in newPermissionGroups) { + revocableGroups.remove(permissionGroup) } } } @@ -199,6 +210,12 @@ suspend fun revokeAppPermissions( val uid = group.packageInfo.uid for (permName in revocablePermissions) { + val isPackageRestrictedByEnhancedConfirmation = + EnhancedConfirmationStatsLogUtils.isPackageEcmRestricted( + context, + packageName, + uid + ) PermissionControllerStatsLog.write( PERMISSION_GRANT_REQUEST_RESULT_REPORTED, sessionId, @@ -207,7 +224,8 @@ suspend fun revokeAppPermissions( permName, false, SERVER_LOG_ID, - /* permission_rationale_shown = */ false + /* permission_rationale_shown = */ false, + isPackageRestrictedByEnhancedConfirmation ) } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java b/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java index 39e289fd2..24aab174c 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/BackupHelper.java @@ -41,6 +41,7 @@ import android.os.Build; import android.os.UserHandle; import android.permission.PermissionManager; import android.permission.PermissionManager.SplitPermissionInfo; +import android.util.ArrayMap; import android.util.ArraySet; import android.util.Base64; import android.util.Log; @@ -48,7 +49,6 @@ import android.util.Xml; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.core.os.BuildCompat; import com.android.permissioncontroller.Constants; import com.android.permissioncontroller.permission.model.AppPermissionGroup; @@ -324,15 +324,8 @@ public class BackupHelper { serializer.startDocument(null, true); serializer.startTag(null, TAG_PERMISSION_BACKUP); - - if (BuildCompat.isAtLeastQ()) { - // STOPSHIP: Remove compatibility code once Q SDK level is declared - serializer.attribute(null, ATTR_PLATFORM_VERSION, - Integer.valueOf(Build.VERSION_CODES.Q).toString()); - } else { - serializer.attribute(null, ATTR_PLATFORM_VERSION, - Integer.valueOf(Build.VERSION.SDK_INT).toString()); - } + serializer.attribute(null, ATTR_PLATFORM_VERSION, + Integer.valueOf(Build.VERSION.SDK_INT).toString()); serializer.startTag(null, TAG_ALL_GRANTS); @@ -359,6 +352,10 @@ public class BackupHelper { */ private void writeDelayedStorePkgsLocked( @NonNull ArrayList<BackupPackageState> packagesToRestoreLater) { + if (packagesToRestoreLater.size() == 0) { + mContext.deleteFile(DELAYED_RESTORE_PERMISSIONS_FILE); + return; + } try (OutputStream delayedRestoreData = mContext.openFileOutput( DELAYED_RESTORE_PERMISSIONS_FILE, MODE_PRIVATE)) { XmlSerializer serializer = newSerializer(); @@ -456,13 +453,18 @@ public class BackupHelper { private final boolean mIsUserFixed; private final boolean mWasReviewed; + // Not persisted, used during parsing so explicitly defined state takes precedence + private final boolean mIsAddedFromSplit; + private BackupPermissionState(@NonNull String permissionName, boolean isGranted, - boolean isUserSet, boolean isUserFixed, boolean wasReviewed) { + boolean isUserSet, boolean isUserFixed, boolean wasReviewed, + boolean isAddedFromSplit) { mPermissionName = permissionName; mIsGranted = isGranted; mIsUserSet = isUserSet; mIsUserFixed = isUserFixed; mWasReviewed = wasReviewed; + mIsAddedFromSplit = isAddedFromSplit; } /** @@ -509,7 +511,8 @@ public class BackupHelper { "true".equals(parser.getAttributeValue(null, ATTR_IS_GRANTED)), "true".equals(parser.getAttributeValue(null, ATTR_USER_SET)), "true".equals(parser.getAttributeValue(null, ATTR_USER_FIXED)), - "true".equals(parser.getAttributeValue(null, ATTR_WAS_REVIEWED)))); + "true".equals(parser.getAttributeValue(null, ATTR_WAS_REVIEWED)), + /* isAddedFromSplit */ i > 0)); } return parsedPermissions; @@ -563,7 +566,8 @@ public class BackupHelper { if (isNotInDefaultGrantState || perm.isUserSet() || perm.isUserFixed() || permissionWasReviewed) { return new BackupPermissionState(perm.getName(), isPermGrantedIncludingAppOp(perm), - perm.isUserSet(), perm.isUserFixed(), permissionWasReviewed); + perm.isUserSet(), perm.isUserFixed(), permissionWasReviewed, + /* isAddedFromSplit */ false); } else { return null; } @@ -836,7 +840,7 @@ public class BackupHelper { + ATTR_PACKAGE_NAME); } - ArrayList<BackupPermissionState> permissionsToRestore = new ArrayList<>(); + ArrayMap<String, BackupPermissionState> permissionsToRestore = new ArrayMap<>(); BackupSigningInfoState signingInfo = null; while (true) { @@ -845,7 +849,7 @@ public class BackupHelper { switch (parser.getName()) { case TAG_PERMISSION: try { - permissionsToRestore.addAll( + addNewPermissions(permissionsToRestore, BackupPermissionState.parseFromXml(parser, context, backupPlatformVersion)); } catch (XmlPullParserException e) { @@ -874,9 +878,15 @@ public class BackupHelper { break; case END_TAG: + ArrayList<BackupPermissionState> permissionsToRestoreList = + new ArrayList<>(); + int numPerms = permissionsToRestore.size(); + for (int i = 0; i < numPerms; i++) { + permissionsToRestoreList.add(permissionsToRestore.valueAt(i)); + } return new BackupPackageState( packageName, - permissionsToRestore, + permissionsToRestoreList, signingInfo); case END_DOCUMENT: throw new XmlPullParserException("Could not parse state for " @@ -885,6 +895,26 @@ public class BackupHelper { } } + private static void addNewPermissions( + @NonNull ArrayMap<String, BackupPermissionState> permissionsToRestore, + @NonNull List<BackupPermissionState> newPermissionsToRestore) { + int numPerms = newPermissionsToRestore.size(); + for (int i = 0; i < numPerms; i++) { + BackupPermissionState newPermission = newPermissionsToRestore.get(i); + boolean shouldOverwrite = true; + if (permissionsToRestore.containsKey(newPermission.mPermissionName)) { + // If it already exists only overwrite if newly added state was explicitly + // saved while existing state was implicit by permission split. + shouldOverwrite = !newPermission.mIsAddedFromSplit + && permissionsToRestore.get(newPermission.mPermissionName) + .mIsAddedFromSplit; + } + if (shouldOverwrite) { + permissionsToRestore.put(newPermission.mPermissionName, newPermission); + } + } + } + /** * Get the state of a package to back up. * diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java index 3e7ebfec0..eb78414f9 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceImpl.java @@ -30,6 +30,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import android.Manifest; import android.app.admin.DevicePolicyManager; +import android.app.role.RoleManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; @@ -56,6 +57,7 @@ import androidx.annotation.RequiresApi; import com.android.permissioncontroller.PermissionControllerProto.PermissionControllerDumpProto; import com.android.permissioncontroller.PermissionControllerStatsLog; +import com.android.permissioncontroller.ecm.EnhancedConfirmationStatsLogUtils; import com.android.permissioncontroller.permission.model.AppPermissionGroup; import com.android.permissioncontroller.permission.model.AppPermissions; import com.android.permissioncontroller.permission.model.Permission; @@ -539,6 +541,17 @@ public final class PermissionControllerServiceImpl extends PermissionControllerL return false; } + // TODO(b/333867076): Switch to !SdkLevel.isAtLeastW() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU + && Build.VERSION.SDK_INT <= Build.VERSION_CODES.VANILLA_ICE_CREAM) { + RoleManager roleManager = getSystemService(RoleManager.class); + List<String> roleHolders = + roleManager.getRoleHolders(RoleManager.ROLE_SYSTEM_SUPERVISION); + if (roleHolders.contains(callerPackageName)) { + canAdminGrantSensorsPermissions = true; + } + } + ArrayList<String> expandedPermissions = addSplitPermissions( Collections.singletonList(unexpandedPermission), callerPkgInfo.applicationInfo.targetSdkVersion); @@ -565,7 +578,8 @@ public final class PermissionControllerServiceImpl extends PermissionControllerL switch (grantState) { case PERMISSION_GRANT_STATE_GRANTED: if (AdminRestrictedPermissionsUtils.mayAdminGrantPermission(perm.getName(), - canAdminGrantSensorsPermissions, isManagedProfile, dpm)) { + group.getName(), canAdminGrantSensorsPermissions, isManagedProfile, + dpm)) { perm.setPolicyFixed(true); group.grantRuntimePermissions(false, false, new String[]{permName}); autoGrantPermissionsNotifier.onPermissionAutoGranted(permName); @@ -742,11 +756,14 @@ public final class PermissionControllerServiceImpl extends PermissionControllerL "Permission grant result requestId=" + requestId + " callingUid=" + uid + " callingPackage=" + packageName + " permission=" + permName + " isImplicit=false" + " result=" + r); - + boolean isPackageRestrictedByEnhancedConfirmation = + EnhancedConfirmationStatsLogUtils.INSTANCE.isPackageEcmRestricted(this, + packageName, uid); PermissionControllerStatsLog.write( PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED, requestId, uid, packageName, permName, false, r, - /* permission_rationale_shown = */ false); + /* permission_rationale_shown = */ false, + isPackageRestrictedByEnhancedConfirmation); } } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt index eb3f2e9af..2a0593057 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/SplitPermissionIndex.kt @@ -34,19 +34,28 @@ class SplitPermissionIndex() { constructor(splitPermissionInfos: List<PermissionManager.SplitPermissionInfo>) : this() { val permToGroupSplits: MutableSet<SplitPermissionIndexEntry> = mutableSetOf() val groupToGroupSplits: MutableSet<SplitPermissionIndexEntry> = mutableSetOf() - for (splitPerm in splitPermissionInfos) { - val oldPerm = splitPerm.splitPermission - for (newPerm in splitPerm.newPermissions) { - val oldPermGroup = PermissionMapping.getGroupOfPlatformPermission(oldPerm) + for (splitPermissionInfo in splitPermissionInfos) { + val splitPermission = splitPermissionInfo.splitPermission + for (newPerm in splitPermissionInfo.newPermissions) { + val splitPermissionGroup = + PermissionMapping.getGroupOfPlatformPermission(splitPermission) val newPermGroup = PermissionMapping.getGroupOfPlatformPermission(newPerm) if (newPermGroup != null) { permToGroupSplits.add( - SplitPermissionIndexEntry(oldPerm, splitPerm.targetSdk, newPermGroup) + SplitPermissionIndexEntry( + splitPermission, + splitPermissionInfo.targetSdk, + newPermGroup + ) ) } - if (oldPermGroup != null && newPermGroup != null) { + if (splitPermissionGroup != null && newPermGroup != null) { groupToGroupSplits.add( - SplitPermissionIndexEntry(oldPermGroup, splitPerm.targetSdk, newPermGroup) + SplitPermissionIndexEntry( + splitPermissionGroup, + splitPermissionInfo.targetSdk, + newPermGroup + ) ) } } @@ -55,33 +64,63 @@ class SplitPermissionIndex() { this.groupToGroupSplits = groupToGroupSplits } - /** Given a permission, return which groups split *from* it for the given targetSdk. */ - fun getPermToGroupSplitsFrom(oldPermission: String, targetSdk: Int): List<String> { + /** + * Given a split permission, and a package targetSdkVersion, return permission groups of new + * permissions. See <split-permission> tag. + * + * @param splitPermission the split permission (i.e. old permission) + * @param appTargetSdk app target sdk + * @return the permission groups calculated from new permissions + */ + fun getPermissionGroupsFromSplitPermission( + splitPermission: String, + appTargetSdk: Int + ): List<String> { return permToGroupSplits - .filter { it.oldPerm == oldPermission && it.targetSdk < targetSdk } - .map { it.newPerm } + .filter { it.splitPermissionOrGroup == splitPermission && appTargetSdk < it.targetSdk } + .map { it.newPermissionGroup } .toList() } - /** Given a permission group, return which groups split *from* it for the given targetSdk. */ - fun getGroupToGroupSplitsFrom(oldPermissionGroup: String, targetSdk: Int): List<String> { + /** + * Given a split permission, and a package targetSdkVersion, return permission groups of new + * permissions. See <split-permission> tag. + * + * @param splitPermissionGroup permission group of a split permission + * @param appTargetSdk app target sdk + * @return the permission groups calculated from new permissions + */ + fun getPermissionGroupsFromSplitPermissionGroup( + splitPermissionGroup: String, + appTargetSdk: Int + ): List<String> { return groupToGroupSplits - .filter { it.oldPerm == oldPermissionGroup && it.targetSdk < targetSdk } - .map { it.newPerm } + .filter { + it.splitPermissionOrGroup == splitPermissionGroup && appTargetSdk < it.targetSdk + } + .map { it.newPermissionGroup } .toList() } - /** Given a permission group, return which permissions split *to* it for the given targetSdk. */ - fun getGroupToGroupSplitsTo(newPermissionGroup: String, targetSdk: Int): List<String> { + /** + * Given a permission group, and package's target sdk find permission groups of the split + * permissions, see <split-permission> tag. + * + * @param permissionGroup permission group mapped to new permissions in <split-permission> tag + * @param appTargetSdk app target sdk + * @return the permission group for the split permissions + */ + fun getSplitPermissionGroups(permissionGroup: String, appTargetSdk: Int): List<String> { return groupToGroupSplits - .filter { it.newPerm == newPermissionGroup && it.targetSdk < targetSdk } - .map { it.oldPerm } + .filter { it.newPermissionGroup == permissionGroup && appTargetSdk < it.targetSdk } + .map { it.splitPermissionOrGroup } .toList() } data class SplitPermissionIndexEntry( - val oldPerm: String, + val splitPermissionOrGroup: String, + /** The split only applies to app target sdk below this */ val targetSdk: Int, - val newPerm: String + val newPermissionGroup: String ) } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt index 6ffd894ce..a69b78a06 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/v33/SafetyCenterQsTileService.kt @@ -27,6 +27,7 @@ import android.provider.DeviceConfig import android.safetycenter.SafetyCenterManager import android.service.quicksettings.Tile import android.service.quicksettings.TileService +import android.text.TextUtils import android.util.Log import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.R @@ -68,6 +69,7 @@ class SafetyCenterQsTileService : TileService() { qsTile.label = getString(R.string.safety_privacy_qs_tile_title) qsTile.subtitle = getString(R.string.safety_privacy_qs_tile_subtitle) + qsTile.contentDescription = TextUtils.concat(qsTile.label, ", ", qsTile.subtitle) qsTile.state = Tile.STATE_ACTIVE qsTile.updateTile() } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt index 4036e260a..4115a14eb 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/service/v34/SafetyLabelChangesJobService.kt @@ -67,10 +67,12 @@ import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGr import com.android.permissioncontroller.permission.model.v34.AppDataSharingUpdate import com.android.permissioncontroller.permission.utils.KotlinUtils import com.android.permissioncontroller.permission.utils.Utils.getSystemServiceSafe +import com.android.permissioncontroller.permission.utils.v34.SafetyLabelUtils import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory.AppInfo import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory.SafetyLabel as SafetyLabelForPersistence import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistoryPersistence +import com.android.permissioncontroller.safetylabel.SafetyLabelChangedBroadcastReceiver import java.time.Duration import java.time.Instant import java.time.ZoneId @@ -348,6 +350,12 @@ class SafetyLabelChangesJobService : JobService() { } else { context.createContextAsUser(user, 0) } + + // Asl in Apk (V+) is not supported by permissions + if (!SafetyLabelUtils.isAppMetadataSourceSupported(userContext, packageName)) { + return null + } + val appMetadataBundle: PersistableBundle = try { userContext.packageManager.getAppMetadata(packageName) @@ -513,8 +521,7 @@ class SafetyLabelChangesJobService : JobService() { } ?.keys ?.filter { packageUser: Pair<String, UserHandle> -> packageUser.first == packageName } - ?.map { packageUser: Pair<String, UserHandle> -> packageUser.second } - ?: listOf() + ?.map { packageUser: Pair<String, UserHandle> -> packageUser.second } ?: listOf() } private fun AppDataSharingUpdate.containsLocationCategoryUpdate() = diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java index cb7c4f6ee..f2cf78ba8 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java @@ -23,6 +23,7 @@ import static android.Manifest.permission_group.READ_MEDIA_VISUAL; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS; +import static com.android.permissioncontroller.Constants.EXTRA_IS_ECM_IN_APP; import static com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler.CANCELED; import static com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler.DENIED; import static com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler.DENIED_DO_NOT_ASK_AGAIN; @@ -34,12 +35,17 @@ import static com.android.permissioncontroller.permission.ui.GrantPermissionsVie import static com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler.LINKED_TO_PERMISSION_RATIONALE; import static com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler.LINKED_TO_SETTINGS; import static com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModel.APP_PERMISSION_REQUEST_CODE; +import static com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModel.ECM_REQUEST_CODE; import static com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModel.PHOTO_PICKER_REQUEST_CODE; import static com.android.permissioncontroller.permission.utils.Utils.getRequestMessage; +import static com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils.isDeviceAwarePermissionSupported; import android.Manifest; +import android.annotation.SuppressLint; import android.app.Activity; import android.app.KeyguardManager; +import android.app.ecm.EnhancedConfirmationManager; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageItemInfo; @@ -49,6 +55,8 @@ import android.graphics.drawable.Icon; import android.os.Build; import android.os.Bundle; import android.os.Process; +import android.os.UserHandle; +import android.permission.flags.Flags; import android.text.Annotation; import android.text.SpannableString; import android.text.Spanned; @@ -56,34 +64,39 @@ import android.text.style.ClickableSpan; import android.util.ArraySet; import android.util.Log; import android.util.Pair; -import android.view.MotionEvent; +import android.view.KeyEvent; import android.view.View; import android.view.View.OnAttachStateChangeListener; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.ChecksSdkIntAtLeast; import androidx.annotation.GuardedBy; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.core.util.Preconditions; import com.android.modules.utils.build.SdkLevel; import com.android.permissioncontroller.DeviceUtils; import com.android.permissioncontroller.R; +import com.android.permissioncontroller.ecm.EnhancedConfirmationStatsLogUtils; import com.android.permissioncontroller.permission.ui.auto.GrantPermissionsAutoViewHandler; import com.android.permissioncontroller.permission.ui.model.DenyButton; import com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModel; import com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModel.RequestInfo; -import com.android.permissioncontroller.permission.ui.model.NewGrantPermissionsViewModelFactory; +import com.android.permissioncontroller.permission.ui.model.GrantPermissionsViewModelFactory; import com.android.permissioncontroller.permission.ui.model.Prompt; import com.android.permissioncontroller.permission.ui.wear.GrantPermissionsWearViewHandler; import com.android.permissioncontroller.permission.utils.ContextCompat; import com.android.permissioncontroller.permission.utils.KotlinUtils; -import com.android.permissioncontroller.permission.utils.MultiDeviceUtils; import com.android.permissioncontroller.permission.utils.PermissionMapping; import com.android.permissioncontroller.permission.utils.Utils; +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils; import java.util.ArrayList; import java.util.Arrays; @@ -104,6 +117,13 @@ public class GrantPermissionsActivity extends SettingsActivity private static final String KEY_SESSION_ID = GrantPermissionsActivity.class.getName() + "_REQUEST_ID"; + public static final String KEY_RESTRICTED_REQUESTED_PERMISSIONS = + GrantPermissionsActivity.class.getName() + "_RESTRICTED_REQUESTED_PERMISSIONS"; + public static final String KEY_UNRESTRICTED_REQUESTED_PERMISSIONS = + GrantPermissionsActivity.class.getName() + "_UNRESTRICTED_REQUESTED_PERMISSIONS"; + public static final String KEY_ORIGINAL_REQUESTED_PERMISSIONS = + GrantPermissionsActivity.class.getName() + "_ORIGINAL_REQUESTED_PERMISSIONS"; + public static final String ANNOTATION_ID = "link"; public static final int NEXT_BUTTON = 15; @@ -132,6 +152,10 @@ public class GrantPermissionsActivity extends SettingsActivity public static final int DIALOG_WITH_FINE_LOCATION_ONLY = 4; public static final int DIALOG_WITH_COARSE_LOCATION_ONLY = 5; + // The maximum number of dialogs we will allow the same package, on the same task, to launch + // simultaneously + public static final int MAX_DIALOGS_PER_PKG_TASK = 10; + public static final Map<String, Integer> PERMISSION_TO_BIT_SHIFT = Map.of( ACCESS_COARSE_LOCATION, 0, @@ -158,6 +182,17 @@ public class GrantPermissionsActivity extends SettingsActivity /** The current list of permissions requested, across all current requests for this app */ private List<String> mRequestedPermissions = new ArrayList<>(); + /** + * If any requested permissions are considered restricted by ECM, they will be stored here. + */ + private ArrayList<String> mRestrictedRequestedPermissionGroups = null; + + /** + * If any requested permissions are considered restricted by ECM, the non-restricted + * permissions will be stored here. + */ + private List<String> mUnrestrictedRequestedPermissions = null; + /** A list of permissions requested on an app's behalf by the system. Usually Implicitly * requested, although this isn't necessarily always the case. */ @@ -199,6 +234,16 @@ public class GrantPermissionsActivity extends SettingsActivity /** Which device the permission will affect. Default is the primary device. */ private int mTargetDeviceId = ContextCompat.DEVICE_ID_DEFAULT; + private ActivityResultLauncher<Intent> mShowWarningDialog = + registerForActivityResult( + new ActivityResultContracts.StartActivityForResult(), + result -> { + int resultCode = result.getResultCode(); + if (resultCode == RESULT_OK) { + finishAfterTransition(); + } + }); + @Override public void onCreate(Bundle icicle) { if (DeviceUtils.isAuto(this)) { @@ -218,7 +263,6 @@ public class GrantPermissionsActivity extends SettingsActivity getWindow().addFlags(FLAG_ALT_FOCUSABLE_IM); } - int permissionsSdkLevel; if (PackageManager.ACTION_REQUEST_PERMISSIONS_FOR_OTHER.equals(getIntent().getAction())) { mIsSystemTriggered = true; mTargetPackage = getIntent().getStringExtra(Intent.EXTRA_PACKAGE_NAME); @@ -228,9 +272,6 @@ public class GrantPermissionsActivity extends SettingsActivity finishAfterTransition(); return; } - // We don't want to do any filtering in this case. - // These calls are coming from the system on behalf of the app. - permissionsSdkLevel = Build.VERSION_CODES.CUR_DEVELOPMENT; } else { // Cache this as this can only read on onCreate, not later. mTargetPackage = getCallingPackage(); @@ -242,7 +283,6 @@ public class GrantPermissionsActivity extends SettingsActivity } try { PackageInfo packageInfo = getPackageManager().getPackageInfo(mTargetPackage, 0); - permissionsSdkLevel = packageInfo.applicationInfo.targetSdkVersion; } catch (PackageManager.NameNotFoundException e) { Log.e(LOG_TAG, "Unable to get package info for the calling package.", e); finishAfterTransition(); @@ -258,8 +298,49 @@ public class GrantPermissionsActivity extends SettingsActivity } mRequestedPermissions = removeNullOrEmptyPermissions(requestedPermissionsArray); - if (mIsSystemTriggered) { - mSystemRequestedPermissions.addAll(mRequestedPermissions); + mOriginalRequestedPermissions = mRequestedPermissions.toArray(new String[0]); + + // Do validation if permissions are requested for a remote device or the dialog is being + // streamed to a remote device. + if (isDeviceAwarePermissionSupported(getApplicationContext())) { + mTargetDeviceId = getIntent().getIntExtra( + PackageManager.EXTRA_REQUEST_PERMISSIONS_DEVICE_ID, + ContextCompat.DEVICE_ID_DEFAULT); + + // When the dialog is streamed to a remote device, verify requested permissions are all + // device aware and target device is the same as the remote device. Otherwise show a + // warning dialog. + if (getDeviceId() != ContextCompat.DEVICE_ID_DEFAULT) { + boolean showWarningDialog = mTargetDeviceId != getDeviceId(); + + for (String permission : mRequestedPermissions) { + if (!MultiDeviceUtils.isPermissionDeviceAware( + getApplicationContext(), mTargetDeviceId, permission)) { + showWarningDialog = true; + } + } + + if (showWarningDialog) { + mShowWarningDialog.launch( + new Intent(this, PermissionDialogStreamingBlockedActivity.class)); + return; + } + } else if (mTargetDeviceId != ContextCompat.DEVICE_ID_DEFAULT) { + // On the default device, when requested permissions are for a remote device, + // filter out non-device aware permissions. + for (int i = mRequestedPermissions.size() - 1; i >= 0; i--) { + if (!MultiDeviceUtils.isPermissionDeviceAware( + getApplicationContext(), + mTargetDeviceId, + mRequestedPermissions.get(i))) { + Log.e( + LOG_TAG, + "non-device aware permission is requested for a remote device: " + + mRequestedPermissions.get(i)); + mRequestedPermissions.remove(i); + } + } + } } if (mRequestedPermissions.isEmpty()) { @@ -267,51 +348,50 @@ public class GrantPermissionsActivity extends SettingsActivity return; } - if (MultiDeviceUtils.isDeviceAwareGrantFlowEnabled()) { - mTargetDeviceId = - getIntent() - .getIntExtra( - PackageManager.EXTRA_REQUEST_PERMISSIONS_DEVICE_ID, - ContextCompat.DEVICE_ID_DEFAULT); + if (mIsSystemTriggered) { + mSystemRequestedPermissions.addAll(mRequestedPermissions); } - // If the permissions requested are for a remote device, check if each permission is device - // aware. - if (mTargetDeviceId != ContextCompat.DEVICE_ID_DEFAULT) { - if (!MultiDeviceUtils.isDeviceAwareGrantFlowEnabled()) { - Log.e(LOG_TAG, "targetDeviceId should be the default device if device aware grant" - + " flow is not enabled"); - finishAfterTransition(); - return; - } - - for (String permission : mRequestedPermissions) { - if (!MultiDeviceUtils.isPermissionDeviceAware(permission)) { - Log.e(LOG_TAG, "When target device is external, permission " + permission - + " needs to be device aware."); - finishAfterTransition(); - return; - } - } + if (blockRestrictedPermissions(icicle)) { + return; } - mOriginalRequestedPermissions = mRequestedPermissions.toArray(new String[0]); + GrantPermissionsViewModelFactory factory = + new GrantPermissionsViewModelFactory( + getApplication(), + mTargetPackage, + mTargetDeviceId, + mRequestedPermissions, + mSystemRequestedPermissions, + mSessionId, + icicle); + mViewModel = factory.create(GrantPermissionsViewModel.class); synchronized (sCurrentGrantRequests) { mKey = new Pair<>(mTargetPackage, getTaskId()); - if (!sCurrentGrantRequests.containsKey(mKey)) { + GrantPermissionsActivity current = sCurrentGrantRequests.get(mKey); + if (current == null) { sCurrentGrantRequests.put(mKey, this); finishSystemStartedDialogsOnOtherTasksLocked(); } else if (mIsSystemTriggered) { // The system triggered dialog doesn't require results. Delegate, and finish. - sCurrentGrantRequests.get(mKey).onNewFollowerActivity(null, mRequestedPermissions); + current.onNewFollowerActivity(null, mRequestedPermissions, false); finishAfterTransition(); return; - } else if (sCurrentGrantRequests.get(mKey).mIsSystemTriggered) { - // Normal permission requests should only merge into the system triggered dialog, - // which has task overlay set + } else if (current.mIsSystemTriggered) { + // merge into the system triggered dialog, which has task overlay set mDelegated = true; - sCurrentGrantRequests.get(mKey).onNewFollowerActivity(this, mRequestedPermissions); + current.onNewFollowerActivity(this, mRequestedPermissions, false); + } else { + // this + current + current.mFollowerActivities + if ((current.mFollowerActivities.size() + 2) > MAX_DIALOGS_PER_PKG_TASK) { + // If there are too many dialogs for the same package, in the same task, cancel + finishAfterTransition(); + return; + } + // Merge the old dialogs into the new + onNewFollowerActivity(current, current.mRequestedPermissions, true); + sCurrentGrantRequests.put(mKey, this); } } @@ -334,16 +414,6 @@ public class GrantPermissionsActivity extends SettingsActivity } if (!mDelegated) { - NewGrantPermissionsViewModelFactory factory = - new NewGrantPermissionsViewModelFactory( - getApplication(), - mTargetPackage, - mTargetDeviceId, - mRequestedPermissions, - mSystemRequestedPermissions, - mSessionId, - icicle); - mViewModel = factory.create(GrantPermissionsViewModel.class); mViewModel.getRequestInfosLiveData().observe(this, this::onRequestInfoLoad); } @@ -378,7 +448,7 @@ public class GrantPermissionsActivity extends SettingsActivity // as the UI behaves differently for updates and initial creations. if (icicle != null) { mViewHandler.loadInstanceState(icicle); - } else { + } else if (mRootView == null || mRootView.getVisibility() != View.VISIBLE) { // Do not show screen dim until data is loaded window.setDimAmount(0f); } @@ -390,6 +460,121 @@ public class GrantPermissionsActivity extends SettingsActivity } } + /* + * Block permissions that are restricted by ECM (Enhanced Confirmation Mode). + * + * If any requested permissions are restricted, then: + * + * - Strip them from mRequestedPermissions (so no grant dialog appears for those permissions). + * - Group the restricted permissions into permission groups. + * - Show the EnhancedConfirmationDialogActivity for each group. Each showing requires a + * cross-activity loop during which GrantPermissionActivity will be recreated. + * - Finally, continue processing all non-restricted requested permissions normally + * + * Returns true if we're going to show the ECM dialog (and therefore GrantPermissionsActivity + * will be recreated) + */ + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.VANILLA_ICE_CREAM, codename = "VanillaIceCream") + private boolean blockRestrictedPermissions(Bundle icicle) { + if (!SdkLevel.isAtLeastV() || !Flags.enhancedConfirmationModeApisEnabled()) { + return false; + } + Context userContext = Utils.getUserContext(this, Process.myUserHandle()); + EnhancedConfirmationManager ecm = Utils.getSystemServiceSafe(userContext, + EnhancedConfirmationManager.class); + + // Retrieve ECM-related persisted permission lists + if (icicle != null) { + mOriginalRequestedPermissions = icicle.getStringArray( + KEY_ORIGINAL_REQUESTED_PERMISSIONS); + mRestrictedRequestedPermissionGroups = icicle.getStringArrayList( + KEY_RESTRICTED_REQUESTED_PERMISSIONS); + mUnrestrictedRequestedPermissions = icicle.getStringArrayList( + KEY_UNRESTRICTED_REQUESTED_PERMISSIONS); + } + // If these lists aren't persisted yet, it means we haven't yet divided + // mRequestedPermissions into restricted-vs-unrestricted, so do so. + if (mRestrictedRequestedPermissionGroups == null) { + ArraySet<String> restrictedPermGroups = new ArraySet<>(); + ArrayList<String> unrestrictedPermissions = new ArrayList<>(); + + for (String requestedPermission : mRequestedPermissions) { + String requestedPermGroup = PermissionMapping.getGroupOfPlatformPermission( + requestedPermission); + if (restrictedPermGroups.contains(requestedPermGroup)) { + continue; + } + if (requestedPermGroup != null && isPermissionEcmRestricted(ecm, + requestedPermission, mTargetPackage)) { + restrictedPermGroups.add(requestedPermGroup); + } else { + unrestrictedPermissions.add(requestedPermission); + } + } + mUnrestrictedRequestedPermissions = unrestrictedPermissions; + // If there are restricted permissions, and the ECM dialog has already been shown + // for this app, then we don't want to show it again. Act as if these restricted + // permissions weren't // requested at all, and log that we ignored them. + if (!restrictedPermGroups.isEmpty() && wasEcmDialogAlreadyShown(ecm, mTargetPackage)) { + for (String ignoredPermGroup : restrictedPermGroups) { + EnhancedConfirmationStatsLogUtils.INSTANCE.logDialogResultReported( + getPackageUid(getCallingPackage(), Process.myUserHandle()), + /* settingIdentifier */ ignoredPermGroup, /* firstShowForApp */ false, + EnhancedConfirmationStatsLogUtils.DialogResult.Suppressed); + } + mRestrictedRequestedPermissionGroups = new ArrayList<>(); + } else { + mRestrictedRequestedPermissionGroups = new ArrayList<>(restrictedPermGroups); + } + } + // If there are remaining restricted permission groups to process, show the ECM dialog + // for the next one, then recreate this activity. + if (!mRestrictedRequestedPermissionGroups.isEmpty()) { + String nextRestrictedPermissionGroup = mRestrictedRequestedPermissionGroups.remove(0); + try { + Intent intent = ecm.createRestrictedSettingDialogIntent(mTargetPackage, + nextRestrictedPermissionGroup); + intent.putExtra(EXTRA_IS_ECM_IN_APP, true); + startActivityForResult(intent, ECM_REQUEST_CODE); + return true; + } catch (PackageManager.NameNotFoundException e) { + mRequestedPermissions = mUnrestrictedRequestedPermissions; + } + } else { + mRequestedPermissions = mUnrestrictedRequestedPermissions; + } + return false; + } + + @SuppressLint("MissingPermission") + private int getPackageUid(String packageName, UserHandle user) { + try { + return getPackageManager().getApplicationInfoAsUser(packageName, 0, user).uid; + } catch (PackageManager.NameNotFoundException e) { + return android.os.Process.INVALID_UID; + } + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private boolean isPermissionEcmRestricted(EnhancedConfirmationManager ecm, + String requestedPermission, String packageName) { + try { + return ecm.isRestricted(packageName, requestedPermission); + } catch (PackageManager.NameNotFoundException e) { + return false; + } + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private boolean wasEcmDialogAlreadyShown(EnhancedConfirmationManager ecm, + String packageName) { + try { + return ecm.isClearRestrictionAllowed(packageName); + } catch (PackageManager.NameNotFoundException e) { + return false; + } + } + /** * A new GrantPermissionsActivity has opened for this same package. Merge its requested * permissions with the original ones set in the intent, and recalculate the grant states. @@ -398,20 +583,41 @@ public class GrantPermissionsActivity extends SettingsActivity * @param newPermissions The new permissions requested in the activity */ private void onNewFollowerActivity(@Nullable GrantPermissionsActivity follower, - @NonNull List<String> newPermissions) { + @NonNull List<String> newPermissions, boolean followerIsOlder) { if (follower != null) { // Ensure the list of follower activities is a stack mFollowerActivities.add(0, follower); follower.mViewModel = mViewModel; + if (followerIsOlder) { + follower.mDelegated = true; + } } - boolean isShowingGroup = mRootView != null && mRootView.getVisibility() == View.VISIBLE; - List<RequestInfo> currentGroups = mViewModel.getRequestInfosLiveData().getValue(); + // If the follower is older, examine it to find the pre-merge group + GrantPermissionsActivity olderActivity = follower != null && followerIsOlder + ? follower : this; + boolean isShowingGroup = olderActivity.mRootView != null + && olderActivity.mRootView.getVisibility() == View.VISIBLE; + List<RequestInfo> currentGroups = + olderActivity.mViewModel.getRequestInfosLiveData().getValue(); if (mPreMergeShownGroupName == null && isShowingGroup && currentGroups != null && !currentGroups.isEmpty()) { mPreMergeShownGroupName = currentGroups.get(0).getGroupName(); } + if (isShowingGroup && mPreMergeShownGroupName != null + && followerIsOlder && currentGroups != null) { + // Load a request from the old activity + mRequestInfos = currentGroups; + showNextRequest(); + olderActivity.mRootView.setVisibility(View.GONE); + } + if (follower != null && followerIsOlder) { + follower.mFollowerActivities.forEach((oldFollower) -> + onNewFollowerActivity(oldFollower, new ArrayList<>(), true)); + follower.mFollowerActivities.clear(); + } + if (mRequestedPermissions.containsAll(newPermissions)) { return; } @@ -427,8 +633,8 @@ public class GrantPermissionsActivity extends SettingsActivity Bundle oldState = new Bundle(); mViewModel.getRequestInfosLiveData().removeObservers(this); mViewModel.saveInstanceState(oldState); - NewGrantPermissionsViewModelFactory factory = - new NewGrantPermissionsViewModelFactory( + GrantPermissionsViewModelFactory factory = + new GrantPermissionsViewModelFactory( getApplication(), mTargetPackage, mTargetDeviceId, @@ -475,19 +681,17 @@ public class GrantPermissionsActivity extends SettingsActivity } private void showNextRequest() { - if (mRequestInfos.isEmpty()) { + if (mRequestInfos.isEmpty() || mDelegated) { return; } RequestInfo info = mRequestInfos.get(0); - // Only the top activity can receive activity results - Activity top = mFollowerActivities.isEmpty() ? this : mFollowerActivities.get(0); if (info.getPrompt() == Prompt.NO_UI_SETTINGS_REDIRECT) { - mViewModel.sendDirectlyToSettings(top, info.getGroupName()); + mViewModel.sendDirectlyToSettings(this, info.getGroupName()); return; } else if (info.getPrompt() == Prompt.NO_UI_PHOTO_PICKER_REDIRECT) { - mViewModel.openPhotoPicker(top); + mViewModel.openPhotoPicker(this); return; } else if (info.getPrompt() == Prompt.NO_UI_FILTER_THIS_GROUP) { // Filtered permissions should be removed from the requested permissions list entirely, @@ -499,7 +703,7 @@ public class GrantPermissionsActivity extends SettingsActivity onRequestInfoLoad(mRequestInfos); return; } else if (info.getPrompt() == Prompt.NO_UI_HEALTH_REDIRECT) { - mViewModel.handleHealthConnectPermissions(top); + mViewModel.handleHealthConnectPermissions(this); return; } @@ -685,30 +889,45 @@ public class GrantPermissionsActivity extends SettingsActivity return buttonArray; } - // LINT.IfChange(dispatchTouchEvent) @Override - public boolean dispatchTouchEvent(MotionEvent ev) { - View rootView = getWindow().getDecorView(); - if (rootView.getTop() != 0) { - // We are animating the top view, need to compensate for that in motion events. - ev.setLocation(ev.getX(), ev.getY() - rootView.getTop()); - } - final int x = (int) ev.getX(); - final int y = (int) ev.getY(); - if ((x < 0) || (y < 0) || (x > (rootView.getWidth())) || (y > (rootView.getHeight()))) { - if (MotionEvent.ACTION_DOWN == ev.getAction()) { - mViewHandler.onCancelled(); - } + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_ESCAPE + && event.getRepeatCount() == 0 + && event.hasNoModifiers()) { + event.startTracking(); + mViewHandler.onCancelled(); finishAfterTransition(); + return true; + } + return super.onKeyDown(keyCode, event); + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_ESCAPE + && event.isTracking() + && !event.isCanceled()) { + // Mark it as handled since we did handle the down event + return true; } - return super.dispatchTouchEvent(ev); + return super.onKeyUp(keyCode, event); } - // LINT.ThenChange(PermissionRationaleActivity.java:dispatchTouchEvent) @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); + if (SdkLevel.isAtLeastV() && Flags.enhancedConfirmationModeApisEnabled()) { + outState.putStringArrayList(KEY_RESTRICTED_REQUESTED_PERMISSIONS, + mRestrictedRequestedPermissionGroups != null ? new ArrayList<>( + mRestrictedRequestedPermissionGroups) : null); + outState.putStringArrayList(KEY_UNRESTRICTED_REQUESTED_PERMISSIONS, + mUnrestrictedRequestedPermissions != null ? new ArrayList<>( + mUnrestrictedRequestedPermissions) : null); + outState.putStringArray(KEY_ORIGINAL_REQUESTED_PERMISSIONS, + mOriginalRequestedPermissions); + } + if (mViewHandler == null || mViewModel == null) { return; } @@ -734,6 +953,12 @@ public class GrantPermissionsActivity extends SettingsActivity @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); + if (SdkLevel.isAtLeastV() && Flags.enhancedConfirmationModeApisEnabled()) { + if (requestCode == ECM_REQUEST_CODE) { + recreate(); + return; + } + } if (requestCode != APP_PERMISSION_REQUEST_CODE && requestCode != PHOTO_PICKER_REQUEST_CODE) { return; @@ -762,9 +987,7 @@ public class GrantPermissionsActivity extends SettingsActivity } if (Objects.equals(READ_MEDIA_VISUAL, name) && result == GRANTED_USER_SELECTED) { - // Only the top activity can receive activity results - Activity top = mFollowerActivities.isEmpty() ? this : mFollowerActivities.get(0); - mViewModel.openPhotoPicker(top); + mViewModel.openPhotoPicker(this); logGrantPermissionActivityButtons(name, affectedForegroundPermissions, result); return; } @@ -864,14 +1087,16 @@ public class GrantPermissionsActivity extends SettingsActivity private boolean setResultIfNeeded(int resultCode) { if (!isResultSet()) { List<String> oldRequestedPermissions = mRequestedPermissions; + mResultCode = resultCode; removeActivityFromMap(); // If a new merge request came in before we managed to remove this activity from the // map, then cancel the result set for now. if (!Objects.equals(oldRequestedPermissions, mRequestedPermissions)) { + // Reset the result code back to its starting value of MAX_VALUE; + mResultCode = Integer.MAX_VALUE; return false; } - mResultCode = resultCode; if (mViewModel != null) { mViewModel.logRequestedPermissionGroups(); } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/LocationProviderInterceptDialog.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/LocationProviderInterceptDialog.java index bd3cd1e22..88915edfd 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/LocationProviderInterceptDialog.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/LocationProviderInterceptDialog.java @@ -23,6 +23,7 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.provider.Settings; import android.util.Log; +import android.view.Window; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -48,18 +49,34 @@ public final class LocationProviderInterceptDialog extends FragmentActivity { return; } - new AlertDialog.Builder(this) - .setIcon(R.drawable.ic_dialog_alert_material) - .setTitle(android.R.string.dialog_alert_title) - .setMessage(getString(R.string.location_warning, - Utils.getAppLabel(getPackageInfo(packageName).applicationInfo, this))) - .setNegativeButton(R.string.ok, null) - .setPositiveButton(R.string.location_settings, (dialog, which) -> - startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS))) - .setOnDismissListener((dialog) -> finish()) - .show(); + AlertDialog alertDialog = + new AlertDialog.Builder(this) + .setIcon(R.drawable.ic_dialog_alert_material) + .setTitle(android.R.string.dialog_alert_title) + .setMessage( + getString( + R.string.location_warning, + Utils.getAppLabel( + getPackageInfo(packageName).applicationInfo, this))) + .setNegativeButton(R.string.ok, null) + .setPositiveButton( + R.string.location_settings, + (dialog, which) -> + startActivity( + new Intent( + Settings.ACTION_LOCATION_SOURCE_SETTINGS))) + .setOnDismissListener((dialog) -> finish()) + .show(); + try { + Window alertWindow = alertDialog.getWindow(); + if (alertWindow != null) { + alertWindow.getDecorView().requestFocus(); + } + } catch (Exception ignored) { + } } + private @Nullable PackageInfo getPackageInfo(@NonNull String packageName) { try { return getPackageManager().getPackageInfo(packageName, PackageManager.GET_PERMISSIONS); diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java index 4cd595b55..df5b98ae7 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/ManagePermissionsActivity.java @@ -156,6 +156,9 @@ public final class ManagePermissionsActivity extends SettingsActivity { } super.onCreate(savedInstanceState); + // TODO(b/309578419): Make this activity handle insets properly and then remove this. + getTheme().applyStyle(R.style.OptOutEdgeToEdgeEnforcement, /* force */ false); + // If this is not a phone or a watch (which uses the Navigation component), and there // is a previous instance, re-use its Fragment instead of making a new one. if ((DeviceUtils.isTelevision(this) || DeviceUtils.isAuto(this)) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/PermissionDialogStreamingBlockedActivity.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/PermissionDialogStreamingBlockedActivity.kt new file mode 100644 index 000000000..29f9ed2c7 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/PermissionDialogStreamingBlockedActivity.kt @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui + +import android.app.AlertDialog +import android.os.Bundle +import androidx.fragment.app.FragmentActivity +import com.android.permissioncontroller.R + +/** + * In some scenarios we want to prevent the permission grant dialog from streaming to a remote + * device. If the streaming is blocked show a warning dialog rendered by this activity. + */ +class PermissionDialogStreamingBlockedActivity : FragmentActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + AlertDialog.Builder(this) + .setTitle(R.string.permission_grant_dialog_streaming_blocked_title) + .setMessage(R.string.permission_grant_dialog_streaming_blocked_description) + .setPositiveButton(R.string.ongoing_usage_dialog_ok, null) + .setOnDismissListener() { + setResult(RESULT_OK) + finish() + } + .create() + .show() + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java index 496d36dc9..4ac73cc98 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoAppPermissionFragment.java @@ -16,6 +16,8 @@ package com.android.permissioncontroller.permission.ui.auto; +import static android.Manifest.permission_group.CAMERA; + import static com.android.permissioncontroller.Constants.EXTRA_SESSION_ID; import static com.android.permissioncontroller.Constants.INVALID_SESSION_ID; import static com.android.permissioncontroller.PermissionControllerStatsLog.APP_PERMISSION_FRAGMENT_ACTION_REPORTED__BUTTON_PRESSED__ALLOW; @@ -33,6 +35,8 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; +import android.hardware.SensorPrivacyManager; +import android.os.Build; import android.os.Bundle; import android.os.UserHandle; import android.text.BidiFormatter; @@ -42,6 +46,7 @@ import android.widget.RadioButton; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.core.content.res.TypedArrayUtils; import androidx.fragment.app.DialogFragment; import androidx.fragment.app.Fragment; @@ -53,6 +58,7 @@ import androidx.preference.PreferenceViewHolder; import androidx.preference.TwoStatePreference; import com.android.car.ui.AlertDialogBuilder; +import com.android.modules.utils.build.SdkLevel; import com.android.permissioncontroller.R; import com.android.permissioncontroller.auto.AutoSettingsFrameFragment; import com.android.permissioncontroller.permission.ui.GrantPermissionsViewHandler; @@ -62,18 +68,22 @@ import com.android.permissioncontroller.permission.ui.model.AppPermissionViewMod import com.android.permissioncontroller.permission.ui.v33.AdvancedConfirmDialogArgs; import com.android.permissioncontroller.permission.utils.KotlinUtils; import com.android.permissioncontroller.permission.utils.PackageRemovalMonitor; +import com.android.permissioncontroller.permission.utils.Utils; import com.android.settingslib.RestrictedLockUtils; -import java.util.Map; - import kotlin.Pair; +import java.util.List; +import java.util.Map; + /** Settings related to a particular permission for the given app. */ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment implements AppPermissionViewModel.ConfirmDialogShowingFragment { private static final String LOG_TAG = "AppPermissionFragment"; private static final long POST_DELAY_MS = 20; + private static final String BLOCKED_APP_PREF_KEY = "blocked_app"; + private static final String REQUIRED_APP_PREF_KEY = "required_app"; @NonNull private TwoStatePreference mAllowPermissionPreference; @@ -100,6 +110,9 @@ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment private String mPermGroupLabel; private Drawable mPackageIcon; + private SensorPrivacyManager mSensorPrivacyManager; + private List<String> mCameraPrivacyAllowlist; + /** * Listens for changes to the app the permission is currently getting granted to. {@code null} * when unregistered. @@ -156,6 +169,10 @@ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment mPackageName, mUser); setHeaderLabel( requireContext().getString(R.string.app_permission_title, mPermGroupLabel)); + if (SdkLevel.isAtLeastV()) { + mSensorPrivacyManager = requireContext().getSystemService(SensorPrivacyManager.class); + mCameraPrivacyAllowlist = mSensorPrivacyManager.getCameraPrivacyAllowlist(); + } } @Override @@ -257,6 +274,13 @@ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment mViewModel.getButtonStateLiveData().observe(this, this::setRadioButtonsState); mViewModel.getDetailResIdLiveData().observe(this, this::setDetail); mViewModel.getShowAdminSupportLiveData().observe(this, this::setAdminSupportDetail); + if (SdkLevel.isAtLeastV()) { + // TODO: b/327489942 - Location and microphone privacy UX settings change to + // follow later. + if (CAMERA.equals(mPermGroupName)) { + mViewModel.getSensorStatusLiveData().observe(this, this::setSensorStatus); + } + } } @Override @@ -269,6 +293,111 @@ public class AutoAppPermissionFragment extends AutoSettingsFrameFragment } } + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private void setSensorStatus(Boolean sensorStatus) { + if (CAMERA.equals(mPermGroupName)) { + if (sensorStatus) { + setSensorCard(); + } else { + removeSensorCard(); + } + } + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private void setSensorCard() { + int state = mSensorPrivacyManager.getSensorPrivacyState( + SensorPrivacyManager.TOGGLE_TYPE_SOFTWARE, + SensorPrivacyManager.Sensors.CAMERA); + boolean isRequiredApp = mCameraPrivacyAllowlist.contains(mPackageName); + if ((state == SensorPrivacyManager.StateTypes.ENABLED_EXCEPT_ALLOWLISTED_APPS) + && isRequiredApp) { + setRequiredAppCard(); + } else { + setBlockedAppCard(isRequiredApp); + } + } + + private void setRequiredAppCard() { + AutoCardViewPreference sensorCard = findPreference(REQUIRED_APP_PREF_KEY); + if (sensorCard == null) { + sensorCard = createRequiredAppCard(); + if (getPreferenceScreen() != null) { + getPreferenceScreen().addPreference(sensorCard); + } + } + sensorCard.setVisible(true); + } + + private void setBlockedAppCard(boolean isRequiredApp) { + AutoCardViewPreference sensorCard = findPreference(BLOCKED_APP_PREF_KEY); + if (sensorCard == null) { + sensorCard = createBlockedAppCard(isRequiredApp); + if (getPreferenceScreen() != null) { + getPreferenceScreen().addPreference(sensorCard); + } + } + sensorCard.setVisible(true); + } + + private AutoCardViewPreference createRequiredAppCard() { + Context context = getPreferenceManager().getContext(); + AutoCardViewPreference sensorCard = new AutoCardViewPreference(context); + sensorCard.setKey(REQUIRED_APP_PREF_KEY); + sensorCard.setIcon(R.drawable.ic_camera_allowed); + sensorCard.setTitle(context.getString(R.string.automotive_required_app_title)); + sensorCard.setSummary(context.getString(R.string.automotive_required_app_summary)); + sensorCard.setVisible(true); + sensorCard.setOrder(-1); + return sensorCard; + } + + private AutoCardViewPreference createBlockedAppCard(boolean isRequiredApp) { + Context context = getPreferenceManager().getContext(); + + AutoCardViewPreference sensorCard = new AutoCardViewPreference(context); + sensorCard.setKey(BLOCKED_APP_PREF_KEY); + sensorCard.setIcon(Utils.getBlockedIcon(mPermGroupName)); + sensorCard.setTitle(context.getString(R.string.automotive_blocked_camera_title)); + if (isRequiredApp) { + sensorCard.setSummary(context.getString( + R.string.automotive_blocked_required_app_summary)); + } else { + sensorCard.setSummary(context.getString( + R.string.automotive_blocked_infotainment_app_summary)); + } + sensorCard.setVisible(true); + sensorCard.setOrder(-1); + return sensorCard; + } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private void removeSensorCard() { + int state = mSensorPrivacyManager.getSensorPrivacyState( + SensorPrivacyManager.TOGGLE_TYPE_SOFTWARE, + SensorPrivacyManager.Sensors.CAMERA); + if ((state == SensorPrivacyManager.StateTypes.ENABLED_EXCEPT_ALLOWLISTED_APPS) + && (mCameraPrivacyAllowlist.contains(mPackageName))) { + removeRequiredAppCard(); + } else { + removeBlockedAppCard(); + } + } + + private void removeRequiredAppCard() { + AutoCardViewPreference sensorCard = findPreference(REQUIRED_APP_PREF_KEY); + if (sensorCard != null) { + sensorCard.setVisible(false); + } + } + + private void removeBlockedAppCard() { + AutoCardViewPreference sensorCard = findPreference(BLOCKED_APP_PREF_KEY); + if (sensorCard != null) { + sensorCard.setVisible(false); + } + } + @Override public void showConfirmDialog(ChangeRequest changeRequest, int messageId, int buttonPressed, boolean oneTime) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoCardViewPreference.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoCardViewPreference.java new file mode 100644 index 000000000..68f3f0f42 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoCardViewPreference.java @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui.auto; + +import android.content.Context; + +import com.android.car.ui.preference.CarUiPreference; +import com.android.permissioncontroller.R; + +/** + * A Preference representing a banner message represented as a CardView + */ +public class AutoCardViewPreference extends CarUiPreference { + + public AutoCardViewPreference(Context context) { + super(context); + this.setLayoutResource(R.layout.car_warning_banner_preference_card); + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoReviewPermissionDecisionsFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoReviewPermissionDecisionsFragment.kt index 99f5c85e4..2350a5d71 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoReviewPermissionDecisionsFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/AutoReviewPermissionDecisionsFragment.kt @@ -35,6 +35,7 @@ import com.android.permissioncontroller.PermissionControllerStatsLog.RECENT_PERM import com.android.permissioncontroller.PermissionControllerStatsLog.RECENT_PERMISSION_DECISIONS_INTERACTED__ACTION__VIEW_ALL_CLICKED import com.android.permissioncontroller.R import com.android.permissioncontroller.auto.AutoSettingsFrameFragment +import com.android.permissioncontroller.auto.DrivingDecisionReminderService import com.android.permissioncontroller.permission.data.v33.PermissionDecision import com.android.permissioncontroller.permission.ui.ManagePermissionsActivity import com.android.permissioncontroller.permission.ui.model.v33.ReviewPermissionDecisionsViewModel @@ -98,6 +99,7 @@ class AutoReviewPermissionDecisionsFragment : AutoSettingsFrameFragment() { requireArguments().containsKey(EXTRA_SOURCE) && (requireArguments().getString(EXTRA_SOURCE) == EXTRA_SOURCE_NOTIFICATION) ) { + DrivingDecisionReminderService.cancelNotification(requireActivity()) logDecisionReminderNotificationClicked() } val factory = diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java index 7fa51dd8a..765bd5456 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionFragment.java @@ -58,6 +58,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.CompoundButton; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.Switch; @@ -83,6 +84,7 @@ import com.android.permissioncontroller.permission.ui.model.AppPermissionViewMod import com.android.permissioncontroller.permission.ui.v33.AdvancedConfirmDialogArgs; import com.android.permissioncontroller.permission.utils.KotlinUtils; import com.android.permissioncontroller.permission.utils.Utils; +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.widget.ActionBarShadowController; @@ -106,21 +108,23 @@ public class AppPermissionFragment extends SettingsWithLargeHeader private static final long EDIT_PHOTOS_BUTTON_ANIMATION_LENGTH_MS = 200L; static final String GRANT_CATEGORY = "grant_category"; + static final String PERSISTENT_DEVICE_ID = "persistent_device_id"; private @NonNull AppPermissionViewModel mViewModel; private @NonNull ViewGroup mAppPermissionRationaleContainer; private @NonNull ViewGroup mAppPermissionRationaleContent; + private @NonNull FrameLayout mAllowButtonFrame; private @NonNull RadioButton mAllowButton; private @NonNull RadioButton mAllowAlwaysButton; private @NonNull RadioButton mAllowForegroundButton; private @NonNull RadioButton mAskOneTimeButton; private @NonNull RadioButton mAskButton; - private @NonNull RadioButton mSelectPhotosButton; + private @NonNull RadioButton mAllowLimitedButton; private @NonNull RadioButton mDenyButton; private @NonNull RadioButton mDenyForegroundButton; - private @NonNull ImageView mEditPhotosButton; - private @NonNull View mSelectPhotosLayout; - private @NonNull View mEditPhotosDivider; + private @NonNull ImageView mSelectPhotosButton; + private @NonNull View mAllowLimitedPhotosLayout; + private @NonNull View mSelectPhotosDivider; private @NonNull View mLocationAccuracy; private @NonNull Switch mLocationAccuracySwitch; private @NonNull View mDivider; @@ -135,6 +139,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader // This prevents the user from clicking the photo picker button multiple times in succession private boolean mPhotoPickerTriggered; private long mSessionId; + private String mPersistentDeviceId; private @NonNull String mPackageLabel; private @NonNull String mPermGroupLabel; @@ -198,8 +203,12 @@ public class AppPermissionFragment extends SettingsWithLargeHeader mPackageName, mUser); mSessionId = getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID); + mPersistentDeviceId = getArguments().getString(PERSISTENT_DEVICE_ID, + MultiDeviceUtils.getDefaultDevicePersistentDeviceId()); + AppPermissionViewModelFactory factory = new AppPermissionViewModelFactory( - getActivity().getApplication(), mPackageName, mPermGroupName, mUser, mSessionId); + getActivity().getApplication(), mPackageName, mPermGroupName, mUser, mSessionId, + mPersistentDeviceId); mViewModel = new ViewModelProvider(this, factory).get(AppPermissionViewModel.class); Handler delayHandler = new Handler(Looper.getMainLooper()); mViewModel.getButtonStateLiveData().observe(this, buttonState -> { @@ -230,8 +239,15 @@ public class AppPermissionFragment extends SettingsWithLargeHeader setHeader(mPackageIcon, mPackageLabel, null, null, false); updateHeader(root.requireViewById(R.id.large_header)); - ((TextView) root.requireViewById(R.id.permission_message)).setText( - context.getString(R.string.app_permission_header, mPermGroupLabel)); + String text = null; + if (MultiDeviceUtils.isDefaultDeviceId(mPersistentDeviceId)) { + text = context.getString(R.string.app_permission_header, mPermGroupLabel); + } else { + final String deviceName = MultiDeviceUtils.getDeviceName(context, mPersistentDeviceId); + text = context.getString(R.string.app_permission_header_with_device_name, + mPermGroupLabel, deviceName); + } + ((TextView) root.requireViewById(R.id.permission_message)).setText(text); String caller = getArguments().getString(EXTRA_CALLER_NAME); @@ -258,12 +274,13 @@ public class AppPermissionFragment extends SettingsWithLargeHeader footerInfoText.setVisibility(View.GONE); } + mAllowButtonFrame = root.requireViewById(R.id.allow_radio_button_frame); mAllowButton = root.requireViewById(R.id.allow_radio_button); mAllowAlwaysButton = root.requireViewById(R.id.allow_always_radio_button); mAllowForegroundButton = root.requireViewById(R.id.allow_foreground_only_radio_button); mAskOneTimeButton = root.requireViewById(R.id.ask_one_time_radio_button); mAskButton = root.requireViewById(R.id.ask_radio_button); - mSelectPhotosButton = root.requireViewById(R.id.select_radio_button); + mAllowLimitedButton = root.requireViewById(R.id.allow_limited_radio_button); mDenyButton = root.requireViewById(R.id.deny_radio_button); mDenyForegroundButton = root.requireViewById(R.id.deny_foreground_radio_button); @@ -272,9 +289,9 @@ public class AppPermissionFragment extends SettingsWithLargeHeader mPermissionDetails = root.requireViewById(R.id.permission_details); mLocationAccuracy = root.requireViewById(R.id.location_accuracy); mLocationAccuracySwitch = root.requireViewById(R.id.location_accuracy_switch); - mSelectPhotosLayout = root.requireViewById(R.id.radio_select_layout); - mEditPhotosButton = root.requireViewById(R.id.edit_selected_button); - mEditPhotosDivider = root.requireViewById(R.id.edit_photos_divider); + mAllowLimitedPhotosLayout = root.requireViewById(R.id.radio_allow_limited_layout); + mSelectPhotosButton = root.requireViewById(R.id.select_photos_button); + mSelectPhotosDivider = root.requireViewById(R.id.select_photos_divider); mNestedScrollView = root.requireViewById(R.id.nested_scroll_view); if (mViewModel.getButtonStateLiveData().getValue() != null) { @@ -288,9 +305,9 @@ public class AppPermissionFragment extends SettingsWithLargeHeader mDenyButton.setVisibility(View.GONE); mDenyForegroundButton.setVisibility(View.GONE); mLocationAccuracy.setVisibility(View.GONE); - mSelectPhotosLayout.setVisibility(View.GONE); - mEditPhotosDivider.setAlpha(0f); - mEditPhotosButton.setAlpha(0f); + mAllowLimitedPhotosLayout.setVisibility(View.GONE); + mSelectPhotosDivider.setAlpha(0f); + mSelectPhotosButton.setAlpha(0f); } if (mViewModel.getFullStorageStateLiveData().isInitialized() && mIsStorageGroup) { @@ -389,12 +406,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader } else if (states == null) { return; } - - mAllowButton.setOnClickListener((v) -> { - mViewModel.requestChange(false, this, this, ChangeRequest.GRANT_FOREGROUND, - APP_PERMISSION_FRAGMENT_ACTION_REPORTED__BUTTON_PRESSED__ALLOW); - setResult(GRANTED_ALWAYS); - }); + mAllowButtonFrame.setOnClickListener((v) -> allowButtonFrameClickListener()); mAllowAlwaysButton.setOnClickListener((v) -> { if (mIsStorageGroup) { showConfirmDialog(ChangeRequest.GRANT_ALL_FILE_ACCESS, @@ -423,13 +435,13 @@ public class AppPermissionFragment extends SettingsWithLargeHeader APP_PERMISSION_FRAGMENT_ACTION_REPORTED__BUTTON_PRESSED__ASK_EVERY_TIME); setResult(DENIED); }); - mSelectPhotosButton.setOnClickListener((v) -> { + mAllowLimitedButton.setOnClickListener((v) -> { int buttonPressed = APP_PERMISSION_FRAGMENT_ACTION_REPORTED__BUTTON_PRESSED__PHOTOS_SELECTED; mViewModel.requestChange(false, this, this, ChangeRequest.PHOTOS_SELECTED, buttonPressed); }); - mEditPhotosButton.setOnClickListener((v) -> { + mSelectPhotosButton.setOnClickListener((v) -> { ButtonState selectState = states.get(ButtonType.SELECT_PHOTOS); if (selectState != null && selectState.isChecked() && !mPhotoPickerTriggered) { mPhotoPickerTriggered = true; @@ -473,8 +485,8 @@ public class AppPermissionFragment extends SettingsWithLargeHeader setButtonState(mAskButton, states.get(ButtonType.ASK)); setButtonState(mDenyButton, states.get(ButtonType.DENY)); setButtonState(mDenyForegroundButton, states.get(ButtonType.DENY_FOREGROUND)); - setButtonState(mSelectPhotosButton, states.get(ButtonType.SELECT_PHOTOS)); - if (mSelectPhotosButton.getVisibility() == View.VISIBLE) { + setButtonState(mAllowLimitedButton, states.get(ButtonType.SELECT_PHOTOS)); + if (mAllowLimitedButton.getVisibility() == View.VISIBLE) { mAllowButton.setText(R.string.app_permission_button_always_allow_all); } else { mAllowButton.setText(R.string.app_permission_button_allow); @@ -499,6 +511,17 @@ public class AppPermissionFragment extends SettingsWithLargeHeader } } + private void allowButtonFrameClickListener() { + if (!mAllowButton.isEnabled()) { + mViewModel.handleDisabledAllowButton(this); + } else { + mAllowButton.setChecked(true); + mViewModel.requestChange(false, this, this, ChangeRequest.GRANT_FOREGROUND, + APP_PERMISSION_FRAGMENT_ACTION_REPORTED__BUTTON_PRESSED__ALLOW); + setResult(GRANTED_ALWAYS); + } + } + private void setButtonState(CompoundButton button, AppPermissionViewModel.ButtonState state) { int visible = state.isShown() ? View.VISIBLE : View.GONE; button.setVisibility(visible); @@ -510,18 +533,18 @@ public class AppPermissionFragment extends SettingsWithLargeHeader button.jumpDrawablesToCurrentState(); } - if (button == mSelectPhotosButton) { - mSelectPhotosLayout.setVisibility(visible); + if (button == mAllowLimitedButton) { + mAllowLimitedPhotosLayout.setVisibility(visible); float endOpacity = state.isChecked() ? 1f : 0f; // On initial load, do not show the fade in/out animation if (mIsInitialLoad) { - mEditPhotosDivider.setAlpha(endOpacity); - mEditPhotosButton.setAlpha(endOpacity); + mSelectPhotosDivider.setAlpha(endOpacity); + mSelectPhotosButton.setAlpha(endOpacity); return; } - mEditPhotosButton.animate().alpha(endOpacity) + mSelectPhotosButton.animate().alpha(endOpacity) .setDuration(EDIT_PHOTOS_BUTTON_ANIMATION_LENGTH_MS); - mEditPhotosDivider.animate().alpha(endOpacity) + mSelectPhotosDivider.animate().alpha(endOpacity) .setDuration(EDIT_PHOTOS_BUTTON_ANIMATION_LENGTH_MS); } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionGroupsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionGroupsFragment.java index 4bc14ed24..eff5738fc 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionGroupsFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/AppPermissionGroupsFragment.java @@ -64,6 +64,7 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.modules.utils.build.SdkLevel; +import com.android.permission.flags.Flags; import com.android.permissioncontroller.PermissionControllerStatsLog; import com.android.permissioncontroller.R; import com.android.permissioncontroller.permission.model.livedatatypes.HibernationSettingState; @@ -76,6 +77,7 @@ import com.android.permissioncontroller.permission.ui.model.AppPermissionGroupsV import com.android.permissioncontroller.permission.utils.KotlinUtils; import com.android.permissioncontroller.permission.utils.StringUtils; import com.android.permissioncontroller.permission.utils.Utils; +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils; import com.android.settingslib.HelpUtils; import com.android.settingslib.widget.FooterPreference; @@ -349,7 +351,19 @@ public final class AppPermissionGroupsFragment extends SettingsWithLargeHeader i PermissionControlPreference preference = new PermissionControlPreference(context, mPackageName, groupName, mUser, AppPermissionGroupsFragment.class.getName(), sessionId, grantCategory.getCategoryName(), true); - preference.setTitle(KotlinUtils.INSTANCE.getPermGroupLabel(context, groupName)); + + CharSequence permissionGroupName = KotlinUtils.INSTANCE.getPermGroupLabel(context, + groupName); + if (MultiDeviceUtils.isDefaultDeviceId(groupInfo.getPersistentDeviceId())) { + preference.setTitle(permissionGroupName); + } else { + final String deviceName = MultiDeviceUtils.getDeviceName(context, + groupInfo.getPersistentDeviceId()); + preference.setTitle(context.getString( + R.string.permission_group_name_with_device_name, + permissionGroupName, deviceName)); + preference.setPersistentDeviceId(groupInfo.getPersistentDeviceId()); + } preference.setIcon(KotlinUtils.INSTANCE.getPermGroupIcon(context, groupName)); preference.setKey(groupName); String summary = mViewModel.getPreferenceSummary(groupInfo, context, @@ -431,8 +445,10 @@ public final class AppPermissionGroupsFragment extends SettingsWithLargeHeader i int switchTitleId; if (isHibernationEnabled()) { if (SdkLevel.isAtLeastT()) { - switchTitleId = R.string.unused_apps_label_v2; - autoRevokeSwitch.setSummary(R.string.unused_apps_summary); + switchTitleId = isArchivingEnabled() ? R.string.unused_apps_label_v3 + : R.string.unused_apps_label_v2; + autoRevokeSwitch.setSummary(isArchivingEnabled() ? R.string.unused_apps_summary_v2 + : R.string.unused_apps_summary); } else { switchTitleId = R.string.unused_apps_label; } @@ -456,6 +472,10 @@ public final class AppPermissionGroupsFragment extends SettingsWithLargeHeader i autoRevokeCategory.addPreference(autoRevokeSummary); } + private boolean isArchivingEnabled() { + return SdkLevel.isAtLeastV() && Flags.archivingReadOnly(); + } + private void setAutoRevokeToggleState(HibernationSettingState state) { if (state == null || !mViewModel.getPackagePermGroupsLiveData().isInitialized() || getPreferenceScreen() == null || getListView() == null || getView() == null) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java index 20dc50130..76e52ad94 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java @@ -34,6 +34,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.UserHandle; +import android.os.UserManager; import android.provider.Settings; import android.safetycenter.SafetyCenterManager; import android.util.ArrayMap; @@ -115,6 +116,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem private PermissionUsages mPermissionUsages; private List<AppPermissionUsage> mAppPermissionUsages = new ArrayList<>(); private Boolean mSensorStatus; + private UserManager mUserManager; @Override public void onCreate(Bundle savedInstanceState) { @@ -168,6 +170,8 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem mViewModel.getSensorStatusLiveData().observe(this, this::setSensorStatus); } } + + mUserManager = Utils.getSystemServiceSafe(getContext(), UserManager.class); } @Override @@ -436,6 +440,9 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem } for (Pair<String, UserHandle> packageUserLabel : packages) { + if (!Utils.shouldShowInSettings(packageUserLabel.getSecond(), mUserManager)) { + continue; + } String packageName = packageUserLabel.getFirst(); UserHandle user = packageUserLabel.getSecond(); diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionControlPreference.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionControlPreference.java index 3d47909e8..039aca39d 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionControlPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionControlPreference.java @@ -21,6 +21,7 @@ import static android.health.connect.HealthPermissions.HEALTH_PERMISSION_GROUP; import static com.android.permissioncontroller.Constants.EXTRA_SESSION_ID; import static com.android.permissioncontroller.permission.ui.ManagePermissionsActivity.EXTRA_CALLER_NAME; import static com.android.permissioncontroller.permission.ui.handheld.AppPermissionFragment.GRANT_CATEGORY; +import static com.android.permissioncontroller.permission.ui.handheld.AppPermissionFragment.PERSISTENT_DEVICE_ID; import static com.android.permissioncontroller.permission.utils.KotlinUtilsKt.navigateSafe; import android.Manifest; @@ -69,6 +70,7 @@ public class PermissionControlPreference extends Preference { private @NonNull long mSessionId; private boolean mHasNavGraph; private @NonNull UserHandle mUser; + private @Nullable String mPersistentDeviceId; public PermissionControlPreference(@NonNull Context context, @NonNull AppPermissionGroup group, @NonNull String caller) { @@ -237,6 +239,7 @@ public class PermissionControlPreference extends Preference { args.putString(EXTRA_CALLER_NAME, mCaller); args.putLong(EXTRA_SESSION_ID, mSessionId); args.putString(GRANT_CATEGORY, mGranted); + args.putString(PERSISTENT_DEVICE_ID, mPersistentDeviceId); navigateSafe(Navigation.findNavController(holder.itemView), R.id.perm_groups_to_app, args); } else { @@ -254,6 +257,10 @@ public class PermissionControlPreference extends Preference { }); } + public void setPersistentDeviceId(String persistentDeviceId) { + this.mPersistentDeviceId = persistentDeviceId; + } + private void setIcons(PreferenceViewHolder holder, @Nullable List<Integer> icons, int frameId) { ViewGroup frame = (ViewGroup) holder.findViewById(frameId); if (icons != null && !icons.isEmpty()) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewPermissionsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewPermissionsFragment.java index 36d8cce76..a8e35eefa 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewPermissionsFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/ReviewPermissionsFragment.java @@ -45,6 +45,9 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.lifecycle.ViewModelProvider; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; @@ -150,6 +153,12 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat ViewGroup preferenceRootView = mView.requireViewById(R.id.preferences_frame); View prefsContainer = super.onCreateView(inflater, preferenceRootView, savedInstanceState); preferenceRootView.addView(prefsContainer); + ViewCompat.setOnApplyWindowInsetsListener(mView, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + mView.setPadding(insets.left, insets.top, insets.right, insets.bottom); + return WindowInsetsCompat.CONSUMED; + }); + return mView; } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/CompositeCircleView.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/CompositeCircleView.java index 64346c4aa..5965cfcf5 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/CompositeCircleView.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/CompositeCircleView.java @@ -19,10 +19,13 @@ package com.android.permissioncontroller.permission.ui.handheld.v31; import android.content.Context; import android.util.AttributeSet; import android.widget.FrameLayout; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.android.permissioncontroller.R; + /** * Configured to draw a set of contiguous partial circles via {@link PartialCircleView}, which * are generated from the relative weight of values and corresponding colors given to @@ -73,8 +76,10 @@ public class CompositeCircleView extends FrameLayout { * @param values relative weights, used to size the partial circles * @param colors colors corresponding to relative weights * @param strokeWidth stroke width to apply to all contained partial circles + * @param labels the permission labels to set the ContentDescription with % value */ - public void configure(float startAngle, int[] values, int[] colors, int strokeWidth) { + public void configure(float startAngle, int[] values, int[] colors, int strokeWidth, + TextView[] labels) { removeAllViews(); mValues = values; @@ -121,6 +126,13 @@ public class CompositeCircleView extends FrameLayout { float sweepAngle = (values[i] / total) * allocatedDegrees; pcv.setSweepAngle(sweepAngle); + if (labels[i] != null) { + int percentage = Math.round((values[i] / total) * 100); + String contextDescription = getContext().getString( + R.string.privdash_usage_percent, labels[i].getText(), percentage); + labels[i].setContentDescription(contextDescription); + } + mPartialCircleCenterAngles[i] = (startAngle + (sweepAngle * 0.5f)) % 360; if (i > 0) { float angleDiff = diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageDetailsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageDetailsFragment.java index 5d4343639..621657016 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageDetailsFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageDetailsFragment.java @@ -359,7 +359,7 @@ public class PermissionUsageDetailsFragment extends SettingsWithLargeHeader { category.get().setTitle(R.string.permission_history_category_yesterday); } else { category.get() - .setTitle(DateFormat.getDateFormat(context).format(currentDateMs)); + .setTitle(DateFormat.getLongDateFormat(context).format(currentDateMs)); } previousDateMs = currentDateMs; } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java index e28387f5b..7102fae9a 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java @@ -28,6 +28,7 @@ import android.app.ActionBar; import android.content.Context; import android.os.Build; import android.os.Bundle; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -42,7 +43,9 @@ import androidx.recyclerview.widget.RecyclerView; import com.android.permissioncontroller.R; import com.android.permissioncontroller.permission.ui.handheld.SettingsWithLargeHeader; -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageViewModel; +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModel; +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModelFactory; +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsagesUiState; import com.android.permissioncontroller.permission.utils.KotlinUtils; import com.android.settingslib.HelpUtils; @@ -54,7 +57,7 @@ import java.util.Map; /** The main page for the privacy dashboard. */ @RequiresApi(Build.VERSION_CODES.S) public class PermissionUsageFragment extends SettingsWithLargeHeader { - + private static final String LOG_TAG = PermissionUsageFragment.class.getSimpleName(); private static final Map<String, Integer> PERMISSION_GROUP_ORDER = Map.of( Manifest.permission_group.LOCATION, 0, @@ -62,6 +65,8 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { Manifest.permission_group.MICROPHONE, 2); private static final int DEFAULT_ORDER = 3; + public static final boolean DEBUG = true; + // Pie chart in this screen will be the first child. // Hence we use PERMISSION_GROUP_ORDER + 1 here. private static final int PERMISSION_USAGE_INITIAL_EXPANDED_CHILDREN_COUNT = @@ -93,17 +98,16 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (savedInstanceState != null) { mSessionId = savedInstanceState.getLong(SESSION_ID_KEY); } else { mSessionId = getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID); } - PermissionUsageViewModel.PermissionUsageViewModelFactory factory = - new PermissionUsageViewModel.PermissionUsageViewModelFactory( + PermissionUsageViewModelFactory factory = new PermissionUsageViewModelFactory( getActivity().getApplication(), this, new Bundle()); - mViewModel = new ViewModelProvider(this, factory).get(PermissionUsageViewModel.class); + mViewModel = new ViewModelProvider(this, factory) + .get(PermissionUsageViewModel.class); // Start out with 'other' permissions not expanded. mOtherExpanded = false; @@ -194,11 +198,7 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { menu.add(Menu.NONE, MENU_SHOW_SYSTEM, Menu.NONE, R.string.menu_show_system); mHideSystemMenu = menu.add(Menu.NONE, MENU_HIDE_SYSTEM, Menu.NONE, R.string.menu_hide_system); - boolean showSystem = - mViewModel.getShowSystemAppsLiveData().getValue() != null - ? mViewModel.getShowSystemAppsLiveData().getValue() - : false; - updateShowSystemToggle(showSystem); + updateShowSystemToggle(mViewModel.getShowSystemApps()); if (KotlinUtils.INSTANCE.is7DayToggleEnabled()) { mShow7DaysDataMenu = @@ -213,11 +213,7 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { MENU_SHOW_24_HOURS_DATA, Menu.NONE, R.string.menu_show_24_hours_data); - boolean show7Days = - mViewModel.getShow7DaysLiveData().getValue() != null - ? mViewModel.getShow7DaysLiveData().getValue() - : false; - updateShow7DaysToggle(show7Days); + updateShow7DaysToggle(mViewModel.getShow7DaysData()); } HelpUtils.prepareHelpMenuItem( @@ -236,16 +232,16 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { PERMISSION_USAGE_FRAGMENT_INTERACTION, mSessionId, PERMISSION_USAGE_FRAGMENT_INTERACTION__ACTION__SHOW_SYSTEM_CLICKED); - mViewModel.updateShowSystem(true); + updateAllUI(mViewModel.updateShowSystem(true)); break; case MENU_HIDE_SYSTEM: - mViewModel.updateShowSystem(false); + updateAllUI(mViewModel.updateShowSystem(false)); break; case MENU_SHOW_7_DAYS_DATA: - mViewModel.updateShow7Days(KotlinUtils.INSTANCE.is7DayToggleEnabled()); + updateAllUI(mViewModel.updateShow7Days(KotlinUtils.INSTANCE.is7DayToggleEnabled())); break; case MENU_SHOW_24_HOURS_DATA: - mViewModel.updateShow7Days(false); + updateAllUI(mViewModel.updateShow7Days(false)); break; } return super.onOptionsItemSelected(item); @@ -293,11 +289,14 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { } /** Updates page content and menu items. */ - private void updateAllUI( - PermissionUsageViewModel.PermissionUsagesUiData permissionUsagesUiData) { - if (getActivity() == null) { + private void updateAllUI(PermissionUsagesUiState uiData) { + Log.v(LOG_TAG, "Privacy dashboard data = " + uiData); + if (getActivity() == null || uiData instanceof PermissionUsagesUiState.Loading) { return; } + + PermissionUsagesUiState.Success permissionUsagesUiData = + (PermissionUsagesUiState.Success) uiData; Context context = getActivity(); PreferenceScreen screen = getPreferenceScreen(); @@ -319,40 +318,27 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { mSessionId, PERMISSION_USAGE_FRAGMENT_INTERACTION__ACTION__SEE_OTHER_PERMISSIONS_CLICKED); }); - boolean containsSystemAppUsages = permissionUsagesUiData.getContainsSystemAppUsages(); + boolean containsSystemAppUsages = permissionUsagesUiData.getShouldShowSystemToggle(); Map<String, Integer> permissionGroupWithUsageCounts = - permissionUsagesUiData.getPermissionGroupsWithUsageCount(); + permissionUsagesUiData.getPermissionGroupUsageCount(); List<Map.Entry<String, Integer>> permissionGroupWithUsageCountsEntries = new ArrayList(permissionGroupWithUsageCounts.entrySet()); permissionGroupWithUsageCountsEntries.sort(Comparator.comparing( (Map.Entry<String, Integer> permissionGroupWithUsageCount) -> PERMISSION_GROUP_ORDER.getOrDefault( - permissionGroupWithUsageCount.getKey(), - DEFAULT_ORDER)) - .thenComparing( - (Map.Entry<String, Integer> permissionGroupWithUsageCount) -> - KotlinUtils.INSTANCE - .getPermGroupLabel( - context, - permissionGroupWithUsageCount - .getKey()) - .toString())); + permissionGroupWithUsageCount.getKey(), DEFAULT_ORDER)) + .thenComparing((Map.Entry<String, Integer> permissionGroupWithUsageCount) -> + mViewModel.getPermissionGroupLabel( + context, permissionGroupWithUsageCount.getKey()))); if (mHasSystemApps != containsSystemAppUsages) { mHasSystemApps = containsSystemAppUsages; } - boolean show7Days = - mViewModel.getShow7DaysLiveData().getValue() != null - ? mViewModel.getShow7DaysLiveData().getValue() - : false; + boolean show7Days = mViewModel.getShow7DaysData(); updateShow7DaysToggle(show7Days); - boolean showSystem = - mViewModel.getShowSystemAppsLiveData().getValue() != null - ? mViewModel.getShowSystemAppsLiveData().getValue() - : false; - updateShowSystemToggle(showSystem); + updateShowSystemToggle(mViewModel.getShowSystemApps()); mGraphic = new PermissionUsageGraphicPreference(context, show7Days); screen.addPreference(mGraphic); @@ -381,7 +367,7 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { permissionGroupWithUsageCounts .get(PERMISSION_USAGE_INITIAL_EXPANDED_CHILDREN_COUNT - 1) .getKey(); - return KotlinUtils.INSTANCE.getPermGroupLabel(context, permGroupName); + return mViewModel.getPermissionGroupLabel(context, permGroupName); } String permGroupName1 = @@ -392,10 +378,8 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { permissionGroupWithUsageCounts .get(PERMISSION_USAGE_INITIAL_EXPANDED_CHILDREN_COUNT) .getKey(); - CharSequence permGroupLabel1 = - KotlinUtils.INSTANCE.getPermGroupLabel(context, permGroupName1); - CharSequence permGroupLabel2 = - KotlinUtils.INSTANCE.getPermGroupLabel(context, permGroupName2); + CharSequence permGroupLabel1 = mViewModel.getPermissionGroupLabel(context, permGroupName1); + CharSequence permGroupLabel2 = mViewModel.getPermissionGroupLabel(context, permGroupName2); // case for 2 extra items in the advanced info if (size == PERMISSION_USAGE_INITIAL_EXPANDED_CHILDREN_COUNT + 1) { @@ -421,14 +405,9 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { Context context, List<Map.Entry<String, Integer>> permissionGroupWithUsageCounts, PreferenceCategory category) { - boolean showSystem = - mViewModel.getShowSystemAppsLiveData().getValue() != null - ? mViewModel.getShowSystemAppsLiveData().getValue() - : false; - boolean show7Days = - mViewModel.getShow7DaysLiveData().getValue() != null - ? mViewModel.getShow7DaysLiveData().getValue() - : false; + boolean showSystem = mViewModel.getShowSystemApps(); + boolean show7Days = mViewModel.getShow7DaysData(); + for (int i = 0; i < permissionGroupWithUsageCounts.size(); i++) { Map.Entry<String, Integer> permissionGroupWithUsageCount = permissionGroupWithUsageCounts.get(i); diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageGraphicPreference.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageGraphicPreference.java index d0a98d9e9..39bb4ed2b 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageGraphicPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageGraphicPreference.java @@ -197,7 +197,7 @@ public class PermissionUsageGraphicPreference extends Preference { // Configure circle and labeler. ccvl.configure(R.id.composite_circle_view, centerLabel, labels, labelRadiusScalar); // Start at angle 300 (top right) to allow for small segments for cam, mic, and loc. - ccv.configure(300, counts, colors, circleStrokeWidth); + ccv.configure(300, counts, colors, circleStrokeWidth, labels); } private int getUsageCount(String group) { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/legacy/PermissionUsageDetailsViewModelLegacy.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/legacy/PermissionUsageDetailsViewModelLegacy.kt index 14aff67ba..c782a85f8 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/legacy/PermissionUsageDetailsViewModelLegacy.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/legacy/PermissionUsageDetailsViewModelLegacy.kt @@ -183,9 +183,9 @@ class PermissionUsageDetailsViewModelLegacy( private fun extractAppPermissionTimelineUsagesForGroup( appPermissionUsages: List<AppPermissionUsage>, group: String - ): List<AppPermissionTimelineUsage> = - appPermissionUsages - .filter { !Utils.getExemptedPackages(roleManager).contains(it.packageName) } + ): List<AppPermissionTimelineUsage> { + val exemptedPackages = Utils.getExemptedPackages(roleManager) + return appPermissionUsages.filter { !exemptedPackages.contains(it.packageName) } .map { appPermissionUsage -> getAppPermissionTimelineUsages( appPermissionUsage.app, @@ -193,6 +193,7 @@ class PermissionUsageDetailsViewModelLegacy( ) } .flatten() + } /** Returns whether the show/hide system toggle should be displayed in the UI. */ private fun shouldDisplayShowSystemToggle( diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionGroupsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionGroupsViewModel.kt index 5ecab1527..ee0c5d2f2 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionGroupsViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionGroupsViewModel.kt @@ -46,6 +46,7 @@ import com.android.permissioncontroller.permission.data.PackagePermissionsLiveDa import com.android.permissioncontroller.permission.data.PackagePermissionsLiveData.Companion.NON_RUNTIME_NORMAL_PERMS import com.android.permissioncontroller.permission.data.SmartUpdateMediatorLiveData import com.android.permissioncontroller.permission.data.get +import com.android.permissioncontroller.permission.data.v35.PackagePermissionsExternalDeviceLiveData import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGroupUiInfo.PermGrantState import com.android.permissioncontroller.permission.model.v31.AppPermissionUsage import com.android.permissioncontroller.permission.ui.Category @@ -55,6 +56,7 @@ import com.android.permissioncontroller.permission.utils.PermissionMapping import com.android.permissioncontroller.permission.utils.Utils import com.android.permissioncontroller.permission.utils.Utils.AppPermsLastAccessType import com.android.permissioncontroller.permission.utils.navigateSafe +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils import java.time.Instant import java.util.concurrent.TimeUnit import kotlin.math.max @@ -93,12 +95,29 @@ class AppPermissionGroupsViewModel( data class GroupUiInfo( val groupName: String, val isSystem: Boolean = false, - val subtitle: PermSubtitle + val subtitle: PermSubtitle, + val persistentDeviceId: String, ) { constructor( groupName: String, isSystem: Boolean - ) : this(groupName, isSystem, PermSubtitle.NONE) + ) : this( + groupName, + isSystem, + PermSubtitle.NONE, + MultiDeviceUtils.getDefaultDevicePersistentDeviceId() + ) + + constructor( + groupName: String, + isSystem: Boolean, + subtitle: PermSubtitle, + ) : this( + groupName, + isSystem, + subtitle, + MultiDeviceUtils.getDefaultDevicePersistentDeviceId() + ) } // Auto-revoke and hibernation share the same settings @@ -107,6 +126,8 @@ class AppPermissionGroupsViewModel( private val packagePermsLiveData = PackagePermissionsLiveData[packageName, user] private val appPermGroupUiInfoLiveDatas = mutableMapOf<String, AppPermGroupUiInfoLiveData>() private val fullStoragePermsLiveData = FullStoragePermissionAppsLiveData + private val packagePermsExternalDeviceLiveData = + PackagePermissionsExternalDeviceLiveData[packageName, user] /** * LiveData whose data is a map of grant category (either allowed or denied) to a list of @@ -124,6 +145,7 @@ class AppPermissionGroupsViewModel( removeSource(autoRevokeLiveData) update() } + addSource(packagePermsExternalDeviceLiveData) { update() } update() } @@ -217,6 +239,61 @@ class AppPermissionGroupsViewModel( } } + packagePermsExternalDeviceLiveData.value?.forEach { externalDeviceGrantInfo -> + val groupName = externalDeviceGrantInfo.groupName + val isSystem = + PermissionMapping.getPlatformPermissionGroups().contains(groupName) + val persistentDeviceId = externalDeviceGrantInfo.persistentDeviceId + when (externalDeviceGrantInfo.permGrantState) { + PermGrantState.PERMS_ALLOWED -> { + groupGrantStates[Category.ALLOWED]!!.add( + GroupUiInfo( + groupName, + isSystem, + PermSubtitle.NONE, + persistentDeviceId + ) + ) + } + PermGrantState.PERMS_ALLOWED_ALWAYS -> + groupGrantStates[Category.ALLOWED]!!.add( + GroupUiInfo( + groupName, + isSystem, + PermSubtitle.BACKGROUND, + persistentDeviceId + ) + ) + PermGrantState.PERMS_ALLOWED_FOREGROUND_ONLY -> + groupGrantStates[Category.ALLOWED]!!.add( + GroupUiInfo( + groupName, + isSystem, + PermSubtitle.FOREGROUND_ONLY, + persistentDeviceId + ) + ) + PermGrantState.PERMS_DENIED -> + groupGrantStates[Category.DENIED]!!.add( + GroupUiInfo( + groupName, + isSystem, + PermSubtitle.NONE, + persistentDeviceId + ) + ) + PermGrantState.PERMS_ASK -> + groupGrantStates[Category.ASK]!!.add( + GroupUiInfo( + groupName, + isSystem, + PermSubtitle.NONE, + persistentDeviceId + ) + ) + } + } + value = groupGrantStates } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt index 971542e2b..dd5787508 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt @@ -21,6 +21,8 @@ import android.Manifest import android.Manifest.permission.ACCESS_COARSE_LOCATION import android.Manifest.permission.ACCESS_FINE_LOCATION import android.Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED +import android.Manifest.permission_group.CAMERA +import android.Manifest.permission_group.LOCATION import android.Manifest.permission_group.READ_MEDIA_VISUAL import android.annotation.SuppressLint import android.app.Activity @@ -30,6 +32,9 @@ import android.app.AppOpsManager.MODE_ERRORED import android.app.AppOpsManager.OPSTR_MANAGE_EXTERNAL_STORAGE import android.app.Application import android.content.Intent +import android.hardware.SensorPrivacyManager +import android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener +import android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams import android.os.Build import android.os.Bundle import android.os.UserHandle @@ -55,6 +60,8 @@ import com.android.permissioncontroller.permission.data.LightAppPermGroupLiveDat import com.android.permissioncontroller.permission.data.SmartUpdateMediatorLiveData import com.android.permissioncontroller.permission.data.get import com.android.permissioncontroller.permission.data.v34.SafetyLabelInfoLiveData +import com.android.permissioncontroller.permission.data.v35.PackagePermissionsExternalDeviceLiveData +import com.android.permissioncontroller.permission.model.livedatatypes.AppPermGroupUiInfo import com.android.permissioncontroller.permission.model.livedatatypes.LightAppPermGroup import com.android.permissioncontroller.permission.model.livedatatypes.LightPermission import com.android.permissioncontroller.permission.service.PermissionChangeStorageImpl @@ -82,6 +89,7 @@ import com.android.permissioncontroller.permission.utils.SafetyNetLogger import com.android.permissioncontroller.permission.utils.Utils import com.android.permissioncontroller.permission.utils.navigateSafe import com.android.permissioncontroller.permission.utils.v34.SafetyLabelUtils +import com.android.permissioncontroller.permission.utils.v35.MultiDeviceUtils import com.android.settingslib.RestrictedLockUtils import java.util.Random import kotlin.collections.component1 @@ -96,15 +104,16 @@ import kotlin.collections.component2 * @param permGroupName The name of the permission group this ViewModel represents * @param user The user of the package * @param sessionId A session ID used in logs to identify this particular session + * @param persistentDeviceId The external device identifier */ class AppPermissionViewModel( private val app: Application, private val packageName: String, private val permGroupName: String, private val user: UserHandle, - private val sessionId: Long + private val sessionId: Long, + private val persistentDeviceId: String ) : ViewModel() { - companion object { private val LOG_TAG = AppPermissionViewModel::class.java.simpleName private const val DEVICE_PROFILE_ROLE_PREFIX = "android.app.role" @@ -213,6 +222,83 @@ class AppPermissionViewModel( } } + @get:RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + val sensorStatusLiveData: SensorStatusLiveData? by + lazy(LazyThreadSafetyMode.NONE) { + if (SdkLevel.isAtLeastV()) { + SensorStatusLiveData() + } else { + null + } + } + + /** A LiveData that tracks the status (blocked or available) of a sensor */ + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + inner class SensorStatusLiveData() : SmartUpdateMediatorLiveData<Boolean>() { + val sensorPrivacyManager = app.getSystemService(SensorPrivacyManager::class.java)!! + val sensor = Utils.getSensorCode(permGroupName) + val isLocation = LOCATION.equals(permGroupName) + val isCamera = CAMERA.equals(permGroupName) + + init { + checkAndUpdateStatus() + } + + fun checkAndUpdateStatus() { + var blocked: Boolean + var state: Int + + if (isLocation) { + blocked = !LocationUtils.isLocationEnabled(app.getApplicationContext()) + } else if (isCamera) { + state = + sensorPrivacyManager.getSensorPrivacyState( + SensorPrivacyManager.TOGGLE_TYPE_SOFTWARE, + SensorPrivacyManager.Sensors.CAMERA + ) + blocked = (state != SensorPrivacyManager.StateTypes.DISABLED) + } else { + blocked = sensorPrivacyManager.isSensorPrivacyEnabled(sensor) + } + + value = blocked + } + + override fun onActive() { + super.onActive() + checkAndUpdateStatus() + if (isLocation) { + LocationUtils.addLocationListener(locListener) + } else { + sensorPrivacyManager.addSensorPrivacyListener(sensor, listener) + } + } + + override fun onInactive() { + super.onInactive() + if (isLocation) { + LocationUtils.removeLocationListener(locListener) + } else { + sensorPrivacyManager.removeSensorPrivacyListener(sensor, listener) + } + } + + var listener = + object : OnSensorPrivacyChangedListener { + override fun onSensorPrivacyChanged(params: SensorPrivacyChangedParams) { + value = (params.getState() != SensorPrivacyManager.StateTypes.DISABLED) + } + + @Deprecated("Please use onSensorPrivacyChanged(SensorPrivacyChangedParams)") + override fun onSensorPrivacyChanged(sensor: Int, enabled: Boolean) {} + } + + private val locListener = { status: Boolean -> value = !status } + override fun onUpdate() { + // Do nothing + } + } + /** A livedata which determines which detail string, if any, should be shown */ val fullStorageStateLiveData = object : SmartUpdateMediatorLiveData<FullStoragePackageState>() { @@ -223,6 +309,7 @@ class AppPermissionViewModel( value = null } } + override fun onUpdate() { for (state in FullStoragePermissionAppsLiveData.value ?: return) { if (state.packageName == packageName && state.user == user) { @@ -252,6 +339,8 @@ class AppPermissionViewModel( LightAppPermGroupLiveData[packageName, permGroupName, user] private val mediaStorageSupergroupLiveData = mutableMapOf<String, LightAppPermGroupLiveData>() + private val packagePermissionsExternalDeviceLiveData = + PackagePermissionsExternalDeviceLiveData[packageName, user] init { addSource(appPermGroupLiveData) { appPermGroup -> @@ -287,6 +376,8 @@ class AppPermissionViewModel( } addSource(showPermissionRationaleLiveData) { update() } + + addSource(packagePermissionsExternalDeviceLiveData) { update() } } private fun onMediaPermGroupUpdate( @@ -302,8 +393,55 @@ class AppPermissionViewModel( } } + // TODO: b/328839130 (Merge this with default device implementation) + private fun getButtonStatesForExternalDevicePermission(): Map<ButtonType, ButtonState> { + val allowedForegroundState = ButtonState() + allowedForegroundState.isShown = true + + val askState = ButtonState() + askState.isShown = true + + val deniedState = ButtonState() + deniedState.isShown = true + + packagePermissionsExternalDeviceLiveData.value!! + .filter { + it.groupName == permGroupName && it.persistentDeviceId == persistentDeviceId + } + .map { it.permGrantState } + .forEach { + when (it) { + AppPermGroupUiInfo.PermGrantState.PERMS_ALLOWED_FOREGROUND_ONLY -> + allowedForegroundState.isChecked = true + AppPermGroupUiInfo.PermGrantState.PERMS_ASK -> askState.isChecked = true + AppPermGroupUiInfo.PermGrantState.PERMS_DENIED -> + deniedState.isChecked = true + else -> { + Log.e(LOG_TAG, "Unsupported PermGrantState=$it") + } + } + } + return mapOf( + ALLOW to ButtonState(), + ALLOW_ALWAYS to ButtonState(), + ALLOW_FOREGROUND to allowedForegroundState, + ASK_ONCE to ButtonState(), + ASK to askState, + DENY to deniedState, + DENY_FOREGROUND to ButtonState(), + LOCATION_ACCURACY to ButtonState(), + SELECT_PHOTOS to ButtonState() + ) + } + override fun onUpdate() { + if (!MultiDeviceUtils.isDefaultDeviceId(persistentDeviceId)) { + value = getButtonStatesForExternalDevicePermission() + return + } + val group = appPermGroupLiveData.value ?: return + for (mediaGroupLiveData in mediaStorageSupergroupLiveData.values) { if (!mediaGroupLiveData.isInitialized) { return @@ -417,7 +555,16 @@ class AppPermissionViewModel( askOneTimeState.isChecked = group.foreground.isGranted && group.isOneTime askOneTimeState.isShown = askOneTimeState.isChecked deniedState.isChecked = !group.foreground.isGranted && !group.isOneTime - + if ( + Utils.getApplicationEnhancedConfirmationRestrictedIntentAsUser( + user, + app, + packageName, + permGroupName + ) != null + ) { + allowedState.isEnabled = false + } if (group.foreground.isPolicyFixed || group.foreground.isSystemFixed) { allowedState.isEnabled = false askState.isEnabled = false @@ -501,6 +648,24 @@ class AppPermissionViewModel( } } + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.VANILLA_ICE_CREAM, codename = "VanillaIceCream") + fun handleDisabledAllowButton(fragment: Fragment) { + if ( + lightAppPermGroup!!.foreground.isSystemFixed || + lightAppPermGroup!!.foreground.isPolicyFixed + ) + return + val restrictionIntent = + Utils.getApplicationEnhancedConfirmationRestrictedIntentAsUser( + user, + app, + packageName, + permGroupName + ) + ?: return + fragment.startActivity(restrictionIntent) + } + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE, codename = "UpsideDownCake") private fun shouldShowPhotoPickerPromptForApp(group: LightAppPermGroup): Boolean { if ( @@ -706,6 +871,11 @@ class AppPermissionViewModel( val wasForegroundGranted = group.foreground.isGranted val wasBackgroundGranted = group.background.isGranted + if (!MultiDeviceUtils.isDefaultDeviceId(persistentDeviceId)) { + handleChangeForExternalDevice(group.permissions.keys, changeRequest, setOneTime) + return + } + if (LocationUtils.isLocationGroupAndProvider(context, permGroupName, packageName)) { val packageLabel = KotlinUtils.getPackageLabel(app, packageName, user) LocationUtils.showLocationDialog(context, packageLabel) @@ -927,6 +1097,42 @@ class AppPermissionViewModel( } } + /** + * Handles the permission change for external devices. The original method that handles + * permission change for the default device makes use of LightAppPermGroup. This data class is + * not available for external devices, hence this implementation makes use of persistentDeviceId + * specific methods. + * + * TODO: b/328839130 + */ + private fun handleChangeForExternalDevice( + permissions: Set<String>, + changeRequest: ChangeRequest, + setOneTime: Boolean + ) { + when (changeRequest) { + ChangeRequest.GRANT_FOREGROUND_ONLY -> + MultiDeviceUtils.grantRuntimePermissionsWithPersistentDeviceId( + app, + persistentDeviceId, + packageName, + permissions, + true + ) + ChangeRequest.REVOKE_BOTH -> + MultiDeviceUtils.revokeRuntimePermissionsWithPersistentDeviceId( + app, + persistentDeviceId, + packageName, + permissions, + !setOneTime, + setOneTime + ) + else -> Log.e(LOG_TAG, "Unsupported changeRequest=$changeRequest") + } + PackagePermissionsExternalDeviceLiveData[packageName, user].update() + } + private fun shouldClearOneTimeRevokedCompat(group: LightAppPermGroup): Boolean { return isPhotoPickerPromptEnabled() && permGroupName == READ_MEDIA_VISUAL && @@ -1315,16 +1521,41 @@ class AppPermissionViewModel( * @param permGroupName The name of the permission group this ViewModel represents * @param user The user of the package * @param sessionId A session ID used in logs to identify this particular session + * @param persistentDeviceId Indicates the device in the context of virtual devices */ class AppPermissionViewModelFactory( private val app: Application, private val packageName: String, private val permGroupName: String, private val user: UserHandle, - private val sessionId: Long + private val sessionId: Long, + private val persistentDeviceId: String ) : ViewModelProvider.Factory { + constructor( + app: Application, + packageName: String, + permGroupName: String, + user: UserHandle, + sessionId: Long + ) : this( + app, + packageName, + permGroupName, + user, + sessionId, + MultiDeviceUtils.getDefaultDevicePersistentDeviceId() + ) + override fun <T : ViewModel> create(modelClass: Class<T>): T { @Suppress("UNCHECKED_CAST") - return AppPermissionViewModel(app, packageName, permGroupName, user, sessionId) as T + return AppPermissionViewModel( + app, + packageName, + permGroupName, + user, + sessionId, + persistentDeviceId + ) + as T } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt index 91b94da9a..b5df6f410 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt @@ -68,6 +68,7 @@ import com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_ import com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_GRANTED_ONE_TIME import com.android.permissioncontroller.PermissionControllerStatsLog.PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__USER_IGNORED import com.android.permissioncontroller.auto.DrivingDecisionReminderService +import com.android.permissioncontroller.ecm.EnhancedConfirmationStatsLogUtils import com.android.permissioncontroller.permission.data.LightAppPermGroupLiveData import com.android.permissioncontroller.permission.data.LightPackageInfoLiveData import com.android.permissioncontroller.permission.data.PackagePermissionsLiveData @@ -158,8 +159,19 @@ class GrantPermissionsViewModel( private var autoGrantNotifier: AutoGrantPermissionsNotifier? = null - private fun getAutoGrantNotifier(): AutoGrantPermissionsNotifier { - autoGrantNotifier = AutoGrantPermissionsNotifier(app, packageInfo.toPackageInfo(app)!!) + private fun getAutoGrantNotifier(): AutoGrantPermissionsNotifier? { + var fullPackageInfo = packageInfo.toPackageInfo(app) + if (fullPackageInfo == null) { + // try twice + fullPackageInfo = packageInfo.toPackageInfo(app) + } + if (fullPackageInfo == null) { + // We've tried to get our package info twice, and failed twice. Close the grant dialog, + // because the app is not accessible. + requestInfosLiveData.value = null + return null + } + autoGrantNotifier = AutoGrantPermissionsNotifier(app, fullPackageInfo) return autoGrantNotifier!! } @@ -632,7 +644,7 @@ class GrantPermissionsViewModel( filterPermissions = listOf(perm) ) state = STATE_GRANTED - getAutoGrantNotifier().onPermissionAutoGranted(perm) + getAutoGrantNotifier()?.onPermissionAutoGranted(perm) reportRequestResult( perm, PERMISSION_GRANT_REQUEST_RESULT_REPORTED__RESULT__AUTO_GRANTED @@ -1002,6 +1014,12 @@ class GrantPermissionsViewModel( safetyLabelInfoLiveData?.value?.safetyLabel, PermissionMapping.getGroupOfPlatformPermission(permission) ) + val isPackageRestrictedByEnhancedConfirmation = + EnhancedConfirmationStatsLogUtils.isPackageEcmRestricted( + app, + packageName, + packageInfo.uid + ) Log.i( LOG_TAG, @@ -1010,7 +1028,9 @@ class GrantPermissionsViewModel( "callingPackage=$packageName " + "permission=$permission " + "isImplicit=$isImplicit result=$result " + - "isPermissionRationaleShown=$isPermissionRationaleShown" + "isPermissionRationaleShown=$isPermissionRationaleShown" + + "isPackageRestrictedByEnhancedConfirmation=" + + "$isPackageRestrictedByEnhancedConfirmation" ) PermissionControllerStatsLog.write( @@ -1021,7 +1041,8 @@ class GrantPermissionsViewModel( permission, isImplicit, result, - isPermissionRationaleShown + isPermissionRationaleShown, + isPackageRestrictedByEnhancedConfirmation ) } @@ -1371,6 +1392,7 @@ class GrantPermissionsViewModel( companion object { const val APP_PERMISSION_REQUEST_CODE = 1 const val PHOTO_PICKER_REQUEST_CODE = 2 + const val ECM_REQUEST_CODE = 3 const val SAVED_REQUEST_CODE_KEY = "saved_request_code" private const val STATE_UNKNOWN = 0 private const val STATE_GRANTED = 1 @@ -1386,7 +1408,7 @@ class GrantPermissionsViewModel( * @param app The current application * @param packageName The name of the package this ViewModel represents */ -class NewGrantPermissionsViewModelFactory( +class GrantPermissionsViewModelFactory( private val app: Application, private val packageName: String, private val deviceId: Int, diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt index 826e57ece..0d532e026 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageDetailsViewModel.kt @@ -32,6 +32,7 @@ import android.graphics.drawable.Drawable import android.os.Build import android.os.Bundle import android.os.UserHandle +import android.os.UserManager import androidx.annotation.RequiresApi import androidx.lifecycle.AbstractSavedStateViewModelFactory import androidx.lifecycle.SavedStateHandle @@ -85,6 +86,8 @@ class PermissionUsageDetailsViewModel( private val roleManager = Utils.getSystemServiceSafe(application.applicationContext, RoleManager::class.java) + private val userManager = + Utils.getSystemServiceSafe(application.applicationContext, UserManager::class.java) /** Updates whether system app permissions usage should be displayed in the UI. */ fun updateShowSystemAppsToggle(showSystem: Boolean) { @@ -191,6 +194,7 @@ class PermissionUsageDetailsViewModel( ): List<AppPermissionAccessUiInfo> { return allLightHistoricalPackageOpsLiveData .getLightHistoricalPackageOps() + ?.filter { Utils.shouldShowInSettings(it.userHandle, userManager) } ?.flatMap { it.clusterAccesses(startTime, showSystem) } ?.sortedBy { -1 * it.discreteAccesses.first().accessTimeMs } ?.map { it.buildAppPermissionAccessUiInfo() } @@ -262,9 +266,8 @@ class PermissionUsageDetailsViewModel( private fun List<AppPermissionDiscreteAccessesWithLabel>.filterOutExemptAppPermissions( showSystem: Boolean ): List<AppPermissionDiscreteAccessesWithLabel> { - return this.filter { - !Utils.getExemptedPackages(roleManager).contains(it.appPermissionId.packageName) - } + val exemptedPackages = Utils.getExemptedPackages(roleManager) + return filter { !exemptedPackages.contains(it.appPermissionId.packageName) } .filter { it.appPermissionId.permissionGroup == permissionGroup } .filter { isPermissionRequestedByApp(it.appPermissionId) } .filter { showSystem || !isAppPermissionSystem(it.appPermissionId) } @@ -488,7 +491,8 @@ class PermissionUsageDetailsViewModel( ?.let { getPackageLabel( it.proxy!!.packageName!!, - UserHandle.getUserHandleForUid(it.proxy.uid)) + UserHandle.getUserHandleForUid(it.proxy.uid) + ) } /** Returns the attribution label for the permission access, if any. */ diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageViewModel.kt deleted file mode 100644 index fa5b1b685..000000000 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/PermissionUsageViewModel.kt +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright (C) 2022 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.permissioncontroller.permission.ui.model.v31 - -import android.Manifest -import android.app.Application -import android.app.role.RoleManager -import android.os.Build -import android.os.Bundle -import android.os.UserHandle -import androidx.annotation.RequiresApi -import androidx.lifecycle.AbstractSavedStateViewModelFactory -import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.SavedStateHandle -import androidx.lifecycle.ViewModel -import androidx.savedstate.SavedStateRegistryOwner -import com.android.permissioncontroller.permission.data.AppPermGroupUiInfoLiveData -import com.android.permissioncontroller.permission.data.LightPackageInfoLiveData -import com.android.permissioncontroller.permission.data.SmartUpdateMediatorLiveData -import com.android.permissioncontroller.permission.data.StandardPermGroupNamesLiveData -import com.android.permissioncontroller.permission.data.get -import com.android.permissioncontroller.permission.data.v31.AllLightPackageOpsLiveData -import com.android.permissioncontroller.permission.model.livedatatypes.v31.AppPermissionId -import com.android.permissioncontroller.permission.model.livedatatypes.v31.LightPackageOps -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageDetailsViewModel.Companion.SHOULD_SHOW_SYSTEM_KEY -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageViewModel.Companion.SHOULD_SHOW_7_DAYS_KEY -import com.android.permissioncontroller.permission.utils.KotlinUtils -import com.android.permissioncontroller.permission.utils.PermissionMapping -import com.android.permissioncontroller.permission.utils.Utils -import java.time.Instant -import java.util.concurrent.TimeUnit -import kotlin.math.max - -/** - * [ViewModel] for handheld Permissions Usage UI. - * - * Note that this class replaces [PermissionUsageViewModelLegacy] to rely on [LiveData] instead of - * [PermissionUsages] loader. - */ -class PermissionUsageViewModel( - private val state: SavedStateHandle, - app: Application, -) : AndroidViewModel(app) { - private val roleManager = - Utils.getSystemServiceSafe(app.applicationContext, RoleManager::class.java) - private val exemptedPackages: Set<String> = Utils.getExemptedPackages(roleManager) - - private val mAllLightPackageOpsLiveData = AllLightPackageOpsLiveData(app) - private val appPermGroupUiInfoLiveDataList = - mutableMapOf<AppPermissionId, AppPermGroupUiInfoLiveData>() - private val lightPackageInfoLiveDataMap = - mutableMapOf<Pair<String, UserHandle>, LightPackageInfoLiveData>() - private val standardPermGroupNamesLiveData = StandardPermGroupNamesLiveData - - val showSystemAppsLiveData = state.getLiveData(SHOULD_SHOW_SYSTEM_KEY, false) - val show7DaysLiveData = state.getLiveData(SHOULD_SHOW_7_DAYS_KEY, false) - - /** Updates whether system app permissions usage should be displayed in the UI. */ - fun updateShowSystem(showSystem: Boolean) { - if (showSystem != state[SHOULD_SHOW_SYSTEM_KEY]) { - state[SHOULD_SHOW_SYSTEM_KEY] = showSystem - } - } - - /** Updates whether 7 days usage or 1 day usage should be displayed in the UI. */ - fun updateShow7Days(show7Days: Boolean) { - if (show7Days != state[SHOULD_SHOW_7_DAYS_KEY]) { - state[SHOULD_SHOW_7_DAYS_KEY] = show7Days - } - } - - /** Builds a [PermissionUsagesUiData] containing all the data necessary to render the UI. */ - private fun buildPermissionUsagesUiData(): PermissionUsagesUiData { - val curTime = System.currentTimeMillis() - val showSystem: Boolean = state[SHOULD_SHOW_SYSTEM_KEY] ?: false - val show7Days: Boolean = state[SHOULD_SHOW_7_DAYS_KEY] ?: false - val showPermissionUsagesDuration = - if (KotlinUtils.is7DayToggleEnabled() && show7Days) { - TIME_7_DAYS_DURATION - } else { - TIME_24_HOURS_DURATION - } - val startTime = max(curTime - showPermissionUsagesDuration, Instant.EPOCH.toEpochMilli()) - return PermissionUsagesUiData( - showSystem, - show7Days, - mAllLightPackageOpsLiveData.containsSystemAppUsages(startTime), - mAllLightPackageOpsLiveData.buildPermissionGroupsWithUsageCounts(startTime, showSystem) - ) - } - - /** Builds a map of permission groups to the number of apps that recently accessed them. */ - private fun AllLightPackageOpsLiveData.buildPermissionGroupsWithUsageCounts( - startTime: Long, - showSystem: Boolean, - ): Map<String, Int> { - val permissionUsageCountMap: MutableMap<String, Int> = HashMap() - for (permissionGroup: String in getAllEligiblePermissionGroups()) { - permissionUsageCountMap[permissionGroup] = 0 - } - - val eligibleLightPackageOpsList: List<LightPackageOps> = - getAllLightPackageOps()?.filterOutExemptedApps() ?: listOf() - - for (lightPackageOps: LightPackageOps in eligibleLightPackageOpsList) { - val permGroupsToLastAccess: List<Map.Entry<String, Long>> = - lightPackageOps.lastPermissionGroupAccessTimesMs.entries - .filterOutExemptedPermissionGroupsFromKeys() - .filterOutPermissionsNotRequestedByApp( - lightPackageOps.packageName, - lightPackageOps.userHandle - ) - .filterOutSystemAppPermissionsIfNecessary( - showSystem, - lightPackageOps.packageName, - lightPackageOps.userHandle - ) - .filterAccessTimeLaterThan(startTime) - val recentlyUsedPermissions: List<String> = permGroupsToLastAccess.map { it.key } - - for (permissionGroup: String in recentlyUsedPermissions) { - permissionUsageCountMap[permissionGroup] = - permissionUsageCountMap.getOrDefault(permissionGroup, 0) + 1 - } - } - return permissionUsageCountMap - } - - /** - * Determines whether there are any system app permissions with recent usage, in which case the - * "show/hide system" toggle should be displayed in the UI. - */ - private fun AllLightPackageOpsLiveData.containsSystemAppUsages(startTime: Long): Boolean { - val eligibleLightPackageOpsList: List<LightPackageOps> = - getAllLightPackageOps()?.filterOutExemptedApps() ?: listOf() - - for (lightPackageOps: LightPackageOps in eligibleLightPackageOpsList) { - val recentlyUsedPermissions: Set<String> = - lightPackageOps.lastPermissionGroupAccessTimesMs.entries - .filterAccessTimeLaterThan(startTime) - .map { it.key } - .toSet() - if ( - recentlyUsedPermissions - .filterOutExemptedPermissionGroups() - .containsSystemAppPermission( - lightPackageOps.packageName, - lightPackageOps.userHandle - ) - ) { - return true - } - } - - return false - } - - /** Returns all permission groups eligible for display in the UI. */ - private fun getAllEligiblePermissionGroups(): Set<String> = - standardPermGroupNamesLiveData.value?.filterOutExemptedPermissionGroups()?.toSet() - ?: setOf() - - private fun isPermissionRequestedByApp(appPermissionId: AppPermissionId): Boolean { - val appRequestedPermissions = - lightPackageInfoLiveDataMap[ - Pair(appPermissionId.packageName, appPermissionId.userHandle)] - ?.value - ?.requestedPermissions - ?: listOf() - return appRequestedPermissions.any { - PermissionMapping.getGroupOfPlatformPermission(it) == appPermissionId.permissionGroup - } - } - - private fun isAppPermissionSystem(appPermissionId: AppPermissionId): Boolean { - val appPermGroupUiInfo = appPermGroupUiInfoLiveDataList[appPermissionId]?.value - - if (appPermGroupUiInfo != null) { - return appPermGroupUiInfo.isSystem - } else - // The AppPermGroupUiInfo may be null if it has either not loaded yet or if the app has not - // requested any permissions from the permission group in question. - // The Telecom doesn't request microphone or camera permissions. However, telecom app may - // use these permissions and they are considered system app permissions, so we return true - // even if the AppPermGroupUiInfo is unavailable. - if ( - appPermissionId.packageName == TELECOM_PACKAGE && - (appPermissionId.permissionGroup == Manifest.permission_group.CAMERA || - appPermissionId.permissionGroup == Manifest.permission_group.MICROPHONE) - ) { - return true - } - return false - } - - private fun AllLightPackageOpsLiveData.getAllLightPackageOps() = value?.values - - /** - * Filters out accesses earlier than the provided start time from a map of permission last - * accesses. - */ - private fun Collection<Map.Entry<String, Long>>.filterAccessTimeLaterThan(startTime: Long) = - filter { - it.value > startTime - } - - /** Filters out app permissions when the permission has not been requested by the app. */ - private fun Collection<Map.Entry<String, Long>>.filterOutPermissionsNotRequestedByApp( - packageName: String, - userHandle: UserHandle - ) = filter { isPermissionRequestedByApp(AppPermissionId(packageName, userHandle, it.key)) } - - /** - * Filters out system app permissions from a map of permission last accesses, if showSystem is - * false. - */ - private fun Collection<Map.Entry<String, Long>>.filterOutSystemAppPermissionsIfNecessary( - showSystem: Boolean, - packageName: String, - userHandle: UserHandle - ) = filter { - showSystem || !isAppPermissionSystem(AppPermissionId(packageName, userHandle, it.key)) - } - - /** - * Filters out permission groups that are exempt from permission usage tracking from a map of - * permission last accesses. - */ - private fun Collection<Map.Entry<String, Long>>.filterOutExemptedPermissionGroupsFromKeys() = - filter { - !EXEMPTED_PERMISSION_GROUPS.contains(it.key) - } - - /** - * Filters out permission groups that are exempt from permission usage tracking from a map of - * permission last accesses. - */ - private fun Collection<String>.filterOutExemptedPermissionGroups() = filter { - !EXEMPTED_PERMISSION_GROUPS.contains(it) - } - - /** Filters out [LightPackageOps] for apps that are exempt from permission usage tracking. */ - private fun Collection<LightPackageOps>.filterOutExemptedApps() = filter { - !exemptedPackages.contains(it.packageName) - } - - /** - * Returns from a list of permissions whether any permission along with the provided package - * name and user handle are considered a system app permission. - */ - private fun Collection<String>.containsSystemAppPermission( - packageName: String, - userHandle: UserHandle - ) = any { isAppPermissionSystem(AppPermissionId(packageName, userHandle, it)) } - - /** Data class to hold all the information required to configure the UI. */ - data class PermissionUsagesUiData( - /** - * Whether to show data over the last 7 days. - * - * While this information is available from the [SHOULD_SHOW_7_DAYS_KEY] state, we include - * it in the UI info so that it triggers a UI update when changed. - */ - private val show7DaysUsage: Boolean, - /** - * Whether to show system apps' data. - * - * While this information is available from the [SHOULD_SHOW_SYSTEM_KEY] state, we include - * it in the UI info so that it triggers a UI update when changed. - */ - private val showSystem: Boolean, - /** Whether to show the "show/hide system" toggle. */ - val containsSystemAppUsages: Boolean, - /** Map instances for display in UI */ - val permissionGroupsWithUsageCount: Map<String, Int>, - ) - - /** LiveData object for [PermissionUsagesUiData]. */ - val permissionUsagesUiLiveData = - object : SmartUpdateMediatorLiveData<@JvmSuppressWildcards PermissionUsagesUiData>() { - private val getAppPermGroupUiInfoLiveData = { appPermissionId: AppPermissionId -> - AppPermGroupUiInfoLiveData[ - Triple( - appPermissionId.packageName, - appPermissionId.permissionGroup, - appPermissionId.userHandle, - )] - } - private val getLightPackageInfoLiveData = { packageUser: Pair<String, UserHandle> -> - LightPackageInfoLiveData[packageUser] - } - - init { - addSource(mAllLightPackageOpsLiveData) { update() } - addSource(showSystemAppsLiveData) { update() } - addSource(show7DaysLiveData) { update() } - addSource(standardPermGroupNamesLiveData) { update() } - } - - override fun onUpdate() { - if (mAllLightPackageOpsLiveData.isStale) { - return - } - if ( - appPermGroupUiInfoLiveDataList.any { - !it.value.isInitialized || it.value.isStale - } - ) { - return - } - if ( - lightPackageInfoLiveDataMap.any { !it.value.isInitialized || it.value.isStale } - ) { - return - } - - val packageOps: Map<Pair<String, UserHandle>, LightPackageOps> = - mAllLightPackageOpsLiveData.value ?: emptyMap() - val appPermissionIds = mutableListOf<AppPermissionId>() - val allPackages = packageOps.keys - - packageOps.forEach { (packageWithUserHandle, pkgOps) -> - pkgOps.lastPermissionGroupAccessTimesMs.keys.forEach { permissionGroup -> - appPermissionIds.add( - AppPermissionId( - packageWithUserHandle.first, - packageWithUserHandle.second, - permissionGroup, - ) - ) - } - } - - setSourcesToDifference( - appPermissionIds, - appPermGroupUiInfoLiveDataList, - getAppPermGroupUiInfoLiveData - ) { - update() - } - - setSourcesToDifference( - allPackages, - lightPackageInfoLiveDataMap, - getLightPackageInfoLiveData - ) { - update() - } - - if (lightPackageInfoLiveDataMap.any { it.value.isStale }) { - return - } - - if (appPermGroupUiInfoLiveDataList.any { it.value.isStale }) { - return - } - - val uiData = buildPermissionUsagesUiData() - // We include this check as we don't want UX updates unless the data to be displayed - // has changed. SmartUpdateMediatorLiveData sends updates if the data has changed OR - // if the data has changed from stale to fresh. - if (value != uiData) { - value = uiData - } - } - } - - /** Companion class for [PermissionUsageViewModel]. */ - companion object { - private val TIME_7_DAYS_DURATION = TimeUnit.DAYS.toMillis(7) - private val TIME_24_HOURS_DURATION = TimeUnit.DAYS.toMillis(1) - internal const val SHOULD_SHOW_SYSTEM_KEY = "showSystem" - internal const val SHOULD_SHOW_7_DAYS_KEY = "show7Days" - private const val TELECOM_PACKAGE = "com.android.server.telecom" - - /** Permission groups that should be hidden from the permissions usage UI. */ - private val EXEMPTED_PERMISSION_GROUPS = setOf(Manifest.permission_group.NOTIFICATIONS) - } - - /** Factory for [PermissionUsageViewModel]. */ - @RequiresApi(Build.VERSION_CODES.S) - class PermissionUsageViewModelFactory( - val app: Application, - owner: SavedStateRegistryOwner, - defaultArgs: Bundle - ) : AbstractSavedStateViewModelFactory(owner, defaultArgs) { - override fun <T : ViewModel> create( - key: String, - modelClass: Class<T>, - handle: SavedStateHandle - ): T { - @Suppress("UNCHECKED_CAST") return PermissionUsageViewModel(handle, app) as T - } - } -} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt new file mode 100644 index 000000000..2741a3cd8 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.permission.ui.viewmodel.v31 + +import android.app.Application +import android.content.Context +import android.os.Build +import android.os.Bundle +import androidx.annotation.RequiresApi +import androidx.annotation.VisibleForTesting +import androidx.lifecycle.AbstractSavedStateViewModelFactory +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.SavedStateHandle +import androidx.lifecycle.ViewModel +import androidx.lifecycle.asLiveData +import androidx.lifecycle.viewModelScope +import androidx.savedstate.SavedStateRegistryOwner +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.permission.domain.model.v31.PermissionGroupUsageModel +import com.android.permissioncontroller.permission.domain.usecase.v31.GetPermissionGroupUsageUseCase +import com.android.permissioncontroller.permission.utils.KotlinUtils +import java.time.Instant +import java.util.concurrent.TimeUnit +import kotlin.concurrent.Volatile +import kotlin.math.max +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.runBlocking + +/** Privacy dashboard's new implementation. */ +class PermissionUsageViewModel( + val app: Application, + private val permissionRepository: PermissionRepository, + private val getPermissionUsageUseCase: GetPermissionGroupUsageUseCase, + scope: CoroutineScope? = null, + private val defaultDispatcher: CoroutineDispatcher = Dispatchers.Default, + // Inject the parameter to prevent READ_DEVICE_CONFIG permission error on T- platforms. + private val is7DayToggleEnabled: Boolean = KotlinUtils.is7DayToggleEnabled(), +) : AndroidViewModel(app) { + private var showSystemApps = false + private var show7DaysData = false + private val coroutineScope = scope ?: viewModelScope + + // Cache permission usages to calculate ui state for "show system" and "show 7 days" toggle. + @Volatile private var permissionGroupUsages = emptyList<PermissionGroupUsageModel>() + + private val permissionUsagesUiStateFlow: StateFlow<PermissionUsagesUiState> by lazy { + getPermissionUsageUseCase() + .map { permGroupUsages -> + permissionGroupUsages = permGroupUsages + buildPermissionUsagesUiState(permGroupUsages) + } + .flowOn(defaultDispatcher) + .stateIn( + coroutineScope, + SharingStarted.WhileSubscribed(5000), + PermissionUsagesUiState.Loading + ) + } + + val permissionUsagesUiLiveData = + permissionUsagesUiStateFlow.asLiveData(context = coroutineScope.coroutineContext) + + @VisibleForTesting + fun getPermissionUsagesUiDataFlow(): Flow<PermissionUsagesUiState> { + return permissionUsagesUiStateFlow + } + + /** Get start time based on whether to show 24 hours or 7 days data. */ + private fun getStartTime(show7DaysData: Boolean): Long { + val curTime = System.currentTimeMillis() + val showPermissionUsagesDuration = + if (is7DayToggleEnabled && show7DaysData) { + TIME_7_DAYS_DURATION + } else { + TIME_24_HOURS_DURATION + } + return max(curTime - showPermissionUsagesDuration, Instant.EPOCH.toEpochMilli()) + } + + /** Builds a [PermissionUsagesUiState] containing all data necessary to render the UI. */ + private fun buildPermissionUsagesUiState( + permissionGroupOps: List<PermissionGroupUsageModel> + ): PermissionUsagesUiState { + val startTime = getStartTime(show7DaysData) + val dashboardPermissionGroups = + permissionRepository.getPermissionGroupsForPrivacyDashboard() + val permissionUsageCountMap = HashMap<String, Int>(dashboardPermissionGroups.size) + for (permissionGroup in dashboardPermissionGroups) { + permissionUsageCountMap[permissionGroup] = 0 + } + + val permGroupOps = permissionGroupOps.filter { it.lastAccessTimestampMillis > startTime } + permGroupOps + .filter { showSystemApps || it.isUserSensitive } + .forEach { + permissionUsageCountMap[it.permissionGroup] = + permissionUsageCountMap.getOrDefault(it.permissionGroup, 0) + 1 + } + return PermissionUsagesUiState.Success( + permGroupOps.any { !it.isUserSensitive }, + permissionUsageCountMap + ) + } + + fun getShowSystemApps(): Boolean { + return showSystemApps + } + + fun getShow7DaysData(): Boolean { + return show7DaysData + } + + fun updateShowSystem(showSystem: Boolean): PermissionUsagesUiState { + showSystemApps = showSystem + return buildPermissionUsagesUiState(permissionGroupUsages) + } + + fun updateShow7Days(show7Days: Boolean): PermissionUsagesUiState { + show7DaysData = show7Days + return buildPermissionUsagesUiState(permissionGroupUsages) + } + + private val permissionGroupLabels = mutableMapOf<String, String>() + + fun getPermissionGroupLabel(context: Context, permissionGroup: String): String { + return runBlocking(coroutineScope.coroutineContext + Dispatchers.Default) { + permissionGroupLabels.getOrDefault( + permissionGroup, + permissionRepository.getPermissionGroupLabel(context, permissionGroup).toString() + ) + } + } + + /** Companion class for [PermissionUsageViewModel]. */ + companion object { + private val TIME_7_DAYS_DURATION = TimeUnit.DAYS.toMillis(7) + private val TIME_24_HOURS_DURATION = TimeUnit.DAYS.toMillis(1) + } +} + +/** Data class to hold all the information required to configure the UI. */ +sealed class PermissionUsagesUiState { + data object Loading : PermissionUsagesUiState() + data class Success( + val shouldShowSystemToggle: Boolean, + val permissionGroupUsageCount: Map<String, Int> + ) : PermissionUsagesUiState() +} + +/** Factory for [PermissionUsageViewModel]. */ +@RequiresApi(Build.VERSION_CODES.S) +class PermissionUsageViewModelFactory( + private val app: Application, + owner: SavedStateRegistryOwner, + defaultArgs: Bundle +) : AbstractSavedStateViewModelFactory(owner, defaultArgs) { + @Suppress("UNCHECKED_CAST") + override fun <T : ViewModel> create( + key: String, + modelClass: Class<T>, + handle: SavedStateHandle + ): T { + val permissionRepository = PermissionRepository.getInstance(app) + val permissionUsageUseCase = GetPermissionGroupUsageUseCase.create(app) + return PermissionUsageViewModel(app, permissionRepository, permissionUsageUseCase) as T + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/GrantPermissionsWearViewHandler.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/GrantPermissionsWearViewHandler.java index cc32c5f02..c9e9a2eb1 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/GrantPermissionsWearViewHandler.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/GrantPermissionsWearViewHandler.java @@ -168,7 +168,8 @@ public class GrantPermissionsWearViewHandler implements GrantPermissionsViewHand private void updateScreen() { mViewModel.getIconLiveData().setValue( mGroupIcon == null ? null : mGroupIcon.loadDrawable(mActivity)); - mViewModel.getGroupMessageLiveData().setValue(mGroupMessage.toString()); + mViewModel.getGroupMessageLiveData().setValue( + mGroupMessage == null ? "" : mGroupMessage.toString()); mViewModel.getDetailMessageLiveData().setValue(mDetailMessage); int numButtons = BUTTON_RES_ID_TO_NUM.size(); List<Boolean> buttonVisibilityList = Arrays.asList(new Boolean[NEXT_BUTTON]); diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/ReviewPermissionsWearFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/ReviewPermissionsWearFragment.java index fdeb2ed2a..5f23829b0 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/ReviewPermissionsWearFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/ReviewPermissionsWearFragment.java @@ -179,7 +179,10 @@ public class ReviewPermissionsWearFragment extends PreferenceFragmentCompat } else { preference.setEnabled(true); } - + if (preference.getParent() != null) { + // Remove first if already added. + preference.getParent().removePreference(preference); + } if (group.isReviewRequired()) { if (!isPackageUpdated) { // An app just being installed, which means all groups requiring reviews. diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionFragment.kt index c1ce14f03..3936e54d4 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionFragment.kt @@ -56,6 +56,7 @@ import com.android.permissioncontroller.permission.ui.v33.AdvancedConfirmDialogA import com.android.permissioncontroller.permission.ui.wear.model.AppPermissionConfirmDialogViewModel import com.android.permissioncontroller.permission.ui.wear.model.AppPermissionConfirmDialogViewModelFactory import com.android.permissioncontroller.permission.ui.wear.model.ConfirmDialogArgs +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupLabel import com.android.settingslib.RestrictedLockUtils @@ -150,6 +151,7 @@ class WearAppPermissionFragment : Fragment(), ConfirmDialogShowingFragment { ViewModelProvider(this, AppPermissionConfirmDialogViewModelFactory()) .get(AppPermissionConfirmDialogViewModel::class.java) + @Suppress("ktlint:standard:max-line-length") val onLocationSwitchChanged: (Boolean) -> Unit = { checked -> run { val changeRequest = @@ -233,18 +235,20 @@ class WearAppPermissionFragment : Fragment(), ConfirmDialogShowingFragment { return ComposeView(activity).apply { setContent { - WearAppPermissionScreen( - permGroupLabel, - viewModel, - confirmDialogViewModel, - onLocationSwitchChanged, - onGrantedStateChanged, - onFooterClicked, - onConfirmDialogOkButtonClick, - onConfirmDialogCancelButtonClick, - onAdvancedConfirmDialogOkButtonClick, - onAdvancedConfirmDialogCancelButtonClick - ) + WearPermissionTheme { + WearAppPermissionScreen( + permGroupLabel, + viewModel, + confirmDialogViewModel, + onLocationSwitchChanged, + onGrantedStateChanged, + onFooterClicked, + onConfirmDialogOkButtonClick, + onConfirmDialogCancelButtonClick, + onAdvancedConfirmDialogOkButtonClick, + onAdvancedConfirmDialogCancelButtonClick + ) + } } } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsFragment.kt index a0703b10c..9b960dfb5 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsFragment.kt @@ -46,6 +46,7 @@ import com.android.permissioncontroller.permission.ui.wear.model.AppPermissionGr import com.android.permissioncontroller.permission.ui.wear.model.AppPermissionGroupsRevokeDialogViewModelFactory import com.android.permissioncontroller.permission.ui.wear.model.WearAppPermissionUsagesViewModel import com.android.permissioncontroller.permission.ui.wear.model.WearAppPermissionUsagesViewModelFactory +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme import com.android.permissioncontroller.permission.utils.KotlinUtils.is7DayToggleEnabled import java.time.Instant import java.util.concurrent.TimeUnit @@ -142,7 +143,9 @@ class WearAppPermissionGroupsFragment : Fragment(), PermissionsUsagesChangeCallb revokeDialogViewModel = revokeDialogViewModel ) - return ComposeView(activity).apply { setContent { WearAppPermissionGroupsScreen(helper) } } + return ComposeView(activity).apply { + setContent { WearPermissionTheme { WearAppPermissionGroupsScreen(helper) } } + } } override fun onPause() { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsHelper.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsHelper.kt index 0ccde86be..9529ac83a 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsHelper.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsHelper.kt @@ -142,25 +142,27 @@ class WearAppPermissionGroupsHelper( ): String { val grantSummary = getGrantSummary(category, groupUiInfo)?.let { context.getString(it) } ?: "" - if (!Flags.wearPrivacyDashboardEnabled()) { - return grantSummary - } - val accessSummary = - viewModel.getPreferenceSummary(groupUiInfo, context, lastAccessTime).let { + val summary = StringBuilder(grantSummary) + if (Flags.wearPrivacyDashboardEnabledReadOnly()) { + WearUtils.getPreferenceSummary(context, lastAccessTime).let { if (it.isNotEmpty()) { - System.lineSeparator() + it - } else { - it + summary.append(System.lineSeparator()).append(it) } } - return grantSummary + accessSummary + } + return summary.toString() } private fun getGrantSummary(category: Category?, groupUiInfo: GroupUiInfo): Int? { val subtitle = groupUiInfo.subtitle if (category != null) { when (category) { - Category.ALLOWED -> return R.string.allowed_header + Category.ALLOWED -> + return if (subtitle == PermSubtitle.BACKGROUND) { + R.string.allowed_always_header + } else { + R.string.allowed_header + } Category.ASK -> return R.string.ask_header Category.DENIED -> return R.string.denied_header else -> { diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt index bc840bac9..0883666fc 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionGroupsScreen.kt @@ -35,7 +35,7 @@ import com.android.permissioncontroller.permission.ui.wear.model.RevokeDialogArg @Composable fun WearAppPermissionGroupsScreen(helper: WearAppPermissionGroupsHelper) { - val packagePermGroups = helper.viewModel.packagePermGroupsLiveData.observeAsState(emptyMap()) + val packagePermGroups = helper.viewModel.packagePermGroupsLiveData.observeAsState(null) val autoRevoke = helper.viewModel.autoRevokeLiveData.observeAsState(null) val appPermissionUsages = helper.wearViewModel.appPermissionUsages.observeAsState(emptyList()) val showRevokeDialog = helper.revokeDialogViewModel.showDialogLiveData.observeAsState(false) @@ -53,7 +53,7 @@ fun WearAppPermissionGroupsScreen(helper: WearAppPermissionGroupsHelper) { ) } - if (isLoading && packagePermGroups.value.isNotEmpty()) { + if (isLoading && !packagePermGroups.value.isNullOrEmpty()) { isLoading = false } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt index bec633fe7..ccbd51f7d 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearAppPermissionScreen.kt @@ -52,7 +52,7 @@ fun WearAppPermissionScreen( onAdvancedConfirmDialogOkButtonClick: (AdvancedConfirmDialogArgs) -> Unit, onAdvancedConfirmDialogCancelButtonClick: () -> Unit ) { - val buttonState = viewModel.buttonStateLiveData.observeAsState(emptyMap()) + val buttonState = viewModel.buttonStateLiveData.observeAsState(null) val detailResIds = viewModel.detailResIdLiveData.observeAsState(null) val admin = viewModel.showAdminSupportLiveData.observeAsState(null) var isLoading by remember { mutableStateOf(true) } @@ -84,7 +84,7 @@ fun WearAppPermissionScreen( onCancelButtonClick = onAdvancedConfirmDialogCancelButtonClick ) } - if (isLoading && buttonState.value.isNotEmpty()) { + if (isLoading && !buttonState.value.isNullOrEmpty()) { isLoading = false } } @@ -92,7 +92,7 @@ fun WearAppPermissionScreen( @Composable internal fun WearAppPermissionContent( title: String, - buttonState: Map<ButtonType, ButtonState>, + buttonState: Map<ButtonType, ButtonState>?, detailResIds: Pair<Int, Int?>?, admin: RestrictedLockUtils.EnforcedAdmin?, isLoading: Boolean, @@ -101,7 +101,7 @@ internal fun WearAppPermissionContent( onFooterClicked: (RestrictedLockUtils.EnforcedAdmin) -> Unit ) { ScrollableScreen(title = title, isLoading = isLoading) { - buttonState[ButtonType.LOCATION_ACCURACY]?.let { + buttonState?.get(ButtonType.LOCATION_ACCURACY)?.let { if (it.isShown) { item { ToggleChip( @@ -116,7 +116,7 @@ internal fun WearAppPermissionContent( } } for (buttonType in buttonTypeOrder) { - buttonState[buttonType]?.let { + buttonState?.get(buttonType)?.let { if (it.isShown) { item { ToggleChip( diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionsFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionsFragment.kt index 266159733..a9e83919f 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionsFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageCustomPermissionsFragment.kt @@ -26,6 +26,7 @@ import androidx.lifecycle.ViewModelProvider import com.android.permissioncontroller.Constants import com.android.permissioncontroller.permission.ui.handheld.PermissionAppsFragment import com.android.permissioncontroller.permission.ui.model.ManageCustomPermissionsViewModel +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme class WearManageCustomPermissionsFragment : Fragment() { override fun onCreateView( @@ -52,7 +53,11 @@ class WearManageCustomPermissionsFragment : Fragment() { } return ComposeView(activity).apply { - setContent { WearManageCustomPermissionScreen(viewModel, onPermGroupClick) } + setContent { + WearPermissionTheme { + WearManageCustomPermissionScreen(viewModel, onPermGroupClick) + } + } } } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt index 7bf802755..bd1946759 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionScreen.kt @@ -33,6 +33,7 @@ import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableSc import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupIcon import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupLabel import com.android.permissioncontroller.permission.utils.StringUtils +import com.android.permissioncontroller.permission.utils.Utils import java.text.Collator @Composable @@ -75,6 +76,8 @@ internal fun getPermGroupChipParams( R.string.app_permissions_group_summary } return permissionGroups + // Removing Health Connect from the list of permissions to fix b/331260850 + .filterNot { Utils.isHealthPermissionGroup(it.key) } .mapNotNull { val uiInfo = it.value ?: return@mapNotNull null PermGroupChipParam( diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionsFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionsFragment.kt index a33c71975..16ed1f067 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionsFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearManageStandardPermissionsFragment.kt @@ -27,6 +27,7 @@ import com.android.permissioncontroller.Constants import com.android.permissioncontroller.permission.ui.handheld.ManageCustomPermissionsFragment import com.android.permissioncontroller.permission.ui.handheld.PermissionAppsFragment import com.android.permissioncontroller.permission.ui.model.ManageStandardPermissionsViewModel +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme class WearManageStandardPermissionsFragment : Fragment() { override fun onCreateView( @@ -63,12 +64,14 @@ class WearManageStandardPermissionsFragment : Fragment() { return ComposeView(activity).apply { setContent { - WearManageStandardPermissionScreen( - viewModel, - onPermGroupClick, - onCustomPermGroupClick, - onAutoRevokeClick - ) + WearPermissionTheme { + WearManageStandardPermissionScreen( + viewModel, + onPermGroupClick, + onCustomPermGroupClick, + onAutoRevokeClick + ) + } } } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsHelper.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsHelper.kt index 559160b38..d14cdb620 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsHelper.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsHelper.kt @@ -28,7 +28,6 @@ import com.android.permissioncontroller.permission.ui.wear.model.WearAppPermissi import com.android.permissioncontroller.permission.utils.KotlinUtils import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupDescription import com.android.permissioncontroller.permission.utils.KotlinUtils.getPermGroupLabel -import com.android.permissioncontroller.permission.utils.Utils import com.android.settingslib.utils.applications.AppUtils import java.text.Collator import java.util.Random @@ -161,17 +160,8 @@ class WearPermissionAppsHelper( ) } val summary = - if (Flags.wearPrivacyDashboardEnabled()) { - lastAccessTime?.let { - viewModel.getPreferenceSummary( - application.resources, - Utils.getPermissionLastAccessSummaryTimestamp( - lastAccessTime, - application, - permGroupName - ) - ) - } + if (Flags.wearPrivacyDashboardEnabledReadOnly()) { + lastAccessTime?.let { WearUtils.getPreferenceSummary(application, lastAccessTime) } } else { null } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt index 154fd0bff..d694f20f8 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionAppsScreen.kt @@ -17,6 +17,7 @@ package com.android.permissioncontroller.permission.ui.wear import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.livedata.observeAsState @@ -25,6 +26,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp import androidx.wear.compose.material.Text import com.android.permissioncontroller.R import com.android.permissioncontroller.permission.ui.Category @@ -76,13 +78,22 @@ internal fun WearPermissionAppsContent( onShowSystemClick: (showSystem: Boolean) -> Unit ) { ScrollableScreen(title = title, subtitle = subtitle, isLoading = isLoading) { - for (category in categoryOrder) { + val firstItemIndex = categoryOrder.indexOfFirst { !chipsByCategory[it].isNullOrEmpty() } + for ((index, category) in categoryOrder.withIndex()) { val chips = chipsByCategory[category] if (chips.isNullOrEmpty()) { continue } item { - ListSubheader { + ListSubheader( + modifier = + Modifier.padding( + top = if (index == firstItemIndex) 0.dp else 12.dp, + bottom = 4.dp, + start = 14.dp, + end = 14.dp + ) + ) { Text(text = stringResource(getCategoryString(category, showAlways))) } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt index f8c305e0f..8f8960269 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt @@ -26,8 +26,10 @@ import androidx.compose.ui.platform.ComposeView import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import com.android.permissioncontroller.Constants -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageViewModel -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageViewModel.PermissionUsageViewModelFactory +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModelFactory +import com.android.permissioncontroller.permission.ui.wear.model.WearPermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.wear.model.WearPermissionUsageViewModelFactory /** * This is a condensed version of @@ -36,6 +38,7 @@ import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageV */ @RequiresApi(Build.VERSION_CODES.S) class WearPermissionUsageFragment : Fragment() { + lateinit var wearViewModel: WearPermissionUsageViewModel override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -45,11 +48,17 @@ class WearPermissionUsageFragment : Fragment() { arguments?.getLong(Constants.EXTRA_SESSION_ID) ?: Constants.INVALID_SESSION_ID val factory = PermissionUsageViewModelFactory(requireActivity().getApplication(), this, Bundle()) - val viewModel: PermissionUsageViewModel = - ViewModelProvider(this, factory).get(PermissionUsageViewModel::class.java) + val viewModel = ViewModelProvider(this, factory).get(PermissionUsageViewModel::class.java) + wearViewModel = + ViewModelProvider(this, WearPermissionUsageViewModelFactory(viewModel)) + .get(WearPermissionUsageViewModel::class.java) + viewModel.permissionUsagesUiLiveData.observe( + this, + wearViewModel::updatePermissionUsagesUiStateLiveData + ) return ComposeView(requireContext()).apply { - setContent { WearPermissionUsageScreen(sessionId, viewModel) } + setContent { WearPermissionUsageScreen(sessionId, viewModel, wearViewModel) } } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt index f155365d0..62d0c6212 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageScreen.kt @@ -30,31 +30,56 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import com.android.permissioncontroller.R import com.android.permissioncontroller.permission.ui.handheld.v31.PermissionUsageControlPreference -import com.android.permissioncontroller.permission.ui.model.v31.PermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsagesUiState import com.android.permissioncontroller.permission.ui.wear.elements.Chip import com.android.permissioncontroller.permission.ui.wear.elements.ScrollableScreen +import com.android.permissioncontroller.permission.ui.wear.model.WearPermissionUsageViewModel +import com.android.permissioncontroller.permission.utils.Utils import java.text.Collator @RequiresApi(Build.VERSION_CODES.S) @Composable -fun WearPermissionUsageScreen(sessionId: Long, viewModel: PermissionUsageViewModel) { +fun WearPermissionUsageScreen( + sessionId: Long, + viewModel: PermissionUsageViewModel, + wearViewModel: WearPermissionUsageViewModel +) { val context = LocalContext.current - val permissionUsagesUiData = viewModel.permissionUsagesUiLiveData.observeAsState(null) - val showSystem = viewModel.showSystemAppsLiveData.observeAsState(false) - val show7Days = viewModel.show7DaysLiveData.observeAsState(false) + val permissionUsagesUiData = wearViewModel.permissionUsagesUiStateLiveData.observeAsState(null) + val showSystem = wearViewModel.showSystemAppsLiveData.observeAsState(false) + val show7Days = wearViewModel.show7DaysLiveData.observeAsState(false) var isLoading by remember { mutableStateOf(true) } - - val hasSystemApps: Boolean = permissionUsagesUiData.value?.containsSystemAppUsages ?: false - val onShowSystemClick: (Boolean) -> Unit = { show -> run { viewModel.updateShowSystem(show) } } + val isDataLoaded = permissionUsagesUiData.value is PermissionUsagesUiState.Success + val hasSystemApps: Boolean = + if (isDataLoaded) { + val uiState = permissionUsagesUiData.value as PermissionUsagesUiState.Success + uiState.shouldShowSystemToggle + } else { + false + } + val onShowSystemClick: (Boolean) -> Unit = { show -> + run { + wearViewModel.updatePermissionUsagesUiStateLiveData(viewModel.updateShowSystem(show)) + wearViewModel.showSystemAppsLiveData.value = viewModel.getShowSystemApps() + } + } val permissionGroupWithUsageCounts: Map<String, Int> = - permissionUsagesUiData.value?.permissionGroupsWithUsageCount ?: emptyMap() + if (isDataLoaded) { + val uiState = permissionUsagesUiData.value as PermissionUsagesUiState.Success + uiState.permissionGroupUsageCount + } else { + emptyMap() + } val permissionGroupWithUsageCountsEntries: List<Map.Entry<String, Int>> = ArrayList<Map.Entry<String, Int>>(permissionGroupWithUsageCounts.entries) val collator = Collator.getInstance(context.resources.configuration.locales.get(0)) val permissionGroupPreferences = permissionGroupWithUsageCountsEntries + // Removing Health Connect from the list of permissions to fix b/331260850 + .filterNot { Utils.isHealthPermissionGroup(it.key) } .map { PermissionUsageControlPreference( context, @@ -82,7 +107,7 @@ fun WearPermissionUsageScreen(sessionId: Long, viewModel: PermissionUsageViewMod permissionGroupPreferences ) - if (isLoading && permissionUsagesUiData.value != null) { + if (isLoading && isDataLoaded) { isLoading = false } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsFragment.kt index 93813de08..64acfdd96 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsFragment.kt @@ -41,6 +41,7 @@ import com.android.permissioncontroller.permission.ui.model.UnusedAppsViewModel. import com.android.permissioncontroller.permission.ui.model.UnusedAppsViewModelFactory import com.android.permissioncontroller.permission.ui.wear.model.WearUnusedAppsViewModel import com.android.permissioncontroller.permission.ui.wear.model.WearUnusedAppsViewModel.UnusedAppChip +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme import com.android.permissioncontroller.permission.utils.KotlinUtils import com.android.settingslib.utils.applications.AppUtils import java.text.Collator @@ -131,7 +132,9 @@ class WearUnusedAppsFragment : Fragment() { updateWearViewModel(false) } - return ComposeView(activity).apply { setContent { WearUnusedAppsScreen(wearViewModel) } } + return ComposeView(activity).apply { + setContent { WearPermissionTheme { WearUnusedAppsScreen(wearViewModel) } } + } } private fun initUnusedAppsMap(): MutableMap<UnusedPeriod, MutableMap<String, UnusedAppChip>> { @@ -145,17 +148,18 @@ class WearUnusedAppsFragment : Fragment() { private fun updatePackages(categorizedPackages: Map<UnusedPeriod, List<UnusedPackageInfo>>) { // Remove stale unused app chips for (period in allPeriods) { - val it: MutableIterator<Map.Entry<String, UnusedAppChip>> = - unusedAppsMap[period]!!.entries.iterator() - while (it.hasNext()) { - val contains = - categorizedPackages[period]?.any { (pkgName, user, _) -> - val key = createKey(pkgName, user) - it.next().key == key - } - if (contains != true) { - it.remove() - } + val unUsedAppsInAPeriod = unusedAppsMap[period] ?: continue + val categorizedPackagesOfAPeriod = categorizedPackages[period] + if (categorizedPackagesOfAPeriod == null) { + unUsedAppsInAPeriod.clear() + continue + } + val categorizedPackageKeys = + categorizedPackagesOfAPeriod.map { createKey(it.packageName, it.user) } + // Do not remove apps that are still in the unused category + val keysToRemove = unUsedAppsInAPeriod.keys.filterNot { it in categorizedPackageKeys } + for (key in keysToRemove) { + unUsedAppsInAPeriod.remove(key) } } @@ -300,6 +304,13 @@ class WearUnusedAppsFragment : Fragment() { private fun updateWearViewModel(isLoading: Boolean) { wearViewModel.loadingLiveData.value = isLoading wearViewModel.unusedPeriodCategoryVisibilitiesLiveData.setValue(categoryVisibilities) - wearViewModel.unusedAppChipsLiveData.setValue(unusedAppsMap) + + // Need to copy to non mutable maps or compose will not update correctly + val map = mutableMapOf<UnusedPeriod, Map<String, UnusedAppChip>>() + for (period in allPeriods) { + map.put(period, unusedAppsMap[period]!!.toMap()) + } + + wearViewModel.unusedAppChipsLiveData.setValue(map.toMap()) } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsScreen.kt index 7c2487004..423fa7759 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUnusedAppsScreen.kt @@ -37,7 +37,7 @@ fun WearUnusedAppsScreen(viewModel: WearUnusedAppsViewModel) { viewModel.unusedPeriodCategoryVisibilitiesLiveData.observeAsState(emptyList()) val infoMsgCategoryVisibility = viewModel.infoMsgCategoryVisibilityLiveData.observeAsState(false) - val unusedAppChips = viewModel.unusedAppChipsLiveData.observeAsState(mutableMapOf()) + val unusedAppChips = viewModel.unusedAppChipsLiveData.observeAsState(mapOf()) ScrollableScreen( showTimeText = true, diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUtils.kt new file mode 100644 index 000000000..53d41f7f0 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearUtils.kt @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.permission.ui.wear + +import android.content.Context +import android.text.format.DateFormat +import androidx.annotation.IntDef +import com.android.permissioncontroller.R +import java.time.ZonedDateTime +import java.time.temporal.ChronoUnit + +object WearUtils { + @Retention(AnnotationRetention.SOURCE) + @IntDef(value = [LAST_24H_TODAY, LAST_24H_YESTERDAY, LAST_7D, NOT_IN_LAST_7D]) + annotation class AppPermsLastAccessType + + const val LAST_24H_TODAY = 1 + const val LAST_24H_YESTERDAY = 2 + const val LAST_7D = 3 + const val NOT_IN_LAST_7D = 4 + + /** Get the preference summary in app permission groups and permission apps screens for Wear. */ + @JvmStatic + fun getPreferenceSummary(context: Context, lastAccessTime: Long?): String { + val summaryTimestamp = getPermissionLastAccessSummaryTimestamp(lastAccessTime, context) + val res = context.resources + return when (summaryTimestamp.second) { + LAST_24H_TODAY -> + res.getString(R.string.wear_app_perms_24h_access, summaryTimestamp.first) + LAST_24H_YESTERDAY -> + res.getString(R.string.wear_app_perms_24h_access_yest, summaryTimestamp.first) + LAST_7D -> + res.getString( + R.string.wear_app_perms_7d_access, + summaryTimestamp.third, + summaryTimestamp.first + ) + else -> "" + } + } + + @JvmStatic + private fun getPermissionLastAccessSummaryTimestamp( + lastAccessTime: Long?, + context: Context + ): Triple<String, Int, String> { + val midnightToday = + (ZonedDateTime.now().truncatedTo(ChronoUnit.DAYS).toEpochSecond() * 1000L) + val midnightYesterday = + ZonedDateTime.now().minusDays(1).truncatedTo(ChronoUnit.DAYS).toEpochSecond() * 1000L + val isLastAccessToday = (lastAccessTime != null && midnightToday <= lastAccessTime) + val isLastAccessTodayOrYesterday = + (lastAccessTime != null && midnightYesterday <= lastAccessTime) + var lastAccessTimeFormatted = "" + var lastAccessDateFormatted = "" + @AppPermsLastAccessType var lastAccessType = NOT_IN_LAST_7D + if (lastAccessTime != null) { + lastAccessTimeFormatted = DateFormat.getTimeFormat(context).format(lastAccessTime) + lastAccessDateFormatted = DateFormat.getDateFormat(context).format(lastAccessTime) + lastAccessType = + if (isLastAccessToday) LAST_24H_TODAY + else if (isLastAccessTodayOrYesterday) LAST_24H_YESTERDAY else LAST_7D + } + return Triple(lastAccessTimeFormatted, lastAccessType, lastAccessDateFormatted) + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AlertDialog.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AlertDialog.kt index 06d8acaba..aa04cfad8 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AlertDialog.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AlertDialog.kt @@ -16,32 +16,40 @@ package com.android.permissioncontroller.permission.ui.wear.elements -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Check -import androidx.compose.material.icons.filled.Close +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.rememberTextMeasurer import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.Constraints import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.lazy.ScalingLazyListScope import androidx.wear.compose.foundation.lazy.ScalingLazyListState -import androidx.wear.compose.material.ButtonDefaults import androidx.wear.compose.material.Icon +import androidx.wear.compose.material.LocalTextStyle import androidx.wear.compose.material.MaterialTheme import androidx.wear.compose.material.Text import androidx.wear.compose.material.dialog.Alert import androidx.wear.compose.material.dialog.Dialog +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnDefaults +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnState +import com.android.permissioncontroller.permission.ui.wear.elements.layout.rememberColumnState /** - * This component is an alternative to [Alert], providing the following: + * This component is an alternative to [AlertContent], providing the following: * - a convenient way of passing a title and a message; + * - additional content can be specified between the message and the buttons * - default positive and negative buttons; * - wrapped in a [Dialog]; */ @Composable -public fun AlertDialog( +fun AlertDialog( message: String, iconRes: Int? = null, onCancelButtonClick: () -> Unit, @@ -49,7 +57,7 @@ public fun AlertDialog( showDialog: Boolean, scalingLazyListState: ScalingLazyListState, modifier: Modifier = Modifier, - title: String = "", + title: String? = null, okButtonContentDescription: String = stringResource(android.R.string.ok), cancelButtonContentDescription: String = stringResource(android.R.string.cancel) ) { @@ -59,13 +67,12 @@ public fun AlertDialog( scrollState = scalingLazyListState, modifier = modifier ) { - Alert( + AlertContent( title = title, - iconRes = iconRes, - body = message, - scrollState = scalingLazyListState, - onCancelButtonClick = onCancelButtonClick, - onOKButtonClick = onOKButtonClick, + icon = { AlertIcon(iconRes) }, + message = message, + onCancel = onCancelButtonClick, + onOk = onOKButtonClick, okButtonContentDescription = okButtonContentDescription, cancelButtonContentDescription = cancelButtonContentDescription ) @@ -86,7 +93,7 @@ fun SingleButtonAlertDialog( showDialog: Boolean, scalingLazyListState: ScalingLazyListState, modifier: Modifier = Modifier, - title: String = "", + title: String? = null, buttonContentDescription: String = stringResource(android.R.string.ok) ) { Dialog( @@ -95,77 +102,97 @@ fun SingleButtonAlertDialog( scrollState = scalingLazyListState, modifier = modifier ) { - SingleButtonAlert( + AlertContent( title = title, - iconRes = iconRes, - body = message, - scrollState = scalingLazyListState, - onButtonClick = onButtonClick, - buttonContentDescription = buttonContentDescription + icon = { AlertIcon(iconRes) }, + message = message, + onOk = onButtonClick, + okButtonContentDescription = buttonContentDescription ) } } @Composable -internal fun Alert( - title: String, - iconRes: Int? = null, - body: String, - scrollState: ScalingLazyListState, - onCancelButtonClick: () -> Unit, - onOKButtonClick: () -> Unit, - okButtonContentDescription: String, - cancelButtonContentDescription: String +public fun AlertContent( + onCancel: (() -> Unit)? = null, + onOk: (() -> Unit)? = null, + icon: @Composable (() -> Unit)? = null, + title: String? = null, + message: String? = null, + okButtonContentDescription: String = stringResource(android.R.string.ok), + cancelButtonContentDescription: String = stringResource(android.R.string.cancel), + state: ScalingLazyColumnState = + rememberColumnState( + ScalingLazyColumnDefaults.responsive( + additionalPaddingAtBottom = 0.dp, + ), + ), + showPositionIndicator: Boolean = true, + content: (ScalingLazyListScope.() -> Unit)? = null, ) { - Alert( - contentPadding = DefaultContentPadding(), - scrollState = scrollState, - title = { AlertTitleText(title) }, - icon = { AlertIcon(iconRes) }, - content = { AlertBodyText(body) }, - negativeButton = { NegativeButton(onCancelButtonClick, cancelButtonContentDescription) }, - positiveButton = { PositiveButton(onOKButtonClick, okButtonContentDescription) } - ) -} + val density = LocalDensity.current + val maxScreenWidthPx = with(density) { LocalConfiguration.current.screenWidthDp.dp.toPx() } -@Composable -private fun SingleButtonAlert( - title: String, - iconRes: Int? = null, - body: String, - scrollState: ScalingLazyListState, - isOkButton: Boolean = true, - onButtonClick: () -> Unit, - buttonContentDescription: String, -) { - Alert( - contentPadding = DefaultContentPadding(), - title = { AlertTitleText(title) }, - scrollState = scrollState, - icon = { AlertIcon(iconRes) }, - message = { AlertBodyText(body) } - ) { - item { - if (isOkButton) { - PositiveButton(onButtonClick, buttonContentDescription) - } else { - NegativeButton(onButtonClick, buttonContentDescription) - } - } - } -} - -@Composable private fun DefaultContentPadding() = PaddingValues(top = 24.dp, bottom = 24.dp) - -@Composable -private fun AlertTitleText(title: String) = - Text( - text = title, - color = MaterialTheme.colors.onBackground, - textAlign = TextAlign.Center, - maxLines = 3, - style = MaterialTheme.typography.title3 + ResponsiveDialogContent( + icon = icon, + title = + title?.let { + { + Text( + modifier = Modifier.fillMaxWidth(), + text = it, + color = MaterialTheme.colors.onBackground, + textAlign = TextAlign.Center, + maxLines = if (icon == null) 3 else 2, + overflow = TextOverflow.Ellipsis, + ) + } + }, + message = + message?.let { + { + // Should message be start or center aligned? + val textMeasurer = rememberTextMeasurer() + val textStyle = LocalTextStyle.current + val totalPaddingPercentage = + globalHorizontalPadding + messageExtraHorizontalPadding + val lineCount = + remember(it, density, textStyle, textMeasurer) { + textMeasurer + .measure( + text = it, + style = textStyle, + constraints = + Constraints( + // Available width is reduced by responsive dialog + // horizontal + // padding. + maxWidth = + (maxScreenWidthPx * + (1f - totalPaddingPercentage * 2f / 100f)) + .toInt(), + ), + ) + .lineCount + } + val textAlign = if (lineCount <= 3) TextAlign.Center else TextAlign.Start + Text( + modifier = Modifier.fillMaxWidth(), + text = it, + color = MaterialTheme.colors.onBackground, + textAlign = textAlign, + ) + } + }, + content = content, + onOk = onOk, + onCancel = onCancel, + okButtonContentDescription = okButtonContentDescription, + cancelButtonContentDescription = cancelButtonContentDescription, + state = state, + showPositionIndicator = showPositionIndicator, ) +} @Composable private fun AlertIcon(iconRes: Int?) = @@ -174,29 +201,3 @@ private fun AlertIcon(iconRes: Int?) = } else { null } - -@Composable -private fun AlertBodyText(body: String) = - Text( - text = body, - color = MaterialTheme.colors.onBackground, - textAlign = TextAlign.Center, - style = MaterialTheme.typography.body2 - ) - -@Composable -private fun PositiveButton(onClick: () -> Unit, contentDescription: String) = - Button( - imageVector = Icons.Default.Check, - contentDescription = contentDescription, - onClick = onClick - ) - -@Composable -private fun NegativeButton(onClick: () -> Unit, contentDescription: String) = - Button( - imageVector = Icons.Default.Close, - contentDescription = contentDescription, - onClick = onClick, - colors = ButtonDefaults.secondaryButtonColors() - ) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/Chip.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/Chip.kt index abdbe4baf..ff3eddc65 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/Chip.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/Chip.kt @@ -25,15 +25,15 @@ import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.platform.LocalConfiguration -import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -45,7 +45,6 @@ import androidx.wear.compose.material.Icon import androidx.wear.compose.material.MaterialTheme import androidx.wear.compose.material.Text import androidx.wear.compose.material.contentColorFor -import com.android.permissioncontroller.R /** * This component is an alternative to [Chip], providing the following: @@ -165,6 +164,8 @@ public fun Chip( * This component is an alternative to [Chip], providing the following: * - a convenient way of providing a label and a secondary label; */ +// Setting the color as per +// https://source.corp.google.com/piper///depot/google3/java/com/google/android/clockwork/common/wearable/wearmaterial/button/res/color/wear_button_secondary_text_stateful.xml?q=wear_button_secondary_text_stateful @Composable public fun Chip( label: String, @@ -176,7 +177,7 @@ public fun Chip( icon: (@Composable BoxScope.() -> Unit)? = null, largeIcon: Boolean = false, textColor: Color = MaterialTheme.colors.onSurface, - secondaryTextColor: Color = colorResource(R.color.wear_material_gray_600), + secondaryTextColor: Color = MaterialTheme.colors.primary, colors: ChipColors = chipDefaultColors(), enabled: Boolean = true ) { @@ -191,7 +192,7 @@ public fun Chip( textAlign = if (hasSecondaryLabel || hasIcon) TextAlign.Start else TextAlign.Center, overflow = TextOverflow.Ellipsis, maxLines = labelMaxLines ?: if (hasSecondaryLabel) 1 else 2, - style = MaterialTheme.typography.button + style = MaterialTheme.typography.button.copy(fontWeight = FontWeight.W600) ) } @@ -224,15 +225,13 @@ public fun Chip( Chip( label = labelParam, onClick = onClick, - modifier = - modifier - .adjustChipHeightToFontScale(LocalConfiguration.current.fontScale) - .fillMaxWidth(), + modifier = modifier.fillMaxWidth(), secondaryLabel = secondaryLabelParam, icon = icon, colors = colors, enabled = enabled, - contentPadding = contentPadding + contentPadding = contentPadding, + shape = RoundedCornerShape(26.dp) ) } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ListHeader.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ListHeader.kt index cd5f3eb8f..259e1b0b2 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ListHeader.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ListHeader.kt @@ -21,14 +21,11 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.IntrinsicSize -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.runtime.Composable @@ -38,6 +35,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics +import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.wear.compose.material.LocalContentColor import androidx.wear.compose.material.LocalTextStyle @@ -50,32 +48,32 @@ import androidx.wear.compose.material.MaterialTheme * @param modifier The modifier for the [ListHeader]. * @param backgroundColor The background color to apply - typically Color.Transparent * @param contentColor The color to apply to content. - * @param contentPadding The spacing values to apply internally between the container and the - * content. * @param content Slot for [ListHeader] content, expected to be a single line of text. */ + +// Styling updated to match with wear material title +// Ref: +// https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:vendor/google_clockwork_partners/libs/ClockworkCommonLibs/common/wearable/wearmaterial/preference/res/layout/wear_title_preference.xml;l=1;drc=8ebd53cbba588e8e9aa964522fb05f4f5224609e;bpv=1;bpt=0 @Composable fun ListHeader( modifier: Modifier = Modifier, backgroundColor: Color = Color.Transparent, - contentColor: Color = MaterialTheme.colors.onSurfaceVariant, - contentPadding: PaddingValues = ListHeaderDefaults.HeaderContentPadding, + contentColor: Color = MaterialTheme.colors.onBackground, content: @Composable RowScope.() -> Unit ) { Row( horizontalArrangement = Arrangement.Center, modifier = - modifier - .defaultMinSize(minHeight = ListHeaderDefaults.Height) - .height(IntrinsicSize.Min) - .wrapContentSize() - .background(backgroundColor) - .padding(contentPadding) - .semantics(mergeDescendants = true) { heading() } + modifier.wrapContentSize().background(backgroundColor).semantics( + mergeDescendants = true + ) { + heading() + } ) { CompositionLocalProvider( LocalContentColor provides contentColor, - LocalTextStyle provides MaterialTheme.typography.title3, + LocalTextStyle provides + MaterialTheme.typography.title3.copy(fontWeight = FontWeight.W600), ) { content() } @@ -89,8 +87,6 @@ fun ListHeader( * @param modifier The modifier for the [ListSubheader]. * @param backgroundColor The background color to apply - typically Color.Transparent * @param contentColor The color to apply to content. - * @param contentPadding The spacing values to apply internally between the container and the - * content. * @param icon A slot for providing icon to the [ListSubheader]. * @param label A slot for providing label to the [ListSubheader]. */ @@ -99,7 +95,6 @@ fun ListSubheader( modifier: Modifier = Modifier, backgroundColor: Color = Color.Transparent, contentColor: Color = MaterialTheme.colors.onBackground, - contentPadding: PaddingValues = ListHeaderDefaults.SubheaderContentPadding, icon: (@Composable BoxScope.() -> Unit)? = null, label: @Composable RowScope.() -> Unit, ) { @@ -108,12 +103,10 @@ fun ListSubheader( horizontalArrangement = Arrangement.Start, modifier = modifier - .defaultMinSize(minHeight = ListHeaderDefaults.Height) .height(IntrinsicSize.Min) .fillMaxWidth() .wrapContentSize(align = Alignment.CenterStart) .background(backgroundColor) - .padding(contentPadding) .semantics(mergeDescendants = true) { heading() } ) { CompositionLocalProvider( @@ -131,16 +124,3 @@ fun ListSubheader( } } } - -object ListHeaderDefaults { - private val TopPadding = 16.dp - private val SubheaderBottomPadding = 8.dp - private val HeaderBottomPadding = 12.dp - private val HorizontalPadding = 14.dp - internal val Height = 48.dp - - val HeaderContentPadding = - PaddingValues(HorizontalPadding, TopPadding, HorizontalPadding, HeaderBottomPadding) - val SubheaderContentPadding = - PaddingValues(HorizontalPadding, TopPadding, HorizontalPadding, SubheaderBottomPadding) -} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ResponsiveDialog.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ResponsiveDialog.kt new file mode 100644 index 000000000..cf828b91d --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ResponsiveDialog.kt @@ -0,0 +1,226 @@ +/* + * Copyright 2024 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 + * + * https://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.permissioncontroller.permission.ui.wear.elements + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Arrangement.spacedBy +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Check +import androidx.compose.material.icons.filled.Close +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.lazy.ScalingLazyListScope +import androidx.wear.compose.material.ButtonDefaults +import androidx.wear.compose.material.ChipColors +import androidx.wear.compose.material.ChipDefaults +import androidx.wear.compose.material.LocalTextStyle +import androidx.wear.compose.material.MaterialTheme +import androidx.wear.compose.material.PositionIndicator +import androidx.wear.compose.material.Scaffold +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumn +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnDefaults.responsive +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnState +import com.android.permissioncontroller.permission.ui.wear.elements.layout.rememberColumnState + +// This file is a copy of ResponsiveDialogContent.kt from Horologist (go/horologist), +// remove it once after wear compose supports large screen dialogs. + +@Composable +fun ResponsiveDialogContent( + modifier: Modifier = Modifier, + icon: @Composable (() -> Unit)? = null, + title: @Composable (() -> Unit)? = null, + message: @Composable (() -> Unit)? = null, + onOk: (() -> Unit)? = null, + onCancel: (() -> Unit)? = null, + okButtonContentDescription: String = stringResource(android.R.string.ok), + cancelButtonContentDescription: String = stringResource(android.R.string.cancel), + state: ScalingLazyColumnState = + rememberColumnState( + responsive( + firstItemIsFullWidth = icon == null, + additionalPaddingAtBottom = 0.dp, + ), + ), + showPositionIndicator: Boolean = true, + content: (ScalingLazyListScope.() -> Unit)? = null, +) { + Scaffold( + modifier = modifier.fillMaxSize(), + positionIndicator = { + if (showPositionIndicator) { + PositionIndicator(scalingLazyListState = state.state) + } + }, + timeText = {}, + ) { + // This will be applied only to the content. + CompositionLocalProvider( + LocalTextStyle provides MaterialTheme.typography.body2, + ) { + ScalingLazyColumn(columnState = state) { + icon?.let { + item { + Row( + Modifier.fillMaxWidth().padding(bottom = 4.dp), // 8.dp below icon + horizontalArrangement = Arrangement.Center, + ) { + it() + } + } + } + title?.let { + item { + CompositionLocalProvider( + LocalTextStyle provides MaterialTheme.typography.title3, + ) { + Box( + Modifier.fillMaxWidth(titleMaxWidthFraction) + .padding(bottom = 8.dp), // 12.dp below icon + ) { + it() + } + } + } + } + if (icon == null && title == null) { + // Ensure the content is visible when there is nothing above it. + item { Spacer(Modifier.height(20.dp)) } + } + message?.let { + item { + Box( + Modifier.fillMaxWidth(messageMaxWidthFraction), + ) { + it() + } + } + } + content?.let { it() } + if (onOk != null || onCancel != null) { + item { + val width = LocalConfiguration.current.screenWidthDp + // Single buttons, or buttons on smaller screens are not meant to be + // responsive. + val buttonWidth = + if (width < 225 || onOk == null || onCancel == null) { + ButtonDefaults.DefaultButtonSize + } else { + // 14.56% on top of 5.2% margin on the sides, 12.dp between. + ((width * (1f - (2 * 0.1456f) - (2 * 0.052f)) - 12) / 2).dp + } + Row( + Modifier.fillMaxWidth() + .padding( + top = if (content != null || message != null) 12.dp else 0.dp, + ), + horizontalArrangement = spacedBy(12.dp, Alignment.CenterHorizontally), + verticalAlignment = Alignment.CenterVertically, + ) { + onCancel?.let { + ResponsiveButton( + icon = Icons.Default.Close, + cancelButtonContentDescription, + onClick = it, + buttonWidth, + ChipDefaults.secondaryChipColors(), + ) + } + onOk?.let { + ResponsiveButton( + icon = Icons.Default.Check, + okButtonContentDescription, + onClick = it, + buttonWidth, + ) + } + } + } + } + } + } + } +} + +@Composable +private fun ResponsiveButton( + icon: ImageVector, + contentDescription: String, + onClick: () -> Unit, + buttonWidth: Dp, + colors: ChipColors = ChipDefaults.primaryChipColors(), +) { + androidx.wear.compose.material.Chip( + label = { + Box(Modifier.fillMaxWidth()) { + Icon( + imageVector = icon, + contentDescription = contentDescription, + modifier = + Modifier.size(ButtonDefaults.DefaultIconSize).align(Alignment.Center), + ) + } + }, + contentPadding = PaddingValues(0.dp), + shape = CircleShape, + onClick = onClick, + modifier = Modifier.width(buttonWidth), + colors = colors, + ) +} + +internal const val globalHorizontalPadding = 5.2f +internal const val messageExtraHorizontalPadding = 4.56f +internal const val titleExtraHorizontalPadding = 8.84f + +// Fraction of the max available width that message should take (after global and message padding) +internal val messageMaxWidthFraction = + 1f - + 2f * + calculatePaddingFraction( + messageExtraHorizontalPadding, + ) + +// Fraction of the max available width that title should take (after global and message padding) +internal val titleMaxWidthFraction = + 1f - + 2f * + calculatePaddingFraction( + titleExtraHorizontalPadding, + ) + +// Calculate total padding given global padding and additional padding required inside that. +internal fun calculatePaddingFraction(extraPadding: Float) = + extraPadding / (100f - 2f * globalHorizontalPadding) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt index 50e40fad6..72fe21f6e 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ScrollableScreen.kt @@ -21,33 +21,28 @@ import android.content.Context import android.content.ContextWrapper import android.graphics.drawable.Drawable import androidx.compose.foundation.Image -import androidx.compose.foundation.focusable -import androidx.compose.foundation.gestures.scrollBy import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester -import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.input.rotary.onRotaryScrollEvent import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource -import androidx.compose.ui.semantics.semantics -import androidx.compose.ui.semantics.testTagsAsResourceId import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Lifecycle @@ -68,7 +63,8 @@ import androidx.wear.compose.material.TimeText import androidx.wear.compose.material.Vignette import androidx.wear.compose.material.VignettePosition import androidx.wear.compose.material.scrollAway -import kotlinx.coroutines.launch +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.rotaryWithScroll +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme /** * Screen that contains a list of items defined using the [content] parameter, adds the time text @@ -128,7 +124,6 @@ fun ScrollableScreen( } } -@OptIn(ExperimentalComposeUiApi::class) @Composable internal fun Scaffold( showTimeText: Boolean, @@ -140,32 +135,65 @@ internal fun Scaffold( titleTestTag: String? = null, subtitleTestTag: String? = null, ) { + val screenWidth = LocalConfiguration.current.screenWidthDp + val screenHeight = LocalConfiguration.current.screenHeightDp + val scrollContentHorizontalPadding = (screenWidth * 0.052).dp + val titleHorizontalPadding = (screenWidth * 0.0884).dp + val subtitleHorizontalPadding = (screenWidth * 0.0416).dp + val scrollContentTopPadding = (screenHeight * 0.1456).dp + val scrollContentBottomPadding = (screenHeight * 0.3636).dp + val titleBottomPadding = + if (subtitle == null) { + 8.dp + } else { + 4.dp + } + val subtitleBottomPadding = 8.dp + val timeTextTopPadding = + if (showTimeText) { + 1.dp + } else { + 0.dp + } + val titlePaddingValues = + PaddingValues( + start = titleHorizontalPadding, + top = 4.dp, + bottom = titleBottomPadding, + end = titleHorizontalPadding + ) + val subTitlePaddingValues = + PaddingValues( + start = subtitleHorizontalPadding, + top = 4.dp, + bottom = subtitleBottomPadding, + end = subtitleHorizontalPadding + ) val initialCenterIndex = 0 - val scrollContentTopPadding = 32.dp + val centerHeightDp = Dp(LocalConfiguration.current.screenHeightDp / 2.0f) + // We are adding TimeText's padding to create a smooth scrolling + val initialCenterItemScrollOffset = scrollContentTopPadding + timeTextTopPadding + val scrollAwayOffset = centerHeightDp - initialCenterItemScrollOffset val focusRequester = remember { FocusRequester() } val listState = remember { ScalingLazyListState(initialCenterItemIndex = initialCenterIndex) } - val coroutineScope = rememberCoroutineScope() - - MaterialTheme { + LaunchedEffect(title) { + listState.animateScrollToItem(index = 0) // Scroll to the top when triggerValue changes + } + WearPermissionTheme { Scaffold( + // TODO: Use a rotary modifier from Wear Compose once Wear Compose 1.4 is landed. + // (b/325560444) modifier = - Modifier.onRotaryScrollEvent { - coroutineScope.launch { listState.scrollBy(it.verticalScrollPixels) } - true - } - .focusRequester(focusRequester) - .focusable() - .semantics { testTagsAsResourceId = true }, + Modifier.rotaryWithScroll( + scrollableState = listState, + focusRequester = focusRequester + ), timeText = { if (showTimeText && !isLoading) { TimeText( modifier = - Modifier.scrollAway( - listState, - initialCenterIndex, - scrollContentTopPadding - ), - contentPadding = PaddingValues(15.dp) + Modifier.scrollAway(listState, initialCenterIndex, scrollAwayOffset) + .padding(top = timeTextTopPadding), ) } }, @@ -177,16 +205,17 @@ internal fun Scaffold( CircularProgressIndicator(modifier = Modifier.align(Alignment.Center)) } else { ScalingLazyColumn( + modifier = Modifier.fillMaxWidth(), state = listState, // Set autoCentering to null to avoid adding extra padding based on the // content. autoCentering = null, contentPadding = PaddingValues( - start = 10.dp, - end = 10.dp, + start = scrollContentHorizontalPadding, + end = scrollContentHorizontalPadding, top = scrollContentTopPadding, - bottom = 70.dp + bottom = scrollContentBottomPadding ) ) { image?.let { @@ -219,7 +248,7 @@ internal fun Scaffold( if (titleTestTag != null) { modifier = modifier.testTag(titleTestTag) } - ListHeader { + ListHeader(modifier = Modifier.padding(titlePaddingValues)) { Text( text = title, textAlign = TextAlign.Center, @@ -230,7 +259,8 @@ internal fun Scaffold( } if (subtitle != null) { item { - var modifier: Modifier = Modifier + var modifier: Modifier = + Modifier.align(Alignment.Center).padding(subTitlePaddingValues) if (subtitleTestTag != null) { modifier = modifier.testTag(subtitleTestTag) } @@ -240,7 +270,7 @@ internal fun Scaffold( MaterialTheme.typography.body2.copy( color = MaterialTheme.colors.onSurfaceVariant ), - modifier = modifier.fillMaxWidth(), + modifier = modifier ) } } @@ -266,7 +296,7 @@ private fun RequestFocusOnResume(focusRequester: FocusRequester) { internal fun dismiss(activity: Activity) { if (activity is FragmentActivity) { - if (!activity.getSupportFragmentManager().popBackStackImmediate()) { + if (!activity.supportFragmentManager.popBackStackImmediate()) { activity.finish() } } else { @@ -276,9 +306,7 @@ internal fun dismiss(activity: Activity) { internal fun getBackStackEntryCount(activity: Activity): Int { return if (activity is FragmentActivity) { - activity - .getSupportFragmentManager() - .primaryNavigationFragment + activity.supportFragmentManager.primaryNavigationFragment ?.childFragmentManager ?.backStackEntryCount ?: 0 diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ToggleChip.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ToggleChip.kt index 9a8a29bc3..fe1e75d67 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ToggleChip.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/ToggleChip.kt @@ -29,7 +29,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.compositeOver -import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.stateDescription @@ -142,10 +141,7 @@ public fun ToggleChip( label = labelParam, toggleControl = toggleControlParam, modifier = - modifier - .adjustChipHeightToFontScale(LocalConfiguration.current.fontScale) - .fillMaxWidth() - .semantics { stateDescription = stateDescriptionSemantics }, + modifier.fillMaxWidth().semantics { stateDescription = stateDescriptionSemantics }, appIcon = iconParam, secondaryLabel = secondaryLabelParam, colors = colors, diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnDefaults.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnDefaults.kt new file mode 100644 index 000000000..550f1dc24 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnDefaults.kt @@ -0,0 +1,245 @@ +/* + * Copyright 2022 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 + * + * https://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. + */ + +@file:Suppress("ObjectLiteralToLambda") + +package com.android.permissioncontroller.permission.ui.wear.elements.layout + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.times +import androidx.compose.ui.util.lerp +import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults +import androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType +import androidx.wear.compose.foundation.lazy.ScalingParams +import androidx.wear.compose.material.ChipDefaults +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnState.RotaryMode +import kotlin.math.sqrt + +// This file's content is copied from ScalingLazyColumnDefaults.kt from Horologist (go/horologist), +// remove it once after wear compose supports large screen dialogs. + +/** Default layouts for ScalingLazyColumnState, based on UX guidance. */ +object ScalingLazyColumnDefaults { + + /** + * Creates a Responsive layout for ScalingLazyColumn. The first and last items will scroll just + * onto screen at full size, assuming rounded corners of a Chip. + * + * @param firstItemIsFullWidth set to false if the first item is small enough to fit at the top, + * however it may be scaled. + * @param additionalPaddingAtBottom additional padding at end of content to avoid problem items + * clipping + * @param verticalArrangement the ScalingLazyColumn verticalArrangement. + * @param horizontalPaddingPercent the amount of horizontal padding as a percent. + * @param rotaryMode the rotary handling, such as Fling or Snap. + * @param hapticsEnabled whether haptics are enabled. + * @param reverseLayout whether to start at the bottom. + * @param userScrollEnabled whether to allow user to scroll. + */ + // @Deprecated("Replaced by rememberResponsiveColumnState") + + fun responsive( + firstItemIsFullWidth: Boolean = true, + additionalPaddingAtBottom: Dp = 10.dp, + verticalArrangement: Arrangement.Vertical = + Arrangement.spacedBy( + space = 4.dp, + alignment = Alignment.Top, + ), + horizontalPaddingPercent: Float = 0.052f, + rotaryMode: RotaryMode? = RotaryMode.Scroll, + hapticsEnabled: Boolean = true, + reverseLayout: Boolean = false, + userScrollEnabled: Boolean = true, + ): ScalingLazyColumnState.Factory { + return object : ScalingLazyColumnState.Factory { + @Composable + override fun create(): ScalingLazyColumnState { + val density = LocalDensity.current + val configuration = LocalConfiguration.current + val screenWidthDp = configuration.screenWidthDp.toFloat() + val screenHeightDp = configuration.screenHeightDp.toFloat() + + return remember { + val padding = screenWidthDp * horizontalPaddingPercent + val topPaddingDp: Dp = + if (firstItemIsFullWidth && configuration.isScreenRound) { + calculateVerticalOffsetForChip(screenWidthDp, horizontalPaddingPercent) + } else { + 32.dp + } + val bottomPaddingDp: Dp = + if (configuration.isScreenRound) { + calculateVerticalOffsetForChip( + screenWidthDp, + horizontalPaddingPercent, + ) + additionalPaddingAtBottom + } else { + 0.dp + } + val contentPadding = + PaddingValues( + start = padding.dp, + end = padding.dp, + top = topPaddingDp, + bottom = bottomPaddingDp, + ) + + val scalingParams = responsiveScalingParams(screenWidthDp) + + val screenHeightPx = with(density) { screenHeightDp.dp.roundToPx() } + val topPaddingPx = with(density) { topPaddingDp.roundToPx() } + val topScreenOffsetPx = screenHeightPx / 2 - topPaddingPx + + val initialScrollPosition = + ScalingLazyColumnState.ScrollPosition( + index = 0, + offsetPx = topScreenOffsetPx, + ) + ScalingLazyColumnState( + initialScrollPosition = initialScrollPosition, + autoCentering = null, + anchorType = ScalingLazyListAnchorType.ItemStart, + rotaryMode = rotaryMode, + verticalArrangement = verticalArrangement, + horizontalAlignment = Alignment.CenterHorizontally, + contentPadding = contentPadding, + scalingParams = scalingParams, + hapticsEnabled = hapticsEnabled, + reverseLayout = reverseLayout, + userScrollEnabled = userScrollEnabled, + ) + } + } + } + } + + internal fun calculateVerticalOffsetForChip( + viewportDiameter: Float, + horizontalPaddingPercent: Float, + ): Dp { + val childViewHeight: Float = ChipDefaults.Height.value + val childViewWidth: Float = viewportDiameter * (1.0f - (2f * horizontalPaddingPercent)) + val radius = viewportDiameter / 2f + return (radius - + sqrt( + (radius - childViewHeight + childViewWidth * 0.5f) * + (radius - childViewWidth * 0.5f), + ) - + childViewHeight * 0.5f) + .dp + } + + fun responsiveScalingParams(screenWidthDp: Float): ScalingParams { + val sizeRatio = ((screenWidthDp - 192) / (233 - 192).toFloat()).coerceIn(0f, 1.5f) + val presetRatio = 0f + + val minElementHeight = lerp(0.2f, 0.157f, sizeRatio) + val maxElementHeight = lerp(0.6f, 0.472f, sizeRatio).coerceAtLeast(minElementHeight) + val minTransitionArea = lerp(0.35f, lerp(0.35f, 0.393f, presetRatio), sizeRatio) + val maxTransitionArea = lerp(0.55f, lerp(0.55f, 0.593f, presetRatio), sizeRatio) + + val scalingParams = + ScalingLazyColumnDefaults.scalingParams( + minElementHeight = minElementHeight, + maxElementHeight = maxElementHeight, + minTransitionArea = minTransitionArea, + maxTransitionArea = maxTransitionArea, + ) + return scalingParams + } + + internal val Padding12Pct = 0.1248f + internal val Padding16Pct = 0.1664f + internal val Padding20Pct = 0.2083f + internal val Padding21Pct = 0.2188f + internal val Padding31Pct = 0.3646f + + enum class ItemType( + val topPaddingDp: Float, + val bottomPaddingDp: Float, + val paddingCorrection: Dp = 0.dp, + ) { + Card(Padding21Pct, Padding31Pct), + Chip(Padding21Pct, Padding31Pct), + CompactChip( + topPaddingDp = Padding12Pct, + bottomPaddingDp = Padding20Pct, + paddingCorrection = (-8).dp, + ), + Icon(Padding12Pct, Padding21Pct), + MultiButton(Padding21Pct, Padding20Pct), + SingleButton(Padding12Pct, Padding20Pct), + Text(Padding21Pct, Padding31Pct), + Unspecified(0f, 0f), + } + + @Composable + fun padding( + first: ItemType = ItemType.Unspecified, + last: ItemType = ItemType.Unspecified, + horizontalPercent: Float = 0.052f, + ): @Composable () -> PaddingValues { + val configuration = LocalConfiguration.current + val screenWidthDp = configuration.screenWidthDp.toFloat() + val screenHeightDp = configuration.screenHeightDp.toFloat() + + return { + val height = screenHeightDp.dp + val horizontalPadding = screenWidthDp.dp * horizontalPercent + + val topPadding = + if (first != ItemType.Unspecified) { + first.topPaddingDp * height + first.paddingCorrection + } else { + if (configuration.isScreenRound) { + calculateVerticalOffsetForChip(screenWidthDp, horizontalPercent) + } else { + 32.dp + } + } + + val bottomPadding = + if (last != ItemType.Unspecified) { + last.bottomPaddingDp * height + first.paddingCorrection + } else { + if (configuration.isScreenRound) { + calculateVerticalOffsetForChip( + screenWidthDp, + horizontalPercent, + ) + 10.dp + } else { + 0.dp + } + } + + PaddingValues( + top = topPadding, + bottom = bottomPadding, + start = horizontalPadding, + end = horizontalPadding, + ) + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnState.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnState.kt new file mode 100644 index 000000000..0603647b1 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/layout/ScalingLazyColumnState.kt @@ -0,0 +1,249 @@ +/* + * Copyright 2024 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 + * + * https://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. + */ + +@file:Suppress("ObjectLiteralToLambda") +@file:OptIn(ExperimentalWearFoundationApi::class) + +package com.android.permissioncontroller.permission.ui.wear.elements.layout + +import androidx.compose.foundation.MutatePriority +import androidx.compose.foundation.gestures.FlingBehavior +import androidx.compose.foundation.gestures.ScrollScope +import androidx.compose.foundation.gestures.ScrollableDefaults +import androidx.compose.foundation.gestures.ScrollableState +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.dp +import androidx.wear.compose.foundation.ExperimentalWearFoundationApi +import androidx.wear.compose.foundation.lazy.AutoCenteringParams +import androidx.wear.compose.foundation.lazy.ScalingLazyColumn +import androidx.wear.compose.foundation.lazy.ScalingLazyColumnDefaults as WearScalingLazyColumnDefaults +import androidx.wear.compose.foundation.lazy.ScalingLazyListAnchorType +import androidx.wear.compose.foundation.lazy.ScalingLazyListScope +import androidx.wear.compose.foundation.lazy.ScalingLazyListState +import androidx.wear.compose.foundation.lazy.ScalingParams +import androidx.wear.compose.foundation.rememberActiveFocusRequester +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnDefaults.responsiveScalingParams +import com.android.permissioncontroller.permission.ui.wear.elements.layout.ScalingLazyColumnState.RotaryMode +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.rememberDisabledHaptic +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.rememberRotaryHapticHandler +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.rotaryWithScroll +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.rotaryWithSnap +import com.android.permissioncontroller.permission.ui.wear.elements.rotaryinput.toRotaryScrollAdapter + +// This file is a copy of ScalingLazyColumnState.kt from Horologist (go/horologist), +// remove it once after wear compose supports large screen dialogs. + +/** + * A Config and State object wrapping up all configuration for a [ScalingLazyColumn]. This allows + * defaults such as [ScalingLazyColumnDefaults.responsive]. + */ +class ScalingLazyColumnState( + val initialScrollPosition: ScrollPosition = ScrollPosition(1, 0), + val autoCentering: AutoCenteringParams? = + AutoCenteringParams( + initialScrollPosition.index, + initialScrollPosition.offsetPx, + ), + val anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter, + val contentPadding: PaddingValues = PaddingValues(horizontal = 10.dp), + val rotaryMode: RotaryMode? = RotaryMode.Scroll, + val reverseLayout: Boolean = false, + val verticalArrangement: Arrangement.Vertical = + Arrangement.spacedBy( + space = 4.dp, + alignment = if (!reverseLayout) Alignment.Top else Alignment.Bottom, + ), + val horizontalAlignment: Alignment.Horizontal = Alignment.CenterHorizontally, + val flingBehavior: FlingBehavior? = null, + val userScrollEnabled: Boolean = true, + val scalingParams: ScalingParams = WearScalingLazyColumnDefaults.scalingParams(), + val hapticsEnabled: Boolean = true, +) : ScrollableState { + private var _state: ScalingLazyListState? = null + var state: ScalingLazyListState + get() { + if (_state == null) { + _state = + ScalingLazyListState( + initialScrollPosition.index, + initialScrollPosition.offsetPx, + ) + } + return _state!! + } + set(value) { + _state = value + } + + override val canScrollBackward: Boolean + get() = state.canScrollBackward + + override val canScrollForward: Boolean + get() = state.canScrollForward + + override val isScrollInProgress: Boolean + get() = state.isScrollInProgress + + override fun dispatchRawDelta(delta: Float): Float = state.dispatchRawDelta(delta) + + override suspend fun scroll( + scrollPriority: MutatePriority, + block: suspend ScrollScope.() -> Unit, + ) { + state.scroll(scrollPriority, block) + } + + sealed interface RotaryMode { + data object Snap : RotaryMode + + data object Scroll : RotaryMode + } + + data class ScrollPosition( + val index: Int, + val offsetPx: Int, + ) + + fun interface Factory { + @Composable fun create(): ScalingLazyColumnState + } +} + +// @Deprecated("Replaced by rememberResponsiveColumnState") +@Composable +fun rememberColumnState( + factory: ScalingLazyColumnState.Factory = ScalingLazyColumnDefaults.responsive(), +): ScalingLazyColumnState { + val columnState = factory.create() + + columnState.state = rememberSaveable(saver = ScalingLazyListState.Saver) { columnState.state } + + return columnState +} + +@Composable +fun rememberResponsiveColumnState( + contentPadding: @Composable () -> PaddingValues = + ScalingLazyColumnDefaults.padding( + first = ScalingLazyColumnDefaults.ItemType.Unspecified, + last = ScalingLazyColumnDefaults.ItemType.Unspecified, + ), + verticalArrangement: Arrangement.Vertical = + Arrangement.spacedBy( + space = 4.dp, + alignment = Alignment.Top, + ), + rotaryMode: RotaryMode? = RotaryMode.Scroll, + hapticsEnabled: Boolean = true, + reverseLayout: Boolean = false, + userScrollEnabled: Boolean = true, +): ScalingLazyColumnState { + val density = LocalDensity.current + val configuration = LocalConfiguration.current + val screenWidthDp = configuration.screenWidthDp.toFloat() + val screenHeightDp = configuration.screenHeightDp.toFloat() + + val scalingParams = responsiveScalingParams(screenWidthDp) + + val contentPaddingCalculated = contentPadding() + + val screenHeightPx = with(density) { screenHeightDp.dp.roundToPx() } + val topPaddingPx = with(density) { contentPaddingCalculated.calculateTopPadding().roundToPx() } + val topScreenOffsetPx = screenHeightPx / 2 - topPaddingPx + + val initialScrollPosition = + ScalingLazyColumnState.ScrollPosition( + index = 0, + offsetPx = topScreenOffsetPx, + ) + + val columnState = + ScalingLazyColumnState( + initialScrollPosition = initialScrollPosition, + autoCentering = null, + anchorType = ScalingLazyListAnchorType.ItemStart, + rotaryMode = rotaryMode, + verticalArrangement = verticalArrangement, + horizontalAlignment = Alignment.CenterHorizontally, + contentPadding = contentPaddingCalculated, + scalingParams = scalingParams, + hapticsEnabled = hapticsEnabled, + reverseLayout = reverseLayout, + userScrollEnabled = userScrollEnabled, + ) + + columnState.state = rememberSaveable(saver = ScalingLazyListState.Saver) { columnState.state } + + return columnState +} + +@Composable +fun ScalingLazyColumn( + columnState: ScalingLazyColumnState, + modifier: Modifier = Modifier, + content: ScalingLazyListScope.() -> Unit, +) { + val focusRequester = rememberActiveFocusRequester() + + val rotaryHaptics = + if (columnState.hapticsEnabled) { + rememberRotaryHapticHandler(columnState.state) + } else { + rememberDisabledHaptic() + } + + val modifierWithRotary = + when (columnState.rotaryMode) { + RotaryMode.Snap -> + modifier.rotaryWithSnap( + focusRequester = focusRequester, + rotaryScrollAdapter = columnState.state.toRotaryScrollAdapter(), + reverseDirection = columnState.reverseLayout, + rotaryHaptics = rotaryHaptics, + ) + RotaryMode.Scroll -> + modifier.rotaryWithScroll( + focusRequester = focusRequester, + scrollableState = columnState.state, + reverseDirection = columnState.reverseLayout, + rotaryHaptics = rotaryHaptics, + ) + else -> modifier + } + + ScalingLazyColumn( + modifier = modifierWithRotary.fillMaxSize(), + state = columnState.state, + contentPadding = columnState.contentPadding, + reverseLayout = columnState.reverseLayout, + verticalArrangement = columnState.verticalArrangement, + horizontalAlignment = columnState.horizontalAlignment, + flingBehavior = columnState.flingBehavior ?: ScrollableDefaults.flingBehavior(), + userScrollEnabled = columnState.userScrollEnabled, + scalingParams = columnState.scalingParams, + anchorType = columnState.anchorType, + autoCentering = columnState.autoCentering, + content = content, + ) +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Haptics.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Haptics.kt new file mode 100644 index 000000000..817bf7efe --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Haptics.kt @@ -0,0 +1,292 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui.wear.elements.rotaryinput + +import android.os.Build +import android.view.View +import androidx.compose.foundation.gestures.ScrollableState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.platform.LocalView +import kotlin.math.abs +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.channels.BufferOverflow +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.conflate +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.receiveAsFlow +import kotlinx.coroutines.withContext + +// This file is a copy of Haptics.kt from Horologist (go/horologist), +// remove it once Wear Compose 1.4 is landed (b/325560444). + +private const val DEBUG = false + +/** Debug logging that can be enabled. */ +private inline fun debugLog(generateMsg: () -> String) { + if (DEBUG) { + println("RotaryHaptics: ${generateMsg()}") + } +} + +/** + * Throttling events within specified timeframe. Only first and last events will be received. For a + * flow emitting elements 1 to 30, with a 100ms delay between them: + * ``` + * val flow = flow { + * for (i in 1..30) { + * delay(100) + * emit(i) + * } + * } + * ``` + * + * With timeframe=1000 only those integers will be received: 1, 10, 20, 30 . + */ +internal fun <T> Flow<T>.throttleLatest(timeframe: Long): Flow<T> = flow { + conflate().collect { + emit(it) + delay(timeframe) + } +} + +/** Handles haptics for rotary usage */ +interface RotaryHapticHandler { + + /** Handles haptics when scroll is used */ + fun handleScrollHaptic(scrollDelta: Float) + + /** Handles haptics when scroll with snap is used */ + fun handleSnapHaptic(scrollDelta: Float) +} + +/** + * Default implementation of [RotaryHapticHandler]. It handles haptic feedback based on the + * [scrollableState], scrolled pixels and [hapticsThresholdPx]. Haptic is not fired in this class, + * instead it's sent to [hapticsChannel] where it'll performed later. + * + * @param scrollableState Haptic performed based on this state + * @param hapticsChannel Channel to which haptic events will be sent + * @param hapticsThresholdPx A scroll threshold after which haptic is produced. + */ +class DefaultRotaryHapticHandler( + private val scrollableState: ScrollableState, + private val hapticsChannel: Channel<RotaryHapticsType>, + private val hapticsThresholdPx: Long = 50, +) : RotaryHapticHandler { + + private var overscrollHapticTriggered = false + private var currScrollPosition = 0f + private var prevHapticsPosition = 0f + + override fun handleScrollHaptic(scrollDelta: Float) { + if ( + (scrollDelta > 0 && !scrollableState.canScrollForward) || + (scrollDelta < 0 && !scrollableState.canScrollBackward) + ) { + if (!overscrollHapticTriggered) { + trySendHaptic(RotaryHapticsType.ScrollLimit) + overscrollHapticTriggered = true + } + } else { + overscrollHapticTriggered = false + currScrollPosition += scrollDelta + val diff = abs(currScrollPosition - prevHapticsPosition) + + if (diff >= hapticsThresholdPx) { + trySendHaptic(RotaryHapticsType.ScrollTick) + prevHapticsPosition = currScrollPosition + } + } + } + + override fun handleSnapHaptic(scrollDelta: Float) { + if ( + (scrollDelta > 0 && !scrollableState.canScrollForward) || + (scrollDelta < 0 && !scrollableState.canScrollBackward) + ) { + if (!overscrollHapticTriggered) { + trySendHaptic(RotaryHapticsType.ScrollLimit) + overscrollHapticTriggered = true + } + } else { + overscrollHapticTriggered = false + trySendHaptic(RotaryHapticsType.ScrollItemFocus) + } + } + + private fun trySendHaptic(rotaryHapticsType: RotaryHapticsType) { + // Ok to ignore the ChannelResult because we default to capacity = 2 and DROP_OLDEST + @Suppress("UNUSED_VARIABLE") val unused = hapticsChannel.trySend(rotaryHapticsType) + } +} + +/** Interface for Rotary haptic feedback */ +interface RotaryHapticFeedback { + fun performHapticFeedback(type: RotaryHapticsType) +} + +/** Rotary haptic types */ +@JvmInline +value class RotaryHapticsType(private val type: Int) { + companion object { + /** + * A scroll ticking haptic. Similar to texture haptic - performed each time when a + * scrollable content is scrolled by a certain distance + */ + val ScrollTick: RotaryHapticsType = RotaryHapticsType(1) + + /** + * An item focus (snap) haptic. Performed when a scrollable content is snapped to a specific + * item. + */ + val ScrollItemFocus: RotaryHapticsType = RotaryHapticsType(2) + + /** + * A limit(overscroll) haptic. Performed when a list reaches the limit (start or end) and + * can't scroll further + */ + val ScrollLimit: RotaryHapticsType = RotaryHapticsType(3) + } +} + +/** Remember disabled haptics handler */ +@Composable +fun rememberDisabledHaptic(): RotaryHapticHandler = remember { + object : RotaryHapticHandler { + + override fun handleScrollHaptic(scrollDelta: Float) { + // Do nothing + } + + override fun handleSnapHaptic(scrollDelta: Float) { + // Do nothing + } + } +} + +/** + * Remember rotary haptic handler. + * + * @param scrollableState A scrollableState, used to determine whether the end of the scrollable was + * reached or not. + * @param throttleThresholdMs Throttling events within specified timeframe. Only first and last + * events will be received. Check [throttleLatest] for more info. + * @param hapticsThresholdPx A scroll threshold after which haptic is produced. + * @param hapticsChannel Channel to which haptic events will be sent + * @param rotaryHaptics Interface for Rotary haptic feedback which performs haptics + */ +@Composable +fun rememberRotaryHapticHandler( + scrollableState: ScrollableState, + throttleThresholdMs: Long = 30, + hapticsThresholdPx: Long = 50, + hapticsChannel: Channel<RotaryHapticsType> = rememberHapticChannel(), + rotaryHaptics: RotaryHapticFeedback = rememberDefaultRotaryHapticFeedback(), +): RotaryHapticHandler { + return remember(scrollableState, hapticsChannel, rotaryHaptics) { + DefaultRotaryHapticHandler(scrollableState, hapticsChannel, hapticsThresholdPx) + } + .apply { + LaunchedEffect(hapticsChannel) { + hapticsChannel.receiveAsFlow().throttleLatest(throttleThresholdMs).collect { + hapticType -> + // 'withContext' launches performHapticFeedback in a separate thread, + // as otherwise it produces a visible lag (b/219776664) + val currentTime = System.currentTimeMillis() + debugLog { "Haptics started" } + withContext(Dispatchers.Default) { + debugLog { + "Performing haptics, delay: " + + "${System.currentTimeMillis() - currentTime}" + } + rotaryHaptics.performHapticFeedback(hapticType) + } + } + } + } +} + +@Composable +private fun rememberHapticChannel() = remember { + Channel<RotaryHapticsType>( + capacity = 2, + onBufferOverflow = BufferOverflow.DROP_OLDEST, + ) +} + +@Composable +public fun rememberDefaultRotaryHapticFeedback(): RotaryHapticFeedback = + LocalView.current.let { view -> remember { findDeviceSpecificHapticFeedback(view) } } + +internal fun findDeviceSpecificHapticFeedback(view: View): RotaryHapticFeedback = + if (isSamsungWatch()) { + SamsungWatchHapticFeedback(view) + } else { + DefaultRotaryHapticFeedback(view) + } + +/** Default Rotary implementation for [RotaryHapticFeedback] */ +class DefaultRotaryHapticFeedback(private val view: View) : RotaryHapticFeedback { + + override fun performHapticFeedback( + type: RotaryHapticsType, + ) { + when (type) { + RotaryHapticsType.ScrollItemFocus -> { + view.performHapticFeedback(SCROLL_ITEM_FOCUS) + } + RotaryHapticsType.ScrollTick -> { + view.performHapticFeedback(SCROLL_TICK) + } + RotaryHapticsType.ScrollLimit -> { + view.performHapticFeedback(SCROLL_LIMIT) + } + } + } + + private companion object { + // Hidden constants from HapticFeedbackConstants + const val SCROLL_TICK: Int = 18 + const val SCROLL_ITEM_FOCUS: Int = 19 + const val SCROLL_LIMIT: Int = 20 + } +} + +/** Implementation of [RotaryHapticFeedback] for Samsung devices */ +private class SamsungWatchHapticFeedback(private val view: View) : RotaryHapticFeedback { + override fun performHapticFeedback( + type: RotaryHapticsType, + ) { + when (type) { + RotaryHapticsType.ScrollItemFocus -> { + view.performHapticFeedback(102) + } + RotaryHapticsType.ScrollTick -> { + view.performHapticFeedback(102) + } + RotaryHapticsType.ScrollLimit -> { + view.performHapticFeedback(50107) + } + } + } +} + +private fun isSamsungWatch(): Boolean = Build.MANUFACTURER.contains("Samsung", ignoreCase = true) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Rotary.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Rotary.kt new file mode 100644 index 000000000..19a6ea671 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/Rotary.kt @@ -0,0 +1,1232 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui.wear.elements.rotaryinput + +import android.view.ViewConfiguration +import androidx.compose.animation.core.AnimationState +import androidx.compose.animation.core.CubicBezierEasing +import androidx.compose.animation.core.Easing +import androidx.compose.animation.core.FastOutSlowInEasing +import androidx.compose.animation.core.SpringSpec +import androidx.compose.animation.core.animateTo +import androidx.compose.animation.core.copy +import androidx.compose.animation.core.spring +import androidx.compose.animation.core.tween +import androidx.compose.foundation.MutatePriority +import androidx.compose.foundation.focusable +import androidx.compose.foundation.gestures.FlingBehavior +import androidx.compose.foundation.gestures.ScrollableDefaults +import androidx.compose.foundation.gestures.ScrollableState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.snapshots.Snapshot +import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.input.rotary.RotaryInputModifierNode +import androidx.compose.ui.input.rotary.RotaryScrollEvent +import androidx.compose.ui.node.ModifierNodeElement +import androidx.compose.ui.platform.InspectorInfo +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.platform.debugInspectorInfo +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.util.fastSumBy +import androidx.compose.ui.util.lerp +import androidx.wear.compose.foundation.ExperimentalWearFoundationApi +import androidx.wear.compose.foundation.lazy.ScalingLazyListState +import androidx.wear.compose.foundation.rememberActiveFocusRequester +import kotlin.math.abs +import kotlin.math.absoluteValue +import kotlin.math.sign +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.Job +import kotlinx.coroutines.async +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.flow.receiveAsFlow +import kotlinx.coroutines.flow.transformLatest +import kotlinx.coroutines.launch + +// This file is a copy of Rotary.kt from Horologist (go/horologist), +// remove it once Wear Compose 1.4 is landed (b/325560444). + +/** + * A modifier which connects rotary events with scrollable. This modifier supports scroll with + * fling. + * + * @param scrollableState Scrollable state which will be scrolled while receiving rotary events + * @param focusRequester Requests the focus for rotary input. By default comes from + * [rememberActiveFocusRequester], which is used with [HierarchicalFocusCoordinator] + * @param flingBehavior Logic describing fling behavior. If null fling will not happen. + * @param rotaryHaptics Class which will handle haptic feedback + * @param reverseDirection Reverse the direction of scrolling. Should be aligned with Scrollable + * `reverseDirection` parameter + */ +@OptIn(ExperimentalWearFoundationApi::class) +@Suppress("ComposableModifierFactory") +@Composable +fun Modifier.rotaryWithScroll( + scrollableState: ScrollableState, + focusRequester: FocusRequester = rememberActiveFocusRequester(), + flingBehavior: FlingBehavior? = ScrollableDefaults.flingBehavior(), + rotaryHaptics: RotaryHapticHandler = rememberRotaryHapticHandler(scrollableState), + reverseDirection: Boolean = false, +): Modifier = + rotaryHandler( + rotaryScrollHandler = + RotaryDefaults.rememberFlingHandler(scrollableState, flingBehavior), + reverseDirection = reverseDirection, + rotaryHaptics = rotaryHaptics, + inspectorInfo = + debugInspectorInfo { + name = "rotaryWithFling" + properties["scrollableState"] = scrollableState + properties["focusRequester"] = focusRequester + properties["flingBehavior"] = flingBehavior + properties["rotaryHaptics"] = rotaryHaptics + properties["reverseDirection"] = reverseDirection + }, + ) + .focusRequester(focusRequester) + .focusable() + +/** + * A modifier which connects rotary events with scrollable. This modifier supports snap. + * + * @param focusRequester Requests the focus for rotary input. By default comes from + * [rememberActiveFocusRequester], which is used with [HierarchicalFocusCoordinator] + * @param rotaryScrollAdapter A connection between scrollable objects and rotary events + * @param rotaryHaptics Class which will handle haptic feedback + * @param reverseDirection Reverse the direction of scrolling. Should be aligned with Scrollable + * `reverseDirection` parameter + */ +@OptIn(ExperimentalWearFoundationApi::class) +@Suppress("ComposableModifierFactory") +@Composable +fun Modifier.rotaryWithSnap( + rotaryScrollAdapter: RotaryScrollAdapter, + focusRequester: FocusRequester = rememberActiveFocusRequester(), + snapParameters: SnapParameters = RotaryDefaults.snapParametersDefault, + rotaryHaptics: RotaryHapticHandler = + rememberRotaryHapticHandler(rotaryScrollAdapter.scrollableState), + reverseDirection: Boolean = false, +): Modifier = + rotaryHandler( + rotaryScrollHandler = + RotaryDefaults.rememberSnapHandler(rotaryScrollAdapter, snapParameters), + reverseDirection = reverseDirection, + rotaryHaptics = rotaryHaptics, + inspectorInfo = + debugInspectorInfo { + name = "rotaryWithFling" + properties["rotaryScrollAdapter"] = rotaryScrollAdapter + properties["focusRequester"] = focusRequester + properties["snapParameters"] = snapParameters + properties["rotaryHaptics"] = rotaryHaptics + properties["reverseDirection"] = reverseDirection + }, + ) + .focusRequester(focusRequester) + .focusable() + +/** An extension function for creating [RotaryScrollAdapter] from [ScalingLazyListState] */ +@Composable +fun ScalingLazyListState.toRotaryScrollAdapter(): RotaryScrollAdapter = + remember(this) { ScalingLazyColumnRotaryScrollAdapter(this) } + +/** An implementation of rotary scroll adapter for [ScalingLazyColumn] */ +class ScalingLazyColumnRotaryScrollAdapter( + override val scrollableState: ScalingLazyListState, +) : RotaryScrollAdapter { + + /** Calculates an average height of an item by taking an average from visible items height. */ + override fun averageItemSize(): Float { + val visibleItems = scrollableState.layoutInfo.visibleItemsInfo + return (visibleItems.fastSumBy { it.unadjustedSize } / visibleItems.size).toFloat() + } + + /** Current (centred) item index */ + override fun currentItemIndex(): Int = scrollableState.centerItemIndex + + /** An offset from the item centre */ + override fun currentItemOffset(): Float = scrollableState.centerItemScrollOffset.toFloat() + + /** The total count of items in ScalingLazyColumn */ + override fun totalItemsCount(): Int = scrollableState.layoutInfo.totalItemsCount +} + +/** An adapter which connects scrollableState to Rotary */ +interface RotaryScrollAdapter { + + /** A scrollable state. Used for performing scroll when Rotary events received */ + val scrollableState: ScrollableState + + /** Average size of an item. Used for estimating the scrollable distance */ + fun averageItemSize(): Float + + /** A current item index. Used for scrolling */ + fun currentItemIndex(): Int + + /** An offset from the centre or the border of the current item. */ + fun currentItemOffset(): Float + + /** The total count of items in [scrollableState] */ + fun totalItemsCount(): Int +} + +/** Defaults for rotary modifiers */ +object RotaryDefaults { + + /** Returns default [SnapParameters] */ + val snapParametersDefault: SnapParameters = + SnapParameters( + snapOffset = 0, + thresholdDivider = 1.5f, + resistanceFactor = 3f, + ) + + /** Returns whether the input is Low-res (a bezel) or high-res(a crown/rsb). */ + @Composable + fun isLowResInput(): Boolean = + LocalContext.current.packageManager.hasSystemFeature( + "android.hardware.rotaryencoder.lowres" + ) + + /** + * Handles scroll with fling. + * + * @param scrollableState Scrollable state which will be scrolled while receiving rotary events + * @param flingBehavior Logic describing Fling behavior. If null - fling will not happen + * @param isLowRes Whether the input is Low-res (a bezel) or high-res(a crown/rsb) + */ + @Composable + internal fun rememberFlingHandler( + scrollableState: ScrollableState, + flingBehavior: FlingBehavior? = null, + isLowRes: Boolean = isLowResInput(), + ): RotaryScrollHandler { + val viewConfiguration = ViewConfiguration.get(LocalContext.current) + + return remember(scrollableState, flingBehavior, isLowRes) { + // Remove unnecessary recompositions by disabling tracking of changes inside of + // this block. This algorithm properly reads all updated values and + // don't need recomposition when those values change. + Snapshot.withoutReadObservation { + debugLog { "isLowRes : $isLowRes" } + fun rotaryFlingBehavior() = + flingBehavior?.run { + RotaryFlingBehavior( + scrollableState, + flingBehavior, + viewConfiguration, + flingTimeframe = + if (isLowRes) lowResFlingTimeframe else highResFlingTimeframe, + ) + } + + fun scrollBehavior() = RotaryScrollBehavior(scrollableState) + + if (isLowRes) { + LowResRotaryScrollHandler( + rotaryFlingBehaviorFactory = { rotaryFlingBehavior() }, + scrollBehaviorFactory = { scrollBehavior() }, + ) + } else { + HighResRotaryScrollHandler( + rotaryFlingBehaviorFactory = { rotaryFlingBehavior() }, + scrollBehaviorFactory = { scrollBehavior() }, + ) + } + } + } + } + + /** + * Handles scroll with snap + * + * @param rotaryScrollAdapter A connection between scrollable objects and rotary events + * @param snapParameters Snap parameters + */ + @Composable + internal fun rememberSnapHandler( + rotaryScrollAdapter: RotaryScrollAdapter, + snapParameters: SnapParameters = snapParametersDefault, + isLowRes: Boolean = isLowResInput(), + ): RotaryScrollHandler { + return remember(rotaryScrollAdapter, snapParameters) { + // Remove unnecessary recompositions by disabling tracking of changes inside of + // this block. This algorithm properly reads all updated values and + // don't need recomposition when those values change. + Snapshot.withoutReadObservation { + debugLog { "isLowRes : $isLowRes" } + if (isLowRes) { + LowResSnapHandler( + snapBehaviourFactory = { + RotarySnapBehavior(rotaryScrollAdapter, snapParameters) + }, + ) + } else { + HighResSnapHandler( + resistanceFactor = snapParameters.resistanceFactor, + thresholdBehaviorFactory = { + ThresholdBehavior( + rotaryScrollAdapter, + snapParameters.thresholdDivider, + ) + }, + snapBehaviourFactory = { + RotarySnapBehavior(rotaryScrollAdapter, snapParameters) + }, + scrollBehaviourFactory = { + RotaryScrollBehavior(rotaryScrollAdapter.scrollableState) + }, + ) + } + } + } + } + + private val lowResFlingTimeframe: Long = 100L + private val highResFlingTimeframe: Long = 30L +} + +/** + * Parameters used for snapping + * + * @param snapOffset an optional offset to be applied when snapping the item. After the snap the + * snapped items offset will be [snapOffset]. + */ +class SnapParameters( + val snapOffset: Int, + val thresholdDivider: Float, + val resistanceFactor: Float, +) { + /** Returns a snapping offset in [Dp] */ + @Composable + fun snapOffsetDp(): Dp { + return with(LocalDensity.current) { snapOffset.toDp() } + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other == null || this::class != other::class) return false + + other as SnapParameters + + if (snapOffset != other.snapOffset) return false + if (thresholdDivider != other.thresholdDivider) return false + if (resistanceFactor != other.resistanceFactor) return false + + return true + } + + override fun hashCode(): Int { + var result = snapOffset + result = 31 * result + thresholdDivider.hashCode() + result = 31 * result + resistanceFactor.hashCode() + return result + } +} + +/** An interface for handling scroll events */ +internal interface RotaryScrollHandler { + /** + * Handles scrolling events + * + * @param coroutineScope A scope for performing async actions + * @param event A scrollable event from rotary input, containing scrollable delta and timestamp + * @param rotaryHaptics + */ + suspend fun handleScrollEvent( + coroutineScope: CoroutineScope, + event: TimestampedDelta, + rotaryHaptics: RotaryHapticHandler, + ) +} + +/** + * Class responsible for Fling behaviour with rotary. It tracks and produces the fling when + * necessary + */ +internal class RotaryFlingBehavior( + private val scrollableState: ScrollableState, + private val flingBehavior: FlingBehavior, + viewConfiguration: ViewConfiguration, + private val flingTimeframe: Long, +) { + + // A time range during which the fling is valid. + // For simplicity it's twice as long as [flingTimeframe] + private val timeRangeToFling = flingTimeframe * 2 + + // A default fling factor for making fling slower + private val flingScaleFactor = 0.7f + + private var previousVelocity = 0f + + private val rotaryVelocityTracker = RotaryVelocityTracker() + + private val minFlingSpeed = viewConfiguration.scaledMinimumFlingVelocity.toFloat() + private val maxFlingSpeed = viewConfiguration.scaledMaximumFlingVelocity.toFloat() + private var latestEventTimestamp: Long = 0 + + private var flingVelocity: Float = 0f + private var flingTimestamp: Long = 0 + + /** Starts a new fling tracking session with specified timestamp */ + fun startFlingTracking(timestamp: Long) { + rotaryVelocityTracker.start(timestamp) + latestEventTimestamp = timestamp + previousVelocity = 0f + } + + /** Observing new event within a fling tracking session with new timestamp and delta */ + fun observeEvent(timestamp: Long, delta: Float) { + rotaryVelocityTracker.move(timestamp, delta) + latestEventTimestamp = timestamp + } + + /** Performing fling if necessary and calling [beforeFling] lambda before it is triggered */ + suspend fun trackFling(beforeFling: () -> Unit) { + val currentVelocity = rotaryVelocityTracker.velocity + debugLog { "currentVelocity: $currentVelocity" } + + if (abs(currentVelocity) >= abs(previousVelocity)) { + flingTimestamp = latestEventTimestamp + flingVelocity = currentVelocity * flingScaleFactor + } + previousVelocity = currentVelocity + + // Waiting for a fixed amount of time before checking the fling + delay(flingTimeframe) + + // For making a fling 2 criteria should be met: + // 1) no more than + // `rangeToFling` ms should pass between last fling detection + // and the time of last motion event + // 2) flingVelocity should exceed the minFlingSpeed + debugLog { + "Check fling: flingVelocity: $flingVelocity " + + "minFlingSpeed: $minFlingSpeed, maxFlingSpeed: $maxFlingSpeed" + } + if ( + latestEventTimestamp - flingTimestamp < timeRangeToFling && + abs(flingVelocity) > minFlingSpeed + ) { + // Stops scrollAnimationCoroutine because a fling will be performed + beforeFling() + val velocity = flingVelocity.coerceIn(-maxFlingSpeed, maxFlingSpeed) + scrollableState.scroll(MutatePriority.UserInput) { + with(flingBehavior) { + debugLog { "Flinging with velocity $velocity" } + performFling(velocity) + } + } + } + } +} + +/** + * A rotary event object which contains a [timestamp] of the rotary event and a scrolled [delta]. + */ +internal data class TimestampedDelta(val timestamp: Long, val delta: Float) + +/** + * This class does a smooth animation when the scroll by N pixels is done. This animation works well + * on Rsb(high-res) and Bezel(low-res) devices. + */ +internal class RotaryScrollBehavior( + private val scrollableState: ScrollableState, +) { + private var sequentialAnimation = false + private var scrollAnimation = AnimationState(0f) + private var prevPosition = 0f + + /** Handles scroll event to [targetValue] */ + suspend fun handleEvent(targetValue: Float) { + scrollableState.scroll(MutatePriority.UserInput) { + debugLog { "ScrollAnimation value before start: ${scrollAnimation.value}" } + + scrollAnimation.animateTo( + targetValue, + animationSpec = spring(), + sequentialAnimation = sequentialAnimation, + ) { + val delta = value - prevPosition + debugLog { "Animated by $delta, value: $value" } + scrollBy(delta) + prevPosition = value + sequentialAnimation = value != this.targetValue + } + } + } +} + +/** + * A helper class for snapping with rotary. Uses animateScrollToItem method for snapping to the Nth + * item. + */ +internal class RotarySnapBehavior( + private val rotaryScrollAdapter: RotaryScrollAdapter, + private val snapParameters: SnapParameters, +) { + private var snapTarget: Int = rotaryScrollAdapter.currentItemIndex() + private var sequentialSnap: Boolean = false + + private var anim = AnimationState(0f) + private var expectedDistance = 0f + + private val defaultStiffness = 200f + private var snapTargetUpdated = true + + /** + * Preparing snapping. This method should be called before [snapToTargetItem] is called. + * + * Snapping is done for current + [moveForElements] items. + * + * If [sequentialSnap] is true, items are summed up together. For example, if + * [prepareSnapForItems] is called with [moveForElements] = 2, 3, 5 -> then the snapping will + * happen to current + 10 items + * + * If [sequentialSnap] is false, then [moveForElements] are not summed up together. + */ + fun prepareSnapForItems(moveForElements: Int, sequentialSnap: Boolean) { + this.sequentialSnap = sequentialSnap + if (sequentialSnap) { + snapTarget += moveForElements + } else { + snapTarget = rotaryScrollAdapter.currentItemIndex() + moveForElements + } + snapTargetUpdated = true + snapTarget = snapTarget.coerceIn(0 until rotaryScrollAdapter.totalItemsCount()) + } + + /** Performs snapping to the closest item. */ + suspend fun snapToClosestItem() { + // Snapping to the closest item by using performFling method with 0 speed + rotaryScrollAdapter.scrollableState.scroll(MutatePriority.UserInput) { + debugLog { "snap to closest item" } + var prevPosition = 0f + AnimationState(0f).animateTo( + targetValue = -rotaryScrollAdapter.currentItemOffset(), + animationSpec = tween(durationMillis = 100, easing = FastOutSlowInEasing), + ) { + val animDelta = value - prevPosition + scrollBy(animDelta) + prevPosition = value + } + snapTarget = rotaryScrollAdapter.currentItemIndex() + } + } + + /** Returns true if top edge was reached */ + fun topEdgeReached(): Boolean = snapTarget <= 0 + + /** Returns true if bottom edge was reached */ + fun bottomEdgeReached(): Boolean = snapTarget >= rotaryScrollAdapter.totalItemsCount() - 1 + + /** Performs snapping to the specified in [prepareSnapForItems] element */ + suspend fun snapToTargetItem() { + if (sequentialSnap) { + anim = anim.copy(0f) + } else { + anim = AnimationState(0f) + } + rotaryScrollAdapter.scrollableState.scroll(MutatePriority.UserInput) { + // If snapTargetUpdated is true - then the target was updated so we + // need to do snap again + while (snapTargetUpdated) { + snapTargetUpdated = false + var latestCenterItem: Int + var continueFirstScroll = true + debugLog { "snapTarget $snapTarget" } + while (continueFirstScroll) { + latestCenterItem = rotaryScrollAdapter.currentItemIndex() + anim = anim.copy(0f) + expectedDistance = expectedDistanceTo(snapTarget, snapParameters.snapOffset) + debugLog { + "expectedDistance = $expectedDistance, " + + "scrollableState.centerItemScrollOffset " + + "${rotaryScrollAdapter.currentItemOffset()}" + } + continueFirstScroll = false + var prevPosition = 0f + + anim.animateTo( + expectedDistance, + animationSpec = + SpringSpec( + stiffness = defaultStiffness, + visibilityThreshold = 0.1f, + ), + sequentialAnimation = (anim.velocity != 0f), + ) { + val animDelta = value - prevPosition + debugLog { + "First animation, value:$value, velocity:$velocity, " + + "animDelta:$animDelta" + } + + // Exit animation if snap target was updated + if (snapTargetUpdated) cancelAnimation() + + scrollBy(animDelta) + prevPosition = value + + if (latestCenterItem != rotaryScrollAdapter.currentItemIndex()) { + continueFirstScroll = true + cancelAnimation() + return@animateTo + } + + debugLog { "centerItemIndex = ${rotaryScrollAdapter.currentItemIndex()}" } + if (rotaryScrollAdapter.currentItemIndex() == snapTarget) { + debugLog { "Target is visible. Cancelling first animation" } + debugLog { + "scrollableState.centerItemScrollOffset " + + "${rotaryScrollAdapter.currentItemOffset()}" + } + expectedDistance = -rotaryScrollAdapter.currentItemOffset() + continueFirstScroll = false + cancelAnimation() + return@animateTo + } + } + } + // Exit animation if snap target was updated + if (snapTargetUpdated) continue + + anim = anim.copy(0f) + var prevPosition = 0f + anim.animateTo( + expectedDistance, + animationSpec = + SpringSpec( + stiffness = defaultStiffness, + visibilityThreshold = 0.1f, + ), + sequentialAnimation = (anim.velocity != 0f), + ) { + // Exit animation if snap target was updated + if (snapTargetUpdated) cancelAnimation() + + val animDelta = value - prevPosition + debugLog { "Final animation. velocity:$velocity, animDelta:$animDelta" } + scrollBy(animDelta) + prevPosition = value + } + } + } + } + + private fun expectedDistanceTo(index: Int, targetScrollOffset: Int): Float { + val averageSize = rotaryScrollAdapter.averageItemSize() + val indexesDiff = index - rotaryScrollAdapter.currentItemIndex() + debugLog { "Average size $averageSize" } + return (averageSize * indexesDiff) + targetScrollOffset - + rotaryScrollAdapter.currentItemOffset() + } +} + +/** + * A modifier which handles rotary events. It accepts ScrollHandler as the input - a class where + * main logic about how scroll should be handled is lying + */ +internal fun Modifier.rotaryHandler( + rotaryScrollHandler: RotaryScrollHandler, + reverseDirection: Boolean, + rotaryHaptics: RotaryHapticHandler, + inspectorInfo: InspectorInfo.() -> Unit, +): Modifier = + this then + RotaryHandlerElement( + rotaryScrollHandler, + reverseDirection, + rotaryHaptics, + inspectorInfo, + ) + +/** + * Batching requests for scrolling events. This function combines all events together (except first) + * within specified timeframe. Should help with performance on high-res devices. + */ +@OptIn(ExperimentalCoroutinesApi::class) +internal fun Flow<TimestampedDelta>.batchRequestsWithinTimeframe( + timeframe: Long +): Flow<TimestampedDelta> { + var delta = 0f + var lastTimestamp = -timeframe + return if (timeframe == 0L) { + this + } else { + this.transformLatest { + delta += it.delta + debugLog { "Batching requests. delta:$delta" } + if (lastTimestamp + timeframe <= it.timestamp) { + lastTimestamp = it.timestamp + debugLog { "No events before, delta= $delta" } + emit(TimestampedDelta(it.timestamp, delta)) + } else { + delay(timeframe) + debugLog { "After delay, delta= $delta" } + if (delta > 0f) { + emit(TimestampedDelta(it.timestamp, delta)) + } + } + delta = 0f + } + } +} + +/** + * A scroll handler for RSB(high-res) without snapping and with or without fling A list is scrolled + * by the number of pixels received from the rotary device. + * + * This class is a little bit different from LowResScrollHandler class - it has a filtering for + * events which are coming with wrong sign ( this happens to rsb devices, especially at the end of + * the scroll) + * + * This scroll handler supports fling. It can be set with [RotaryFlingBehavior]. + */ +internal class HighResRotaryScrollHandler( + private val rotaryFlingBehaviorFactory: () -> RotaryFlingBehavior?, + private val scrollBehaviorFactory: () -> RotaryScrollBehavior, + private val hapticsThreshold: Long = 50, +) : RotaryScrollHandler { + + // This constant is specific for high-res devices. Because that input values + // can sometimes come with different sign, we have to filter them in this threshold + private val gestureThresholdTime = 200L + private var scrollJob: Job = CompletableDeferred<Unit>() + private var flingJob: Job = CompletableDeferred<Unit>() + + private var previousScrollEventTime = 0L + private var rotaryScrollDistance = 0f + + private var rotaryFlingBehavior: RotaryFlingBehavior? = rotaryFlingBehaviorFactory() + private var scrollBehavior: RotaryScrollBehavior = scrollBehaviorFactory() + + override suspend fun handleScrollEvent( + coroutineScope: CoroutineScope, + event: TimestampedDelta, + rotaryHaptics: RotaryHapticHandler, + ) { + val time = event.timestamp + val isOppositeScrollValue = isOppositeValueAfterScroll(event.delta) + + if (isNewScrollEvent(time)) { + debugLog { "New scroll event" } + resetTracking(time) + rotaryScrollDistance = event.delta + } else { + // Due to the physics of Rotary side button, some events might come + // with an opposite axis value - either at the start or at the end of the motion. + // We don't want to use these values for fling calculations. + if (!isOppositeScrollValue) { + rotaryFlingBehavior?.observeEvent(event.timestamp, event.delta) + } else { + debugLog { "Opposite value after scroll :${event.delta}" } + } + rotaryScrollDistance += event.delta + } + + scrollJob.cancel() + + rotaryHaptics.handleScrollHaptic(event.delta) + debugLog { "Rotary scroll distance: $rotaryScrollDistance" } + + previousScrollEventTime = time + scrollJob = coroutineScope.async { scrollBehavior.handleEvent(rotaryScrollDistance) } + + if (rotaryFlingBehavior != null) { + flingJob.cancel() + flingJob = + coroutineScope.async { + rotaryFlingBehavior?.trackFling( + beforeFling = { + debugLog { "Calling before fling section" } + scrollJob.cancel() + scrollBehavior = scrollBehaviorFactory() + } + ) + } + } + } + + private fun isOppositeValueAfterScroll(delta: Float): Boolean = + rotaryScrollDistance * delta < 0f && (abs(delta) < abs(rotaryScrollDistance)) + + private fun isNewScrollEvent(timestamp: Long): Boolean { + val timeDelta = timestamp - previousScrollEventTime + return previousScrollEventTime == 0L || timeDelta > gestureThresholdTime + } + + private fun resetTracking(timestamp: Long) { + scrollBehavior = scrollBehaviorFactory() + rotaryFlingBehavior = rotaryFlingBehaviorFactory() + rotaryFlingBehavior?.startFlingTracking(timestamp) + } +} + +/** + * A scroll handler for Bezel(low-res) without snapping. This scroll handler supports fling. It can + * be set with RotaryFlingBehavior. + */ +internal class LowResRotaryScrollHandler( + private val rotaryFlingBehaviorFactory: () -> RotaryFlingBehavior?, + private val scrollBehaviorFactory: () -> RotaryScrollBehavior, +) : RotaryScrollHandler { + + private val gestureThresholdTime = 200L + private var previousScrollEventTime = 0L + private var rotaryScrollDistance = 0f + + private var scrollJob: Job = CompletableDeferred<Unit>() + private var flingJob: Job = CompletableDeferred<Unit>() + + private var rotaryFlingBehavior: RotaryFlingBehavior? = rotaryFlingBehaviorFactory() + private var scrollBehavior: RotaryScrollBehavior = scrollBehaviorFactory() + + override suspend fun handleScrollEvent( + coroutineScope: CoroutineScope, + event: TimestampedDelta, + rotaryHaptics: RotaryHapticHandler, + ) { + val time = event.timestamp + + if (isNewScrollEvent(time)) { + resetTracking(time) + rotaryScrollDistance = event.delta + } else { + rotaryFlingBehavior?.observeEvent(event.timestamp, event.delta) + rotaryScrollDistance += event.delta + } + + scrollJob.cancel() + flingJob.cancel() + + rotaryHaptics.handleScrollHaptic(event.delta) + debugLog { "Rotary scroll distance: $rotaryScrollDistance" } + + previousScrollEventTime = time + scrollJob = coroutineScope.async { scrollBehavior.handleEvent(rotaryScrollDistance) } + + flingJob = + coroutineScope.async { + rotaryFlingBehavior?.trackFling( + beforeFling = { + debugLog { "Calling before fling section" } + scrollJob.cancel() + scrollBehavior = scrollBehaviorFactory() + }, + ) + } + } + + private fun isNewScrollEvent(timestamp: Long): Boolean { + val timeDelta = timestamp - previousScrollEventTime + return previousScrollEventTime == 0L || timeDelta > gestureThresholdTime + } + + private fun resetTracking(timestamp: Long) { + scrollBehavior = scrollBehaviorFactory() + debugLog { "Velocity tracker reset" } + rotaryFlingBehavior = rotaryFlingBehaviorFactory() + rotaryFlingBehavior?.startFlingTracking(timestamp) + } +} + +/** + * A scroll handler for RSB(high-res) with snapping and without fling Snapping happens after a + * threshold is reached ( set in [RotarySnapBehavior]) + * + * This scroll handler doesn't support fling. + */ +internal class HighResSnapHandler( + private val resistanceFactor: Float, + private val thresholdBehaviorFactory: () -> ThresholdBehavior, + private val snapBehaviourFactory: () -> RotarySnapBehavior, + private val scrollBehaviourFactory: () -> RotaryScrollBehavior, +) : RotaryScrollHandler { + private val gestureThresholdTime = 200L + private val snapDelay = 100L + private val maxSnapsPerEvent = 2 + + private var scrollJob: Job = CompletableDeferred<Unit>() + private var snapJob: Job = CompletableDeferred<Unit>() + + private var previousScrollEventTime = 0L + private var snapAccumulator = 0f + private var rotaryScrollDistance = 0f + private var scrollInProgress = false + + private var snapBehaviour = snapBehaviourFactory() + private var scrollBehaviour = scrollBehaviourFactory() + private var thresholdBehavior = thresholdBehaviorFactory() + + private val scrollEasing: Easing = CubicBezierEasing(0.0f, 0.0f, 0.5f, 1.0f) + + override suspend fun handleScrollEvent( + coroutineScope: CoroutineScope, + event: TimestampedDelta, + rotaryHaptics: RotaryHapticHandler, + ) { + val time = event.timestamp + + if (isNewScrollEvent(time)) { + debugLog { "New scroll event" } + resetTracking() + snapJob.cancel() + snapBehaviour = snapBehaviourFactory() + scrollBehaviour = scrollBehaviourFactory() + thresholdBehavior = thresholdBehaviorFactory() + thresholdBehavior.startThresholdTracking(time) + snapAccumulator = 0f + rotaryScrollDistance = 0f + } + + if (!isOppositeValueAfterScroll(event.delta)) { + thresholdBehavior.observeEvent(event.timestamp, event.delta) + } else { + debugLog { "Opposite value after scroll :${event.delta}" } + } + + thresholdBehavior.applySmoothing() + val snapThreshold = thresholdBehavior.snapThreshold() + + snapAccumulator += event.delta + if (!snapJob.isActive) { + val resistanceCoeff = + 1 - scrollEasing.transform(rotaryScrollDistance.absoluteValue / snapThreshold) + rotaryScrollDistance += event.delta * resistanceCoeff + } + + debugLog { "Snap accumulator: $snapAccumulator" } + debugLog { "Rotary scroll distance: $rotaryScrollDistance" } + + debugLog { "snapThreshold: $snapThreshold" } + previousScrollEventTime = time + + if (abs(snapAccumulator) > snapThreshold) { + scrollInProgress = false + scrollBehaviour = scrollBehaviourFactory() + scrollJob.cancel() + + val snapDistance = + (snapAccumulator / snapThreshold) + .toInt() + .coerceIn(-maxSnapsPerEvent..maxSnapsPerEvent) + snapAccumulator -= snapThreshold * snapDistance + val sequentialSnap = snapJob.isActive + + debugLog { + "Snap threshold reached: snapDistance:$snapDistance, " + + "sequentialSnap: $sequentialSnap, " + + "snap accumulator remaining: $snapAccumulator" + } + if ( + (!snapBehaviour.topEdgeReached() && snapDistance < 0) || + (!snapBehaviour.bottomEdgeReached() && snapDistance > 0) + ) { + rotaryHaptics.handleSnapHaptic(event.delta) + } + + snapBehaviour.prepareSnapForItems(snapDistance, sequentialSnap) + if (!snapJob.isActive) { + snapJob.cancel() + snapJob = + coroutineScope.async { + debugLog { "Snap started" } + try { + snapBehaviour.snapToTargetItem() + } finally { + debugLog { "Snap called finally" } + } + } + } + rotaryScrollDistance = 0f + } else { + if (!snapJob.isActive) { + scrollJob.cancel() + debugLog { "Scrolling for $rotaryScrollDistance/$resistanceFactor px" } + scrollJob = + coroutineScope.async { + scrollBehaviour.handleEvent(rotaryScrollDistance / resistanceFactor) + } + delay(snapDelay) + scrollInProgress = false + scrollBehaviour = scrollBehaviourFactory() + rotaryScrollDistance = 0f + snapAccumulator = 0f + snapBehaviour.prepareSnapForItems(0, false) + + snapJob.cancel() + snapJob = coroutineScope.async { snapBehaviour.snapToClosestItem() } + } + } + } + + private fun isOppositeValueAfterScroll(delta: Float): Boolean = + sign(rotaryScrollDistance) * sign(delta) == -1f && (abs(delta) < abs(rotaryScrollDistance)) + + private fun isNewScrollEvent(timestamp: Long): Boolean { + val timeDelta = timestamp - previousScrollEventTime + return previousScrollEventTime == 0L || timeDelta > gestureThresholdTime + } + + private fun resetTracking() { + scrollInProgress = true + } +} + +/** + * A scroll handler for RSB(high-res) with snapping and without fling Snapping happens after a + * threshold is reached ( set in [RotarySnapBehavior]) + * + * This scroll handler doesn't support fling. + */ +internal class LowResSnapHandler( + private val snapBehaviourFactory: () -> RotarySnapBehavior, +) : RotaryScrollHandler { + private val gestureThresholdTime = 200L + + private var snapJob: Job = CompletableDeferred<Unit>() + + private var previousScrollEventTime = 0L + private var snapAccumulator = 0f + private var scrollInProgress = false + + private var snapBehaviour = snapBehaviourFactory() + + override suspend fun handleScrollEvent( + coroutineScope: CoroutineScope, + event: TimestampedDelta, + rotaryHaptics: RotaryHapticHandler, + ) { + val time = event.timestamp + + if (isNewScrollEvent(time)) { + debugLog { "New scroll event" } + resetTracking() + snapJob.cancel() + snapBehaviour = snapBehaviourFactory() + snapAccumulator = 0f + } + + snapAccumulator += event.delta + + debugLog { "Snap accumulator: $snapAccumulator" } + + previousScrollEventTime = time + + if (abs(snapAccumulator) > 1f) { + scrollInProgress = false + + val snapDistance = sign(snapAccumulator).toInt() + rotaryHaptics.handleSnapHaptic(event.delta) + val sequentialSnap = snapJob.isActive + debugLog { + "Snap threshold reached: snapDistance:$snapDistance, " + + "sequentialSnap: $sequentialSnap, " + + "snap accumulator: $snapAccumulator" + } + + snapBehaviour.prepareSnapForItems(snapDistance, sequentialSnap) + if (!snapJob.isActive) { + snapJob.cancel() + snapJob = + coroutineScope.async { + debugLog { "Snap started" } + try { + snapBehaviour.snapToTargetItem() + } finally { + debugLog { "Snap called finally" } + } + } + } + snapAccumulator = 0f + } + } + + private fun isNewScrollEvent(timestamp: Long): Boolean { + val timeDelta = timestamp - previousScrollEventTime + return previousScrollEventTime == 0L || timeDelta > gestureThresholdTime + } + + private fun resetTracking() { + scrollInProgress = true + } +} + +internal class ThresholdBehavior( + private val rotaryScrollAdapter: RotaryScrollAdapter, + private val thresholdDivider: Float, + private val minVelocity: Float = 300f, + private val maxVelocity: Float = 3000f, + private val smoothingConstant: Float = 0.4f, +) { + private val thresholdDividerEasing: Easing = CubicBezierEasing(0.5f, 0.0f, 0.5f, 1.0f) + + private val rotaryVelocityTracker = RotaryVelocityTracker() + + private var smoothedVelocity = 0f + + fun startThresholdTracking(time: Long) { + rotaryVelocityTracker.start(time) + smoothedVelocity = 0f + } + + fun observeEvent(timestamp: Long, delta: Float) { + rotaryVelocityTracker.move(timestamp, delta) + } + + fun applySmoothing() { + if (rotaryVelocityTracker.velocity != 0.0f) { + // smooth the velocity + smoothedVelocity = + exponentialSmoothing( + currentVelocity = rotaryVelocityTracker.velocity.absoluteValue, + prevVelocity = smoothedVelocity, + smoothingConstant = smoothingConstant, + ) + } + debugLog { "rotaryVelocityTracker velocity: ${rotaryVelocityTracker.velocity}" } + debugLog { "SmoothedVelocity: $smoothedVelocity" } + } + + fun snapThreshold(): Float { + val thresholdDividerFraction = + thresholdDividerEasing.transform( + inverseLerp( + minVelocity, + maxVelocity, + smoothedVelocity, + ), + ) + return rotaryScrollAdapter.averageItemSize() / + lerp( + 1f, + thresholdDivider, + thresholdDividerFraction, + ) + } + + private fun exponentialSmoothing( + currentVelocity: Float, + prevVelocity: Float, + smoothingConstant: Float, + ): Float = smoothingConstant * currentVelocity + (1 - smoothingConstant) * prevVelocity +} + +private data class RotaryHandlerElement( + private val rotaryScrollHandler: RotaryScrollHandler, + private val reverseDirection: Boolean, + private val rotaryHaptics: RotaryHapticHandler, + private val inspectorInfo: InspectorInfo.() -> Unit, +) : ModifierNodeElement<RotaryInputNode>() { + override fun create(): RotaryInputNode = + RotaryInputNode( + rotaryScrollHandler, + reverseDirection, + rotaryHaptics, + ) + + override fun update(node: RotaryInputNode) { + debugLog { "Update launched!" } + node.rotaryScrollHandler = rotaryScrollHandler + node.reverseDirection = reverseDirection + node.rotaryHaptics = rotaryHaptics + } + + override fun InspectorInfo.inspectableProperties() { + inspectorInfo() + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other == null || this::class != other::class) return false + + other as RotaryHandlerElement + + if (rotaryScrollHandler != other.rotaryScrollHandler) return false + if (reverseDirection != other.reverseDirection) return false + if (rotaryHaptics != other.rotaryHaptics) return false + if (inspectorInfo != other.inspectorInfo) return false + + return true + } + + override fun hashCode(): Int { + var result = rotaryScrollHandler.hashCode() + result = 31 * result + reverseDirection.hashCode() + result = 31 * result + rotaryHaptics.hashCode() + result = 31 * result + inspectorInfo.hashCode() + return result + } +} + +private class RotaryInputNode( + var rotaryScrollHandler: RotaryScrollHandler, + var reverseDirection: Boolean, + var rotaryHaptics: RotaryHapticHandler, +) : RotaryInputModifierNode, Modifier.Node() { + + val channel = Channel<TimestampedDelta>(capacity = Channel.CONFLATED) + val flow = channel.receiveAsFlow() + + override fun onAttach() { + coroutineScope.launch { + flow.collectLatest { + debugLog { + "Scroll event received: " + "delta:${it.delta}, timestamp:${it.timestamp}" + } + rotaryScrollHandler.handleScrollEvent(this, it, rotaryHaptics) + } + } + } + + override fun onRotaryScrollEvent(event: RotaryScrollEvent): Boolean = false + + override fun onPreRotaryScrollEvent(event: RotaryScrollEvent): Boolean { + debugLog { "onPreRotaryScrollEvent" } + channel.trySend( + TimestampedDelta( + event.uptimeMillis, + event.verticalScrollPixels * if (reverseDirection) -1f else 1f, + ), + ) + return true + } +} + +private fun inverseLerp(start: Float, stop: Float, value: Float): Float { + return ((value - start) / (stop - start)).coerceIn(0f, 1f) +} + +/** Debug logging that can be enabled. */ +private const val DEBUG = false + +private inline fun debugLog(generateMsg: () -> String) { + if (DEBUG) { + println("RotaryScroll: ${generateMsg()}") + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/RotaryVelocityTracker.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/RotaryVelocityTracker.kt new file mode 100644 index 000000000..1719ecef3 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/rotaryinput/RotaryVelocityTracker.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui.wear.elements.rotaryinput + +import androidx.compose.ui.input.pointer.util.VelocityTracker1D + +// This file is a copy of RotaryVelocityTracker.kt from Horologist (go/horologist), +// remove it once Wear Compose 1.4 is landed (b/325560444). + +/** A wrapper around VelocityTracker1D to provide support for rotary input. */ +class RotaryVelocityTracker { + private var velocityTracker: VelocityTracker1D = VelocityTracker1D(true) + + /** Retrieve the last computed velocity. */ + val velocity: Float + get() = velocityTracker.calculateVelocity() + + /** Start tracking motion. */ + fun start(currentTime: Long) { + velocityTracker.resetTracking() + velocityTracker.addDataPoint(currentTime, 0f) + } + + /** Continue tracking motion as the input rotates. */ + fun move(currentTime: Long, delta: Float) { + velocityTracker.addDataPoint(currentTime, delta) + } + + /** Stop tracking motion. */ + fun end() { + velocityTracker.resetTracking() + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearPermissionUsageViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearPermissionUsageViewModel.kt new file mode 100644 index 000000000..380c3cfee --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearPermissionUsageViewModel.kt @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.ui.wear.model + +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsagesUiState + +class WearPermissionUsageViewModel( + permissionUsagesUiState: PermissionUsagesUiState?, + showSystemApps: Boolean, + show7DaysData: Boolean +) : ViewModel() { + val permissionUsagesUiStateLiveData = MutableLiveData(permissionUsagesUiState) + /** A livedata which stores [BasePermissionUsageViewModel.getShowSystemApps()]. */ + val showSystemAppsLiveData = MutableLiveData(showSystemApps) + + /** A livedata which stores [BasePermissionUsageViewModel.getShow7DaysData()]. */ + val show7DaysLiveData = MutableLiveData(show7DaysData) + + fun updatePermissionUsagesUiStateLiveData(newUiData: PermissionUsagesUiState?) { + permissionUsagesUiStateLiveData.value = newUiData + } +} + +/** Factory for a WearPermissionsUsageViewModel */ +class WearPermissionUsageViewModelFactory(val viewModel: PermissionUsageViewModel) : + ViewModelProvider.Factory { + override fun <T : ViewModel> create(modelClass: Class<T>): T { + @Suppress("UNCHECKED_CAST") + return WearPermissionUsageViewModel( + viewModel.permissionUsagesUiLiveData.value, + viewModel.getShowSystemApps(), + viewModel.getShow7DaysData() + ) + as T + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearUnusedAppsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearUnusedAppsViewModel.kt index 38810ddd6..a2d987e02 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearUnusedAppsViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/model/WearUnusedAppsViewModel.kt @@ -34,7 +34,7 @@ class WearUnusedAppsViewModel : ViewModel() { /** A livedata which stores a map of unused apps group by UnusedPeriod. */ val unusedAppChipsLiveData = - MutableLiveData<MutableMap<UnusedPeriod, MutableMap<String, UnusedAppChip>>>() + MutableLiveData<Map<UnusedPeriod, Map<String, UnusedAppChip>>>() data class UnusedAppChip( val label: String, diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTheme.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTheme.kt new file mode 100644 index 000000000..933cf19f9 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTheme.kt @@ -0,0 +1,131 @@ +package com.android.permissioncontroller.permission.ui.wear.theme + +import android.content.Context +import android.os.Build +import androidx.annotation.RequiresApi +import androidx.annotation.StringRes +import androidx.annotation.VisibleForTesting +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.DeviceFontFamilyName +import androidx.compose.ui.text.font.Font +import androidx.compose.ui.text.font.FontFamily +import androidx.wear.compose.material.Colors +import androidx.wear.compose.material.MaterialTheme +import androidx.wear.compose.material.Typography +import com.android.permissioncontroller.R + +/** The Material 3 Theme Wrapper for Supporting RRO. */ +@Composable +fun WearPermissionTheme(content: @Composable () -> Unit) { + val context = LocalContext.current + val colors = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + overlayColors(context) + .copy(error = MaterialTheme.colors.error, onError = MaterialTheme.colors.onError) + } else { + MaterialTheme.colors + } + MaterialTheme(colors = colors, typography = deviceDefaultTypography(context), content = content) +} + +/** + * Creates a dynamic color maps that can be overlaid. 100 - Lightest shade; 0 - Darkest Shade; In + * wear we only support dark theme for the time being. Thus the fill colors and variants are dark + * and anything on top is light. We will use this custom redirection until wear compose material + * supports color scheming. + * + * The mapping is best case match on wear material color tokens from + * /android/clockwork/common/wearable/wearmaterial/color/res/values/color-tokens.xml + * + * @param context The context required to get system resource data. + */ +@RequiresApi(Build.VERSION_CODES.S) +@VisibleForTesting +internal fun overlayColors(context: Context): Colors { + val tonalPalette = dynamicTonalPalette(context) + return Colors( + background = Color.Black, + onBackground = Color.White, + primary = tonalPalette.primary90, + primaryVariant = tonalPalette.primary80, + onPrimary = tonalPalette.primary10, + secondary = tonalPalette.tertiary90, + secondaryVariant = tonalPalette.tertiary60, + onSecondary = tonalPalette.tertiary10, + surface = tonalPalette.neutral20, + onSurface = tonalPalette.neutral95, + onSurfaceVariant = tonalPalette.neutralVariant80, + ) +} + +private fun fontFamily(context: Context, @StringRes id: Int): FontFamily { + val typefaceName = context.resources.getString(id) + val font = Font(familyName = DeviceFontFamilyName(typefaceName)) + return FontFamily(font) +} + +/* + Only customizes font family. The material 3 roles to 2.5 are mapped to the best case matching of + google3/java/com/google/android/wearable/libraries/compose/theme/GoogleMaterialTheme.kt +*/ +internal fun deviceDefaultTypography(context: Context): Typography { + val defaultTypography = Typography() + return Typography( + display1 = + defaultTypography.display1.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_display_1_font_family) + ), + display2 = + defaultTypography.display2.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_display_2_font_family) + ), + display3 = + defaultTypography.display3.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_display_3_font_family) + ), + title1 = + defaultTypography.title1.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_title_1_font_family) + ), + title2 = + defaultTypography.title2.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_title_2_font_family) + ), + title3 = + defaultTypography.title3.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_title_3_font_family) + ), + body1 = + defaultTypography.body1.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_body_1_font_family) + ), + body2 = + defaultTypography.body2.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_body_2_font_family) + ), + button = + defaultTypography.button.copy( + fontFamily = fontFamily(context, R.string.wear_material_compose_button_font_family) + ), + caption1 = + defaultTypography.caption1.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_caption_1_font_family) + ), + caption2 = + defaultTypography.caption2.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_caption_2_font_family) + ), + caption3 = + defaultTypography.caption3.copy( + fontFamily = + fontFamily(context, R.string.wear_material_compose_caption_3_font_family) + ), + ) +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTonalPalette.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTonalPalette.kt new file mode 100644 index 000000000..a86af8b3d --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/theme/WearPermissionTonalPalette.kt @@ -0,0 +1,191 @@ +@file:Suppress("unused") + +package com.android.permissioncontroller.permission.ui.wear.theme + +import android.R +import android.content.Context +import android.os.Build +import androidx.annotation.ColorRes +import androidx.annotation.DoNotInline +import androidx.annotation.RequiresApi +import androidx.compose.ui.graphics.Color + +/** + * Tonal Palette structure in Material. + * + * A tonal palette is comprised of 5 tonal ranges. Each tonal range includes the 13 stops, or tonal + * swatches. + * + * Tonal range names are: + * - Neutral (N) + * - Neutral variant (NV) + * - Primary (P) + * - Secondary (S) + * - Tertiary (T) + */ +internal class WearPermissionTonalPalette( + // The neutral tonal range. + val neutral100: Color, + val neutral99: Color, + val neutral95: Color, + val neutral90: Color, + val neutral80: Color, + val neutral70: Color, + val neutral60: Color, + val neutral50: Color, + val neutral40: Color, + val neutral30: Color, + val neutral20: Color, + val neutral10: Color, + val neutral0: Color, + + // The neutral variant tonal range, sometimes called "neutral 2" + val neutralVariant100: Color, + val neutralVariant99: Color, + val neutralVariant95: Color, + val neutralVariant90: Color, + val neutralVariant80: Color, + val neutralVariant70: Color, + val neutralVariant60: Color, + val neutralVariant50: Color, + val neutralVariant40: Color, + val neutralVariant30: Color, + val neutralVariant20: Color, + val neutralVariant10: Color, + val neutralVariant0: Color, + + // The primary tonal range, also known as accent 1 + val primary100: Color, + val primary99: Color, + val primary95: Color, + val primary90: Color, + val primary80: Color, + val primary70: Color, + val primary60: Color, + val primary50: Color, + val primary40: Color, + val primary30: Color, + val primary20: Color, + val primary10: Color, + val primary0: Color, + + // The Secondary tonal range, also know as accent 2 + val secondary100: Color, + val secondary99: Color, + val secondary95: Color, + val secondary90: Color, + val secondary80: Color, + val secondary70: Color, + val secondary60: Color, + val secondary50: Color, + val secondary40: Color, + val secondary30: Color, + val secondary20: Color, + val secondary10: Color, + val secondary0: Color, + + // The tertiary tonal range, also known as accent 3 + val tertiary100: Color, + val tertiary99: Color, + val tertiary95: Color, + val tertiary90: Color, + val tertiary80: Color, + val tertiary70: Color, + val tertiary60: Color, + val tertiary50: Color, + val tertiary40: Color, + val tertiary30: Color, + val tertiary20: Color, + val tertiary10: Color, + val tertiary0: Color, +) +/** Dynamic colors for wear compose material to support resource overlay. */ +@RequiresApi(Build.VERSION_CODES.S) +// TODO: once we have proper support for this on Wear 6+, we will do something similar to +// https://source.corp.google.com/h/android/platform/superproject/+/androidx-main:frameworks/support/compose/material3/material3/src/androidMain/kotlin/androidx/compose/material3/DynamicTonalPalette.android.kt;l=307-362?q=dynamicTonalPalette&sq=repo:android%2Fplatform%2Fsuperproject%20b:androidx-main +// Tracking Bug: b/270720571 +internal fun dynamicTonalPalette(context: Context) = + WearPermissionTonalPalette( + // The neutral tonal range from the generated dynamic color palette. + neutral100 = ColorResourceHelper.getColor(context, R.color.system_neutral1_0), + neutral99 = ColorResourceHelper.getColor(context, R.color.system_neutral1_10), + neutral95 = ColorResourceHelper.getColor(context, R.color.system_neutral1_50), + neutral90 = ColorResourceHelper.getColor(context, R.color.system_neutral1_100), + neutral80 = ColorResourceHelper.getColor(context, R.color.system_neutral1_200), + neutral70 = ColorResourceHelper.getColor(context, R.color.system_neutral1_300), + neutral60 = ColorResourceHelper.getColor(context, R.color.system_neutral1_400), + neutral50 = ColorResourceHelper.getColor(context, R.color.system_neutral1_500), + neutral40 = ColorResourceHelper.getColor(context, R.color.system_neutral1_600), + neutral30 = ColorResourceHelper.getColor(context, R.color.system_neutral1_700), + neutral20 = ColorResourceHelper.getColor(context, R.color.system_neutral1_800), + neutral10 = ColorResourceHelper.getColor(context, R.color.system_neutral1_900), + neutral0 = ColorResourceHelper.getColor(context, R.color.system_neutral1_1000), + + // The neutral variant tonal range, sometimes called "neutral 2", from the + // generated dynamic color palette. + neutralVariant100 = ColorResourceHelper.getColor(context, R.color.system_neutral2_0), + neutralVariant99 = ColorResourceHelper.getColor(context, R.color.system_neutral2_10), + neutralVariant95 = ColorResourceHelper.getColor(context, R.color.system_neutral2_50), + neutralVariant90 = ColorResourceHelper.getColor(context, R.color.system_neutral2_100), + neutralVariant80 = ColorResourceHelper.getColor(context, R.color.system_neutral2_200), + neutralVariant70 = ColorResourceHelper.getColor(context, R.color.system_neutral2_300), + neutralVariant60 = ColorResourceHelper.getColor(context, R.color.system_neutral2_400), + neutralVariant50 = ColorResourceHelper.getColor(context, R.color.system_neutral2_500), + neutralVariant40 = ColorResourceHelper.getColor(context, R.color.system_neutral2_600), + neutralVariant30 = ColorResourceHelper.getColor(context, R.color.system_neutral2_700), + neutralVariant20 = ColorResourceHelper.getColor(context, R.color.system_neutral2_800), + neutralVariant10 = ColorResourceHelper.getColor(context, R.color.system_neutral2_900), + neutralVariant0 = ColorResourceHelper.getColor(context, R.color.system_neutral2_1000), + + // The primary tonal range from the generated dynamic color palette. + primary100 = ColorResourceHelper.getColor(context, R.color.system_accent1_0), + primary99 = ColorResourceHelper.getColor(context, R.color.system_accent1_10), + primary95 = ColorResourceHelper.getColor(context, R.color.system_accent1_50), + primary90 = ColorResourceHelper.getColor(context, R.color.system_accent1_100), + primary80 = ColorResourceHelper.getColor(context, R.color.system_accent1_200), + primary70 = ColorResourceHelper.getColor(context, R.color.system_accent1_300), + primary60 = ColorResourceHelper.getColor(context, R.color.system_accent1_400), + primary50 = ColorResourceHelper.getColor(context, R.color.system_accent1_500), + primary40 = ColorResourceHelper.getColor(context, R.color.system_accent1_600), + primary30 = ColorResourceHelper.getColor(context, R.color.system_accent1_700), + primary20 = ColorResourceHelper.getColor(context, R.color.system_accent1_800), + primary10 = ColorResourceHelper.getColor(context, R.color.system_accent1_900), + primary0 = ColorResourceHelper.getColor(context, R.color.system_accent1_1000), + + // The secondary tonal range from the generated dynamic color palette. + secondary100 = ColorResourceHelper.getColor(context, R.color.system_accent2_0), + secondary99 = ColorResourceHelper.getColor(context, R.color.system_accent2_10), + secondary95 = ColorResourceHelper.getColor(context, R.color.system_accent2_50), + secondary90 = ColorResourceHelper.getColor(context, R.color.system_accent2_100), + secondary80 = ColorResourceHelper.getColor(context, R.color.system_accent2_200), + secondary70 = ColorResourceHelper.getColor(context, R.color.system_accent2_300), + secondary60 = ColorResourceHelper.getColor(context, R.color.system_accent2_400), + secondary50 = ColorResourceHelper.getColor(context, R.color.system_accent2_500), + secondary40 = ColorResourceHelper.getColor(context, R.color.system_accent2_600), + secondary30 = ColorResourceHelper.getColor(context, R.color.system_accent2_700), + secondary20 = ColorResourceHelper.getColor(context, R.color.system_accent2_800), + secondary10 = ColorResourceHelper.getColor(context, R.color.system_accent2_900), + secondary0 = ColorResourceHelper.getColor(context, R.color.system_accent2_1000), + + // The tertiary tonal range from the generated dynamic color palette. + tertiary100 = ColorResourceHelper.getColor(context, R.color.system_accent3_0), + tertiary99 = ColorResourceHelper.getColor(context, R.color.system_accent3_10), + tertiary95 = ColorResourceHelper.getColor(context, R.color.system_accent3_50), + tertiary90 = ColorResourceHelper.getColor(context, R.color.system_accent3_100), + tertiary80 = ColorResourceHelper.getColor(context, R.color.system_accent3_200), + tertiary70 = ColorResourceHelper.getColor(context, R.color.system_accent3_300), + tertiary60 = ColorResourceHelper.getColor(context, R.color.system_accent3_400), + tertiary50 = ColorResourceHelper.getColor(context, R.color.system_accent3_500), + tertiary40 = ColorResourceHelper.getColor(context, R.color.system_accent3_600), + tertiary30 = ColorResourceHelper.getColor(context, R.color.system_accent3_700), + tertiary20 = ColorResourceHelper.getColor(context, R.color.system_accent3_800), + tertiary10 = ColorResourceHelper.getColor(context, R.color.system_accent3_900), + tertiary0 = ColorResourceHelper.getColor(context, R.color.system_accent3_1000), + ) + +private object ColorResourceHelper { + @DoNotInline + fun getColor(context: Context, @ColorRes id: Int): Color { + return Color(context.resources.getColor(id, context.theme)) + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/MultiDeviceUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/MultiDeviceUtils.kt deleted file mode 100644 index 2719b9766..000000000 --- a/PermissionController/src/com/android/permissioncontroller/permission/utils/MultiDeviceUtils.kt +++ /dev/null @@ -1,50 +0,0 @@ -package com.android.permissioncontroller.permission.utils - -import android.Manifest -import android.companion.virtual.VirtualDeviceManager -import android.content.Context -import android.os.Build -import android.provider.Settings -import androidx.annotation.ChecksSdkIntAtLeast -import com.android.modules.utils.build.SdkLevel -import com.android.permission.flags.Flags - -object MultiDeviceUtils { - const val DEFAULT_REMOTE_DEVICE_NAME = "remote device" - - /** - * Defines what runtime permissions are device aware. This can be replaced with an API from VDM - * which can take device's capabilities into account - */ - // TODO: b/298661870 - Use new API to get the list of device aware permissions - private val DEVICE_AWARE_PERMISSIONS: Set<String> = - setOf(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO) - - @JvmStatic - fun isPermissionDeviceAware(permission: String): Boolean = - permission in DEVICE_AWARE_PERMISSIONS - - @JvmStatic - @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) - fun isDeviceAwareGrantFlowEnabled(): Boolean { - return SdkLevel.isAtLeastV() && Flags.deviceAwarePermissionGrant() - } - - @JvmStatic - fun getDeviceName(context: Context, deviceId: Int): String? { - // Pre Android V no permission requests can affect the VirtualDevice, thus return local - // device name. - if (!SdkLevel.isAtLeastV() || deviceId == ContextCompat.DEVICE_ID_DEFAULT) { - return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME) - } - val vdm: VirtualDeviceManager? = context.getSystemService(VirtualDeviceManager::class.java) - if (vdm != null) { - val virtualDevice = vdm.getVirtualDevice(deviceId) - if (virtualDevice != null) { - return if (virtualDevice.displayName != null) virtualDevice.displayName.toString() - else DEFAULT_REMOTE_DEVICE_NAME - } - } - throw IllegalArgumentException("No device name for device: $deviceId") - } -} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt index 840a033c3..f97acb130 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/PermissionMapping.kt @@ -33,7 +33,7 @@ import com.android.permissioncontroller.permission.model.livedatatypes.LightAppP */ object PermissionMapping { - private val LOG_TAG = "PermissionMapping" + private const val LOG_TAG = "PermissionMapping" private val PERMISSION_GROUPS_TO_DATA_CATEGORIES: Map<String, List<String>> = mapOf(Manifest.permission_group.LOCATION to listOf(DataCategoryConstants.CATEGORY_LOCATION)) @@ -375,7 +375,12 @@ object PermissionMapping { return Manifest.permission_group.CAMERA } - return AppOpsManager.opToPermission(opName)?.let { getGroupOfPlatformPermission(it) } + return try { + AppOpsManager.opToPermission(opName)?.let { getGroupOfPlatformPermission(it) } + } catch (e: IllegalArgumentException) { + Log.wtf(LOG_TAG, "No permission group found for $opName") + null + } } /** diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java index ad384cca7..8d53d7eca 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java @@ -54,6 +54,7 @@ import android.Manifest; import android.app.AppOpsManager; import android.app.Application; import android.app.admin.DevicePolicyManager; +import android.app.ecm.EnhancedConfirmationManager; import android.app.role.RoleManager; import android.content.ActivityNotFoundException; import android.content.ComponentName; @@ -68,6 +69,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PermissionGroupInfo; import android.content.pm.PermissionInfo; import android.content.pm.ResolveInfo; +import android.content.pm.UserProperties; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.graphics.Bitmap; @@ -80,6 +82,7 @@ import android.os.Build; import android.os.Parcelable; import android.os.UserHandle; import android.os.UserManager; +import android.permission.flags.Flags; import android.provider.DeviceConfig; import android.provider.Settings; import android.text.Html; @@ -392,6 +395,8 @@ public final class Utils { /* do nothing - hide constructor */ } + private static Object sLock = new Object(); + private static ArrayMap<UserHandle, Context> sUserContexts = new ArrayMap<>(); /** @@ -406,11 +411,13 @@ public final class Utils { * @throws RuntimeException If the app has no package name attached, which should never happen */ public static @NonNull Context getUserContext(Context context, UserHandle user) { - if (!sUserContexts.containsKey(user)) { - sUserContexts.put(user, context.getApplicationContext() - .createContextAsUser(user, 0)); + synchronized (sLock) { + if (!sUserContexts.containsKey(user)) { + sUserContexts.put(user, context.getApplicationContext() + .createContextAsUser(user, 0)); + } + return Preconditions.checkNotNull(sUserContexts.get(user)); } - return Preconditions.checkNotNull(sUserContexts.get(user)); } /** @@ -1587,4 +1594,67 @@ public final class Utils { @NonNull ApplicationInfo applicationInfo) { return context.getPackageManager().getApplicationLabel(applicationInfo).toString(); } + + /** + * Returns whether the given user should be shown in the Settings UI in SdkLevel V+. This method + * will always return true for SdkLevels below V. + * + * @param userHandle The user for which to check whether it should be shown or not. + * @return true if it should be shown, false otherwise. + */ + public static boolean shouldShowInSettings(UserHandle userHandle, UserManager userManager) { + return !SdkLevel.isAtLeastV() || shouldShowInSettingsInternal(userHandle, userManager); + } + + /** + * Returns whether the given user should be shown in the Settings UI. + * + * @param userHandle The user for which to check whether it should be shown or not. + * @return true if it should be shown, false otherwise. + */ + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.VANILLA_ICE_CREAM) + private static boolean shouldShowInSettingsInternal( + UserHandle userHandle, UserManager userManager) { + var userProperties = userManager.getUserProperties(userHandle); + return !userManager.isQuietModeEnabled(userHandle) + || userProperties.getShowInQuietMode() != UserProperties.SHOW_IN_QUIET_MODE_HIDDEN; + } + + /** + * Check whether an application is restricted for this setting identifier and return the + * {@code Intent} for the restriction if it is. + * + * @param user the user to check for + * @param context the {@code Context} to retrieve system services + * + * @return the {@code Intent} for the restriction if the application is restricted for this + * setting identifier, or {@code null} otherwise. + */ + @Nullable + public static Intent getApplicationEnhancedConfirmationRestrictedIntentAsUser( + @NonNull UserHandle user, + @NonNull Context context, + @Nullable String packageName, + @Nullable String settingIdentifier) { + if (SdkLevel.isAtLeastV() && Flags.enhancedConfirmationModeApisEnabled()) { + Context userContext = Utils.getUserContext(context, user); + EnhancedConfirmationManager userEnhancedConfirmationManager = + userContext.getSystemService(EnhancedConfirmationManager.class); + if (packageName == null || settingIdentifier == null) return null; + try { + boolean isRestricted = userEnhancedConfirmationManager.isRestricted(packageName, + settingIdentifier); + if (isRestricted) { + return userEnhancedConfirmationManager.createRestrictedSettingDialogIntent( + packageName, settingIdentifier); + } + + } catch (PackageManager.NameNotFoundException e) { + Log.w(LOG_TAG, "Cannot check enhanced confirmation restriction for package: " + + packageName, e); + } + } + return null; + } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/v31/AdminRestrictedPermissionsUtils.java b/PermissionController/src/com/android/permissioncontroller/permission/utils/v31/AdminRestrictedPermissionsUtils.java index 770ee6c95..4fde616e3 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/utils/v31/AdminRestrictedPermissionsUtils.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/v31/AdminRestrictedPermissionsUtils.java @@ -25,6 +25,7 @@ import android.os.UserManager; import android.util.ArraySet; import com.android.modules.utils.build.SdkLevel; +import com.android.permissioncontroller.permission.utils.PermissionMapping; /** * A class for dealing with permissions that the admin may not grant in certain configurations. @@ -78,7 +79,7 @@ public final class AdminRestrictedPermissionsUtils { /** * Returns true if the admin may grant this permission, false otherwise. */ - public static boolean mayAdminGrantPermission(String permission, + public static boolean mayAdminGrantPermission(String permission, String permissionGroup, boolean canAdminGrantSensorsPermissions, boolean isManagedProfile, DevicePolicyManager dpm) { if (!SdkLevel.isAtLeastS()) { @@ -87,7 +88,12 @@ public final class AdminRestrictedPermissionsUtils { if (isManagedProfile && Manifest.permission.READ_SMS.equals(permission)) { return mayManagedProfileAdminGrantReadSms(dpm); } - if (!ADMIN_RESTRICTED_SENSORS_PERMISSIONS.contains(permission)) { + boolean isAdminRestrictedSensorPermissionGroup = permissionGroup != null + && PermissionMapping.getPlatformPermissionNamesOfGroup(permissionGroup).stream() + .anyMatch(ADMIN_RESTRICTED_SENSORS_PERMISSIONS::contains); + + if (!ADMIN_RESTRICTED_SENSORS_PERMISSIONS.contains(permission) + && !isAdminRestrictedSensorPermissionGroup) { return true; } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/v34/SafetyLabelUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/v34/SafetyLabelUtils.kt index 9fd8ab916..b654b7e1c 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/utils/v34/SafetyLabelUtils.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/v34/SafetyLabelUtils.kt @@ -16,6 +16,11 @@ package com.android.permissioncontroller.permission.utils.v34 +import android.content.Context +import android.content.pm.PackageManager +import android.content.pm.PackageManager.APP_METADATA_SOURCE_APK +import android.util.Log +import com.android.modules.utils.build.SdkLevel import com.android.permission.safetylabel.DataCategory import com.android.permission.safetylabel.DataType import com.android.permission.safetylabel.DataTypeConstants @@ -23,6 +28,8 @@ import com.android.permission.safetylabel.SafetyLabel import com.android.permissioncontroller.permission.utils.PermissionMapping object SafetyLabelUtils { + private val LOG_TAG = SafetyLabelUtils::class.java.simpleName + /* * Get the sharing purposes for a SafetyLabel related to a specific permission group. */ @@ -55,4 +62,25 @@ object SafetyLabelUtils { return purposeSet } + + /** + * Returns the {@code TRUE} if [AppMetadataSource] for the given package is + * supported for permission rationale, as well as for U- where getAppMetadataSource isn't + * available. + */ + fun isAppMetadataSourceSupported(userContext: Context, packageName: String): Boolean { + if (!SdkLevel.isAtLeastV() || !android.content.pm.Flags.aslInApkAppMetadataSource()) { + // PackageManager.getAppMetadataSource() is not available and ASL in APK is ignored in + // U and below. We can assume it came from oem/pre-install or installer source (app + // store). Treat this as AppMetadataSource allowed. + return true + } + + return try { + userContext.packageManager.getAppMetadataSource(packageName) != APP_METADATA_SOURCE_APK + } catch (e: PackageManager.NameNotFoundException) { + Log.w(LOG_TAG, "AppMetadataSource for $packageName not found") + false + } + } } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/v35/MultiDeviceUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/v35/MultiDeviceUtils.kt new file mode 100644 index 000000000..68b6f72a5 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/v35/MultiDeviceUtils.kt @@ -0,0 +1,345 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.permission.utils.v35 + +import android.Manifest +import android.app.Application +import android.companion.virtual.VirtualDeviceManager +import android.content.Context +import android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET +import android.os.Build +import android.permission.PermissionManager +import android.provider.Settings +import androidx.annotation.ChecksSdkIntAtLeast +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.DeviceUtils +import com.android.permissioncontroller.permission.utils.ContextCompat + +object MultiDeviceUtils { + const val DEFAULT_REMOTE_DEVICE_NAME = "remote device" + + /** + * Defines what runtime permissions are device aware. This can be replaced with an API from VDM + * which can take device's capabilities into account + */ + // TODO: b/298661870 - Use new API to get the list of device aware permissions + private val DEVICE_AWARE_PERMISSIONS: Set<String> = + setOf(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO) + + private const val DEVICE_AWARE_PERMISSION_FLAG_MASK = + FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED or + FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED or + FLAG_PERMISSION_ONE_TIME or + FLAG_PERMISSION_USER_SET or + FLAG_PERMISSION_USER_FIXED + + @JvmStatic + fun isDeviceAwarePermissionSupported(context: Context): Boolean = + SdkLevel.isAtLeastV() && + !(DeviceUtils.isTelevision(context) || + DeviceUtils.isAuto(context) || + DeviceUtils.isWear(context)) + + @JvmStatic + fun isPermissionDeviceAware(permission: String): Boolean = + permission in DEVICE_AWARE_PERMISSIONS + + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun isPermissionDeviceAware(context: Context, deviceId: Int, permission: String): Boolean { + if (!SdkLevel.isAtLeastV()) { + return false + } + + if (permission !in DEVICE_AWARE_PERMISSIONS) { + return false + } + + val virtualDevice = + context.getSystemService(VirtualDeviceManager::class.java)!!.getVirtualDevice(deviceId) + ?: return false + + return when (permission) { + Manifest.permission.CAMERA -> virtualDevice.hasCustomCameraSupport() + Manifest.permission.RECORD_AUDIO -> virtualDevice.hasCustomAudioInputSupport() + else -> false + } + } + + @JvmStatic + fun getDeviceName(context: Context, deviceId: Int): String? { + // Pre Android V no permission requests can affect the VirtualDevice, thus return local + // device name. + if (!SdkLevel.isAtLeastV() || deviceId == ContextCompat.DEVICE_ID_DEFAULT) { + return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME) + } + val vdm: VirtualDeviceManager? = context.getSystemService(VirtualDeviceManager::class.java) + if (vdm != null) { + val virtualDevice = vdm.getVirtualDevice(deviceId) + if (virtualDevice != null) { + return if (virtualDevice.displayName != null) virtualDevice.displayName.toString() + else DEFAULT_REMOTE_DEVICE_NAME + } + } + throw IllegalArgumentException("No device name for device: $deviceId") + } + + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun isDefaultDeviceId(persistentDeviceId: String?) = + !SdkLevel.isAtLeastV() || + persistentDeviceId.isNullOrBlank() || + persistentDeviceId == VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT + + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun getDeviceName(context: Context, persistentDeviceId: String): String { + if ( + !SdkLevel.isAtLeastV() || + persistentDeviceId == VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT + ) { + return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME) + } + val vdm: VirtualDeviceManager = + context.getSystemService(VirtualDeviceManager::class.java) + ?: throw RuntimeException("VirtualDeviceManager not found") + val deviceName = + vdm.getDisplayNameForPersistentDeviceId(persistentDeviceId) + ?: DEFAULT_REMOTE_DEVICE_NAME + return deviceName.toString() + } + + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun getDefaultDevicePersistentDeviceId(): String = + if (!SdkLevel.isAtLeastV()) { + "default: ${ContextCompat.DEVICE_ID_DEFAULT}" + } else { + VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT + } + + /** + * Grants external device permissions to the specified package. Permissions will be extracted + * from the group name. + * + * @param app The current application + * @param persistentDeviceId The external device identifier + * @param packageName Name of the package to which permission needs to granted + * @param permissions Permissions that needs to be granted + * @param userSet Whether to mark the permission as user set + * + * TODO: b/328839130: This method is meant to use it on External Devices and on Device Aware + * permissions only. It does not follow the default device implementation because of the + * LightAppPermGroup requirement. The data class LightAppPermGroup is not available for + * external devices at present, hence the implementation differs. + */ + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun grantRuntimePermissionsWithPersistentDeviceId( + app: Application, + persistentDeviceId: String, + packageName: String, + permissions: Set<String>, + userSet: Boolean + ) { + if (!SdkLevel.isAtLeastV() || isDefaultDeviceId(persistentDeviceId)) { + return + } + permissions + .filter { isPermissionDeviceAware(it) } + .forEach { permission -> + grantRuntimePermissionWithPersistentDeviceId( + app, + persistentDeviceId, + packageName, + permission, + userSet + ) + } + } + + /** + * Grants the external device permission to the specified package + * + * @param app The current application + * @param persistentDeviceId The external device identifier + * @param packageName Name of the package to which permission needs to granted + * @param permission Permission that needs to be granted + * @param userSet Whether to mark the permission as user set + * + * TODO: b/328839130: This method is meant to use it on External Devices and on Device Aware + * permissions only. It does not follow the default device implementation because of the + * LightAppPermGroup requirement. The data class LightAppPermGroup is not available for + * external devices at present, hence the implementation differs. + */ + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun grantRuntimePermissionWithPersistentDeviceId( + app: Application, + persistentDeviceId: String, + packageName: String, + permission: String, + userSet: Boolean + ) { + if (!SdkLevel.isAtLeastV() || isDefaultDeviceId(persistentDeviceId)) { + return + } + val permissionManager = app.getSystemService(PermissionManager::class.java)!! + var newFlag = + FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED or + FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED + if (userSet) { + newFlag = newFlag or FLAG_PERMISSION_USER_SET + } + permissionManager.updatePermissionFlags( + packageName, + permission, + persistentDeviceId, + DEVICE_AWARE_PERMISSION_FLAG_MASK, + newFlag + ) + permissionManager.grantRuntimePermission(packageName, permission, persistentDeviceId) + } + + /** + * Revokes the external device permissions from the specified package. Permissions will be + * extracted from the group name. + * + * @param app The current application + * @param persistentDeviceId The external device identifier + * @param packageName Name of the package to which permission needs to revoked + * @param permissions Permissions that needs to be revoked + * @param userSet Whether to mark the permission as user set + * @param oneTime Whether this is a one-time permission grant permissions + * @param reason The reason for the revoke, or {@code null} for unspecified + * + * TODO: b/328839130: This method is meant to use it on External Devices and on Device Aware + * permissions only. It does not follow the default device implementation because of the + * LightAppPermGroup requirement. The data class LightAppPermGroup is not available for + * external devices at present, hence the implementation differs. + */ + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + fun revokeRuntimePermissionsWithPersistentDeviceId( + app: Application, + persistentDeviceId: String, + packageName: String, + permissions: Set<String>, + userSet: Boolean, + oneTime: Boolean, + reason: String? = null + ) { + if (!SdkLevel.isAtLeastV() || isDefaultDeviceId(persistentDeviceId)) { + return + } + permissions + .filter { isPermissionDeviceAware(it) } + .forEach { permission -> + revokeRuntimePermissionWithPersistentDeviceId( + app, + persistentDeviceId, + packageName, + permission, + userSet, + oneTime, + reason + ) + } + } + + /** + * Revokes the external device permission to the specified package. + * + * @param app The current application + * @param persistentDeviceId The external device identifier + * @param packageName Name of the package to which permission needs to revoked + * @param permission Permission that needs to be revoked + * @param userSet Whether to mark the permission as user set + * @param oneTime Whether this is a one-time permission grant permissions + * @param reason The reason for the revoke, or {@code null} for unspecified + * + * TODO: b/328839130: This method is meant to use it on External Devices and on Device Aware + * permissions only. It does not follow the default device implementation because of the + * LightAppPermGroup requirement. The data class LightAppPermGroup is not available for + * external devices at present, hence the implementation differs. + */ + @JvmStatic + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun revokeRuntimePermissionWithPersistentDeviceId( + app: Application, + persistentDeviceId: String, + packageName: String, + permission: String, + userSet: Boolean, + oneTime: Boolean, + reason: String? = null + ) { + if (!SdkLevel.isAtLeastV() || isDefaultDeviceId(persistentDeviceId)) { + return + } + val permissionManager = app.getSystemService(PermissionManager::class.java)!! + var newFlag = + FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED or + FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED + if (oneTime) { + newFlag = newFlag or FLAG_PERMISSION_ONE_TIME + } + if (userSet) { + newFlag = newFlag or FLAG_PERMISSION_USER_SET + } + if (isPermissionUserFixed(app, persistentDeviceId, packageName, permission) && !oneTime) { + newFlag = newFlag or FLAG_PERMISSION_USER_FIXED + } + permissionManager.updatePermissionFlags( + packageName, + permission, + persistentDeviceId, + DEVICE_AWARE_PERMISSION_FLAG_MASK, + newFlag + ) + permissionManager.revokeRuntimePermission( + packageName, + permission, + persistentDeviceId, + reason + ) + } + + /** + * Determines if the permission is UserFixed. This method is for to use with V and above only. + * Supports both external and default devices, need to specify persistentDeviceId accordingly. + */ + @ChecksSdkIntAtLeast(Build.VERSION_CODES.VANILLA_ICE_CREAM) + private fun isPermissionUserFixed( + app: Application, + persistentDeviceId: String, + packageName: String, + permission: String + ): Boolean { + if (!SdkLevel.isAtLeastV()) { + return true + } + val permissionManager = app.getSystemService(PermissionManager::class.java)!! + val flags = + permissionManager.getPermissionFlags(packageName, permission, persistentDeviceId) + return flags and FLAG_PERMISSION_USER_FIXED != 0 + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/pm/data/model/v31/PackageInfoModel.kt b/PermissionController/src/com/android/permissioncontroller/pm/data/model/v31/PackageInfoModel.kt new file mode 100644 index 000000000..faef36f68 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/pm/data/model/v31/PackageInfoModel.kt @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.pm.data.model.v31 + +import android.content.pm.PackageInfo + +/** A model/data class representing [PackageInfo] class. */ +data class PackageInfoModel( + val packageName: String, + val requestedPermissions: List<String> = emptyList(), + val requestedPermissionsFlags: List<Int> = emptyList(), + val applicationFlags: Int = 0, +) { + constructor( + packageInfo: PackageInfo + ) : this( + packageInfo.packageName, + packageInfo.requestedPermissions?.toList() ?: emptyList(), + packageInfo.requestedPermissionsFlags?.toList() ?: emptyList(), + requireNotNull(packageInfo.applicationInfo).flags + ) +} diff --git a/PermissionController/src/com/android/permissioncontroller/pm/data/repository/v31/PackageRepository.kt b/PermissionController/src/com/android/permissioncontroller/pm/data/repository/v31/PackageRepository.kt new file mode 100644 index 000000000..40c714f55 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/pm/data/repository/v31/PackageRepository.kt @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.pm.data.repository.v31 + +import android.app.Application +import android.content.pm.PackageManager +import android.os.UserHandle +import android.util.Log +import com.android.permissioncontroller.permission.utils.Utils +import com.android.permissioncontroller.pm.data.model.v31.PackageInfoModel +import kotlin.concurrent.Volatile +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * Repository to access package info data exposed by [PackageManager]. Domain and view layer + * shouldn't access [PackageManager] directly, instead they should use the repository. + */ +interface PackageRepository { + suspend fun getPackageInfo( + packageName: String, + user: UserHandle, + flags: Int = PackageManager.GET_PERMISSIONS + ): PackageInfoModel? + + companion object { + @Volatile private var instance: PackageRepository? = null + + fun getInstance(app: Application): PackageRepository = + instance ?: synchronized(this) { PackageRepositoryImpl(app).also { instance = it } } + } +} + +class PackageRepositoryImpl( + private val app: Application, + private val dispatcher: CoroutineDispatcher = Dispatchers.Default, +) : PackageRepository { + override suspend fun getPackageInfo( + packageName: String, + user: UserHandle, + flags: Int + ): PackageInfoModel? = + withContext(dispatcher) { + try { + val packageInfo = + Utils.getUserContext(app, user) + .packageManager + .getPackageInfo(packageName, PackageManager.GET_PERMISSIONS) + PackageInfoModel(packageInfo) + } catch (e: PackageManager.NameNotFoundException) { + Log.w(LOG_TAG, "package $packageName not found for user ${user.identifier}") + null + } + } + + companion object { + private const val LOG_TAG = "PackageRepository" + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/privacysources/AccessibilitySourceService.kt b/PermissionController/src/com/android/permissioncontroller/privacysources/AccessibilitySourceService.kt index da20727c5..c633c013a 100644 --- a/PermissionController/src/com/android/permissioncontroller/privacysources/AccessibilitySourceService.kt +++ b/PermissionController/src/com/android/permissioncontroller/privacysources/AccessibilitySourceService.kt @@ -76,8 +76,6 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock -@VisibleForTesting -const val PROPERTY_SC_ACCESSIBILITY_SOURCE_ENABLED = "sc_accessibility_source_enabled" const val PROPERTY_SC_ACCESSIBILITY_LISTENER_ENABLED = "sc_accessibility_listener_enabled" const val SC_ACCESSIBILITY_SOURCE_ID = "AndroidAccessibility" const val SC_ACCESSIBILITY_REMOVE_ACCESS_ACTION_ID = "revoke_accessibility_app_access" @@ -88,14 +86,6 @@ private fun isAccessibilitySourceSupported(): Boolean { return SdkLevel.isAtLeastT() } -fun isAccessibilitySourceEnabled(): Boolean { - return DeviceConfig.getBoolean( - DeviceConfig.NAMESPACE_PRIVACY, - PROPERTY_SC_ACCESSIBILITY_SOURCE_ENABLED, - true - ) -} - /** cts test needs to disable the listener. */ fun isAccessibilityListenerEnabled(): Boolean { return DeviceConfig.getBoolean( @@ -907,11 +897,8 @@ class AccessibilityJobService : JobService() { Log.i(LOG_TAG, "Accessibility privacy source job already running") return false } - if ( - !isAccessibilitySourceEnabled() || - !isSafetyCenterEnabled(this@AccessibilityJobService) - ) { - Log.i(LOG_TAG, "either privacy source or safety center is not enabled") + if (!isSafetyCenterEnabled(this@AccessibilityJobService)) { + Log.i(LOG_TAG, "safety center is not enabled") jobFinished(params, false) mCurrentJob = null return false @@ -964,9 +951,7 @@ class SafetyCenterAccessibilityListener(val context: Context) : return } - if ( - !isAccessibilitySourceEnabled() || !isSafetyCenterEnabled(context) || isProfile(context) - ) { + if (!isSafetyCenterEnabled(context) || isProfile(context)) { Log.i(LOG_TAG, "accessibility event occurred, safety center feature not enabled.") return } diff --git a/PermissionController/src/com/android/permissioncontroller/role/Role.md b/PermissionController/src/com/android/permissioncontroller/role/Role.md index bde9f86f0..acdfffb50 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/Role.md +++ b/PermissionController/src/com/android/permissioncontroller/role/Role.md @@ -65,6 +65,10 @@ title. This attribute is required if the role is `visible`. Android S. This attribute is optional and defaults to `Build.VERSION_CODES.CUR_DEVELOPMENT`. - `minSdkVersion`: The minimum SDK version for the role to be available (inclusive), e.g. `31` for Android S. This attribute is optional and defaults to `Build.VERSION_CODES.BASE`. +- `onlyGrantWhenAdded`: Whether the role should only grant privileges when a role holder is actively +added. This attribute is optional and defaults to `false`. +- `overrideUserWhenGranting`: Whether the role should override user's choice about privileges when +granting. This attribute is optional and defaults to `false`. - `requestDescription`: The string resource for the description in the request role dialog, e.g. `@string/role_sms_request_description`, which says "Gets access to contacts, SMS, phone". This description should describe to the user the privileges that are going to be granted, and should not diff --git a/PermissionController/src/com/android/permissioncontroller/role/TEST_MAPPING b/PermissionController/src/com/android/permissioncontroller/role/TEST_MAPPING index 01d04bea0..46b148e68 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/TEST_MAPPING +++ b/PermissionController/src/com/android/permissioncontroller/role/TEST_MAPPING @@ -26,6 +26,23 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsRoleTestCases", + "options": [ + // TODO(b/238677748): These two tests currently fails on R base image + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#openDefaultAppListThenIsNotDefaultAppInList" + }, + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#removeSmsRoleHolderThenPermissionIsRevoked" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsRoleTestCases" diff --git a/PermissionController/src/com/android/permissioncontroller/role/data/repository/v31/RoleRepository.kt b/PermissionController/src/com/android/permissioncontroller/role/data/repository/v31/RoleRepository.kt new file mode 100644 index 000000000..d2d89e817 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/role/data/repository/v31/RoleRepository.kt @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.role.data.repository.v31 + +import android.app.Application +import android.app.role.RoleManager +import kotlin.concurrent.Volatile +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * This repository encapsulates roles data (i.e. querying/adding role holders) exposed by + * [RoleManager]. + */ +interface RoleRepository { + /** + * @return Set of package names, the usage of private data by these packages is not shown in the + * privacy dashboard. + */ + suspend fun getExemptedPackages(): Set<String> + + companion object { + @Volatile private var instance: RoleRepository? = null + + fun getInstance(application: Application): RoleRepository = + instance + ?: synchronized(this) { RoleRepositoryImpl(application).also { instance = it } } + } +} + +class RoleRepositoryImpl(application: Application) : RoleRepository { + private val roleManager = application.getSystemService(RoleManager::class.java)!! + + override suspend fun getExemptedPackages(): Set<String> = + withContext(Dispatchers.Default) { + return@withContext buildSet { + add(OS_PKG) + addAll(EXEMPTED_ROLES.map { role -> roleManager.getRoleHolders(role) }.flatten()) + } + } + + companion object { + private const val OS_PKG = "android" + private const val SYSTEM_AMBIENT_AUDIO_INTELLIGENCE = + "android.app.role.SYSTEM_AMBIENT_AUDIO_INTELLIGENCE" + private const val SYSTEM_UI_INTELLIGENCE = "android.app.role.SYSTEM_UI_INTELLIGENCE" + private const val SYSTEM_AUDIO_INTELLIGENCE = "android.app.role.SYSTEM_AUDIO_INTELLIGENCE" + private const val SYSTEM_NOTIFICATION_INTELLIGENCE = + "android.app.role.SYSTEM_NOTIFICATION_INTELLIGENCE" + private const val SYSTEM_TEXT_INTELLIGENCE = "android.app.role.SYSTEM_TEXT_INTELLIGENCE" + private const val SYSTEM_VISUAL_INTELLIGENCE = "android.app.role.SYSTEM_VISUAL_INTELLIGENCE" + + private val EXEMPTED_ROLES = + arrayOf( + SYSTEM_AMBIENT_AUDIO_INTELLIGENCE, + SYSTEM_UI_INTELLIGENCE, + SYSTEM_AUDIO_INTELLIGENCE, + SYSTEM_NOTIFICATION_INTELLIGENCE, + SYSTEM_TEXT_INTELLIGENCE, + SYSTEM_VISUAL_INTELLIGENCE + ) + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/CheckableLinearLayout.java b/PermissionController/src/com/android/permissioncontroller/role/ui/CheckableLinearLayout.java index b396c3b7b..32a0bb20b 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/CheckableLinearLayout.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/CheckableLinearLayout.java @@ -100,12 +100,10 @@ public class CheckableLinearLayout extends LinearLayout implements Checkable { int count = viewGroup.getChildCount(); for (int i = 0; i < count; i++) { View child = viewGroup.getChildAt(i); - if (child.isDuplicateParentStateEnabled()) { - if (child instanceof Checkable) { - ((Checkable) child).setChecked(checked); - } else if (child instanceof ViewGroup) { - updateChildrenChecked((ViewGroup) child, checked); - } + if (child instanceof Checkable) { + ((Checkable) child).setChecked(checked); + } else if (child instanceof ViewGroup) { + updateChildrenChecked((ViewGroup) child, checked); } } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java index a8b16c521..145031b63 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppChildFragment.java @@ -214,6 +214,8 @@ public class DefaultAppChildFragment<PF extends PreferenceFragmentCompat preference.setChecked(checked); if (applicationInfo != null) { + roleApplicationPreference.setRestrictionIntent( + mRole.getApplicationRestrictionIntentAsUser(applicationInfo, mUser, context)); RoleUiBehaviorUtils.prepareApplicationPreferenceAsUser(mRole, roleApplicationPreference, applicationInfo, mUser, context); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java index f9a0193bd..4fbe0ef33 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListChildFragment.java @@ -65,6 +65,8 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat DefaultAppListChildFragment.class.getName() + ".preference.MANAGE_DOMAIN_URLS"; private static final String PREFERENCE_KEY_WORK_CATEGORY = DefaultAppListChildFragment.class.getName() + ".preference.WORK_CATEGORY"; + private static final String PREFERENCE_KEY_PRIVATE_CATEGORY = + DefaultAppListChildFragment.class.getName() + ".preference.PRIVATE_CATEGORY"; @NonNull private DefaultAppListViewModel mViewModel; @@ -88,6 +90,9 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat if (mViewModel.hasWorkProfile()) { mViewModel.getWorkLiveData().observe(this, roleItems -> onRoleListChanged()); } + if (mViewModel.hasPrivateProfile()) { + mViewModel.getPrivateLiveData().observe(this, roleItems -> onRoleListChanged()); + } } private void onRoleListChanged() { @@ -103,6 +108,14 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat return; } } + boolean hasPrivateProfile = mViewModel.hasPrivateProfile(); + List<RoleItem> privateRoleItems = null; + if (hasPrivateProfile) { + privateRoleItems = mViewModel.getPrivateLiveData().getValue(); + if (privateRoleItems == null) { + return; + } + } PF preferenceFragment = requirePreferenceFragment(); PreferenceManager preferenceManager = preferenceFragment.getPreferenceManager(); @@ -111,17 +124,22 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat ArrayMap<String, Preference> oldPreferences = new ArrayMap<>(); PreferenceCategory oldWorkPreferenceCategory = null; ArrayMap<String, Preference> oldWorkPreferences = new ArrayMap<>(); + PreferenceCategory oldPrivatePreferenceCategory = null; + ArrayMap<String, Preference> oldPrivatePreferences = new ArrayMap<>(); if (preferenceScreen == null) { preferenceScreen = preferenceManager.createPreferenceScreen(context); preferenceFragment.setPreferenceScreen(preferenceScreen); } else { - oldWorkPreferenceCategory = preferenceScreen.findPreference( - PREFERENCE_KEY_WORK_CATEGORY); - if (oldWorkPreferenceCategory != null) { - clearPreferences(oldWorkPreferenceCategory, oldWorkPreferences); - preferenceScreen.removePreference(oldWorkPreferenceCategory); - oldWorkPreferenceCategory.setOrder(Preference.DEFAULT_ORDER); - } + oldWorkPreferenceCategory = + preferenceScreen.findPreference(PREFERENCE_KEY_WORK_CATEGORY); + clearPreferenceCategory( + oldWorkPreferenceCategory, preferenceScreen, oldWorkPreferences); + + oldPrivatePreferenceCategory = + preferenceScreen.findPreference(PREFERENCE_KEY_PRIVATE_CATEGORY); + clearPreferenceCategory( + oldPrivatePreferenceCategory, preferenceScreen, oldPrivatePreferences); + clearPreferences(preferenceScreen, oldPreferences); } @@ -130,22 +148,34 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat addMoreDefaultAppsPreference(preferenceScreen, oldPreferences, context); addManageDomainUrlsPreference(preferenceScreen, oldPreferences, context); if (hasWorkProfile && !workRoleItems.isEmpty()) { - PreferenceCategory workPreferenceCategory = oldWorkPreferenceCategory; - if (workPreferenceCategory == null) { - workPreferenceCategory = new PreferenceCategory(context); - workPreferenceCategory.setKey(PREFERENCE_KEY_WORK_CATEGORY); - workPreferenceCategory.setTitle(Utils.getEnterpriseString(context, - DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE, - R.string.default_apps_for_work)); - } - preferenceScreen.addPreference(workPreferenceCategory); - addPreferences(workPreferenceCategory, workRoleItems, oldWorkPreferences, this, + String workTitle = Utils.getEnterpriseString(context, + DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE, + R.string.default_apps_for_work); + addPreferenceCategory(oldWorkPreferenceCategory, PREFERENCE_KEY_WORK_CATEGORY, + workTitle, preferenceScreen, workRoleItems, oldWorkPreferences, this, mViewModel.getWorkProfile(), context); } + if (hasPrivateProfile && !privateRoleItems.isEmpty()) { + String privateTitle = context.getString(R.string.default_apps_for_private_profile); + addPreferenceCategory(oldPrivatePreferenceCategory, PREFERENCE_KEY_PRIVATE_CATEGORY, + privateTitle, preferenceScreen, privateRoleItems, oldPrivatePreferences, this, + mViewModel.getPrivateProfile(), context); + } preferenceFragment.onPreferenceScreenChanged(); } + private static void clearPreferenceCategory(@Nullable PreferenceCategory preferenceCategory, + @NonNull PreferenceScreen preferenceScreen, + @NonNull ArrayMap<String, Preference> oldPreferences) { + if (preferenceCategory == null) { + return; + } + clearPreferences(preferenceCategory, oldPreferences); + preferenceScreen.removePreference(preferenceCategory); + preferenceCategory.setOrder(Preference.DEFAULT_ORDER); + } + private static void clearPreferences(@NonNull PreferenceGroup preferenceGroup, @NonNull ArrayMap<String, Preference> oldPreferences) { for (int i = preferenceGroup.getPreferenceCount() - 1; i >= 0; --i) { @@ -157,6 +187,24 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat } } + @NonNull + private void addPreferenceCategory( + @Nullable PreferenceCategory oldPreferenceCategory, @NonNull String key, + @Nullable String title, @NonNull PreferenceScreen preferenceScreen, + @NonNull List<RoleItem> roleItems, @NonNull ArrayMap<String, Preference> oldPreferences, + @NonNull Preference.OnPreferenceClickListener listener, + @NonNull UserHandle user, @NonNull Context context) { + PreferenceCategory preferenceCategory = oldPreferenceCategory; + if (preferenceCategory == null) { + preferenceCategory = new PreferenceCategory(context); + preferenceCategory.setKey(key); + preferenceCategory.setTitle(title); + } + preferenceScreen.addPreference(preferenceCategory); + addPreferences(preferenceCategory, roleItems, oldPreferences, listener, + user, context); + } + private void addPreferences(@NonNull PreferenceGroup preferenceGroup, @NonNull List<RoleItem> roleItems, @NonNull ArrayMap<String, Preference> oldPreferences, @NonNull Preference.OnPreferenceClickListener listener, @NonNull UserHandle user, @@ -182,6 +230,7 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat preference = rolePreference.asPreference(); } + rolePreference.setRestrictionIntent(role.getRestrictionIntentAsUser(user, context)); List<ApplicationInfo> holderApplicationInfos = roleItem.getHolderApplicationInfos(); if (holderApplicationInfos.isEmpty()) { preference.setIcon(null); @@ -191,7 +240,8 @@ public class DefaultAppListChildFragment<PF extends PreferenceFragmentCompat preference.setIcon(Utils.getBadgedIcon(context, holderApplicationInfo)); preference.setSummary(Utils.getAppLabel(holderApplicationInfo, context)); } - RoleUiBehaviorUtils.preparePreferenceAsUser(role, rolePreference, user, context); + RoleUiBehaviorUtils.preparePreferenceAsUser(role, holderApplicationInfos, + rolePreference, user, context); preferenceGroup.addPreference(preference); } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListViewModel.java b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListViewModel.java index 06f58ef25..5bc25df54 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListViewModel.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/DefaultAppListViewModel.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.role.ui; import android.app.Application; import android.os.Process; import android.os.UserHandle; +import android.os.UserManager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -27,6 +28,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.Transformations; import androidx.lifecycle.ViewModel; +import com.android.permissioncontroller.permission.utils.Utils; import com.android.permissioncontroller.role.utils.UserUtils; import java.util.List; @@ -44,6 +46,10 @@ public class DefaultAppListViewModel extends AndroidViewModel { private final UserHandle mWorkProfile; @Nullable private final LiveData<List<RoleItem>> mWorkLiveData; + @Nullable + private final UserHandle mPrivateProfile; + @Nullable + private final LiveData<List<RoleItem>> mPrivateLiveData; public DefaultAppListViewModel(@NonNull Application application) { super(application); @@ -55,6 +61,16 @@ public class DefaultAppListViewModel extends AndroidViewModel { mWorkProfile = UserUtils.getWorkProfile(application); mWorkLiveData = mWorkProfile != null ? Transformations.map(new RoleListLiveData(true, mWorkProfile, application), sortFunction) : null; + + UserHandle privateProfile = UserUtils.getPrivateProfile(application); + if (privateProfile != null && Utils.shouldShowInSettings( + privateProfile, application.getSystemService(UserManager.class))) { + mPrivateProfile = privateProfile; + } else { + mPrivateProfile = null; + } + mPrivateLiveData = mPrivateProfile != null ? Transformations.map(new RoleListLiveData(true, + mPrivateProfile, application), sortFunction) : null; } @NonNull @@ -85,4 +101,33 @@ public class DefaultAppListViewModel extends AndroidViewModel { public LiveData<List<RoleItem>> getWorkLiveData() { return mWorkLiveData; } + + /** + * Check whether the user has a private profile. + * + * @return whether the user has a private profile. + */ + public boolean hasPrivateProfile() { + return mPrivateProfile != null; + } + + /** + * Returns the private profile belonging to the user, if any. + * + * @return the private profile, if it exists. null otherwise. + */ + @Nullable + public UserHandle getPrivateProfile() { + return mPrivateProfile; + } + + /** + * Returns the data corresponding to the private profile, if one exists. + * + * @return data corresponding to the private profile, if it exists. null otherwise. + */ + @Nullable + public LiveData<List<RoleItem>> getPrivateLiveData() { + return mPrivateLiveData; + } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleActivity.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleActivity.java index 279e55266..0c3ea3416 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleActivity.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleActivity.java @@ -16,13 +16,15 @@ package com.android.permissioncontroller.role.ui; +import static com.android.permissioncontroller.Constants.EXTRA_IS_ECM_IN_APP; + import android.app.role.RoleManager; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.os.Bundle; import android.os.Process; -import android.os.UserManager; +import android.provider.Settings; import android.provider.Telephony; import android.telecom.TelecomManager; import android.text.TextUtils; @@ -136,7 +138,8 @@ public class RequestRoleActivity extends FragmentActivity { return; } - if (PackageUtils.getApplicationInfo(mPackageName, this) == null) { + ApplicationInfo applicationInfo = PackageUtils.getApplicationInfo(mPackageName, this); + if (applicationInfo == null) { Log.w(LOG_TAG, "Unknown application: " + mPackageName); reportRequestResult( PermissionControllerStatsLog.ROLE_REQUEST_RESULT_REPORTED__RESULT__IGNORED); @@ -156,12 +159,23 @@ public class RequestRoleActivity extends FragmentActivity { return; } - UserManager userManager = getSystemService(UserManager.class); - if (userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_DEFAULT_APPS)) { - Log.w(LOG_TAG, "Cannot request role due to user restriction" - + " DISALLOW_CONFIG_DEFAULT_APPS, role: " + mRoleName); - reportRequestResult(PermissionControllerStatsLog - .ROLE_REQUEST_RESULT_REPORTED__RESULT__IGNORED_USER_RESTRICTION); + Intent restrictionIntent = role.getApplicationRestrictionIntentAsUser(applicationInfo, + Process.myUserHandle(), this); + if (restrictionIntent != null) { + if (Objects.equals(restrictionIntent.getAction(), + Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS)) { + Log.w(LOG_TAG, "Cannot request role due to user restriction" + + ", role: " + mRoleName + ", package: " + mPackageName); + reportRequestResult(PermissionControllerStatsLog + .ROLE_REQUEST_RESULT_REPORTED__RESULT__IGNORED_USER_RESTRICTION); + } else { + Log.w(LOG_TAG, "Cannot request role due to enhanced confirmation restriction" + + ", role: " + mRoleName + ", package: " + mPackageName); + reportRequestResult(PermissionControllerStatsLog + .ROLE_REQUEST_RESULT_REPORTED__RESULT__IGNORED_ENHANCED_CONFIRMATION_RESTRICTION); + restrictionIntent.putExtra(EXTRA_IS_ECM_IN_APP, true); + } + startActivity(restrictionIntent); finish(); return; } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java index 80834a3e2..fb3a46d6a 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleFragment.java @@ -35,7 +35,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; -import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.ImageView; @@ -54,6 +53,8 @@ import com.android.permissioncontroller.permission.utils.PackageRemovalMonitor; import com.android.permissioncontroller.permission.utils.Utils; import com.android.permissioncontroller.role.model.UserDeniedManager; import com.android.permissioncontroller.role.utils.PackageUtils; +import com.android.permissioncontroller.role.utils.RoleUiBehaviorUtils; +import com.android.permissioncontroller.role.utils.UiUtils; import com.android.role.controller.model.Role; import com.android.role.controller.model.Roles; @@ -154,7 +155,6 @@ public class RequestRoleFragment extends DialogFragment { View viewLayout = inflater.inflate(R.layout.request_role_view, null); mListView = viewLayout.requireViewById(R.id.list); - mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); mListView.setOnItemClickListener((parent, view, position, id) -> onItemClicked(position)); mAdapter = new Adapter(mListView, mRole); if (savedInstanceState != null) { @@ -414,9 +414,9 @@ public class RequestRoleFragment extends DialogFragment { // Skip the "None" item. continue; } - ApplicationInfo qualifyingApplicationInfo = qualifyingApplication.first; - if (Objects.equals(qualifyingApplicationInfo.packageName, packageName)) { - return qualifyingApplicationInfo.uid; + ApplicationInfo applicationInfo = qualifyingApplication.first; + if (Objects.equals(applicationInfo.packageName, packageName)) { + return applicationInfo.uid; } } return -1; @@ -439,19 +439,7 @@ public class RequestRoleFragment extends DialogFragment { if (mAdapter == null) { return null; } - int count = mAdapter.getCount(); - for (int i = 0; i < count; i++) { - Pair<ApplicationInfo, Boolean> qualifyingApplication = mAdapter.getItem(i); - if (qualifyingApplication == null) { - // Skip the "None" item. - continue; - } - boolean isHolderApplication = qualifyingApplication.second; - if (isHolderApplication) { - return qualifyingApplication.first.packageName; - } - } - return null; + return mAdapter.mHolderPackageName; } static void reportRequestResult(int requestingUid, String requestingPackageName, @@ -477,8 +465,8 @@ public class RequestRoleFragment extends DialogFragment { private static final String STATE_USER_CHECKED = Adapter.class.getName() + ".state.USER_CHECKED"; - private static final String STATE_USER_CHECKED_PACKAGE_NAME = Adapter.class.getName() - + ".state.USER_CHECKED_PACKAGE_NAME"; + private static final String STATE_CHECKED_PACKAGE_NAME = Adapter.class.getName() + + ".state.CHECKED_PACKAGE_NAME"; private static final int LAYOUT_TRANSITION_DURATION_MILLIS = 150; @@ -493,7 +481,8 @@ public class RequestRoleFragment extends DialogFragment { private final List<Pair<ApplicationInfo, Boolean>> mQualifyingApplications = new ArrayList<>(); - private boolean mHasHolderApplication; + @Nullable + private String mHolderPackageName; private boolean mDontAskAgain; @@ -501,10 +490,8 @@ public class RequestRoleFragment extends DialogFragment { // the current holder as checked. private boolean mUserChecked; - private boolean mPendingUserChecked; - // We may use a null to represent the "None" item. @Nullable - private String mPendingUserCheckedPackageName; + private String mCheckedPackageName; Adapter(@NonNull ListView listView, @NonNull Role role) { mListView = listView; @@ -514,15 +501,14 @@ public class RequestRoleFragment extends DialogFragment { public void onSaveInstanceState(@NonNull Bundle outState) { outState.putBoolean(STATE_USER_CHECKED, mUserChecked); if (mUserChecked) { - outState.putString(STATE_USER_CHECKED_PACKAGE_NAME, getCheckedPackageName()); + outState.putString(STATE_CHECKED_PACKAGE_NAME, mCheckedPackageName); } } public void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { - mPendingUserChecked = savedInstanceState.getBoolean(STATE_USER_CHECKED); - if (mPendingUserChecked) { - mPendingUserCheckedPackageName = savedInstanceState.getString( - STATE_USER_CHECKED_PACKAGE_NAME); + mUserChecked = savedInstanceState.getBoolean(STATE_USER_CHECKED); + if (mUserChecked) { + mCheckedPackageName = savedInstanceState.getString(STATE_CHECKED_PACKAGE_NAME); } } @@ -533,14 +519,28 @@ public class RequestRoleFragment extends DialogFragment { mDontAskAgain = dontAskAgain; if (mDontAskAgain) { mUserChecked = false; - updateItemChecked(); + mCheckedPackageName = mHolderPackageName; } notifyDataSetChanged(); } public void onItemClicked(int position) { - mUserChecked = true; - // We may need to change description based on checked state. + Pair<ApplicationInfo, Boolean> qualifyingApplication = getItem(position); + if (qualifyingApplication == null) { + mUserChecked = true; + mCheckedPackageName = null; + } else { + ApplicationInfo applicationInfo = qualifyingApplication.first; + Intent restrictionIntent = mRole.getApplicationRestrictionIntentAsUser( + applicationInfo, Process.myUserHandle(), mListView.getContext()); + if (restrictionIntent != null) { + mListView.getContext().startActivity(restrictionIntent); + return; + } else { + mUserChecked = true; + mCheckedPackageName = applicationInfo.packageName; + } + } notifyDataSetChanged(); } @@ -550,42 +550,10 @@ public class RequestRoleFragment extends DialogFragment { mQualifyingApplications.add(0, null); } mQualifyingApplications.addAll(qualifyingApplications); - mHasHolderApplication = hasHolderApplication(qualifyingApplications); - notifyDataSetChanged(); + mHolderPackageName = getHolderPackageName(qualifyingApplications); - if (mPendingUserChecked) { - restoreItemChecked(); - mPendingUserChecked = false; - mPendingUserCheckedPackageName = null; - } - - if (!mUserChecked) { - updateItemChecked(); - } - } - - private static boolean hasHolderApplication( - @NonNull List<Pair<ApplicationInfo, Boolean>> qualifyingApplications) { - int qualifyingApplicationsSize = qualifyingApplications.size(); - for (int i = 0; i < qualifyingApplicationsSize; i++) { - Pair<ApplicationInfo, Boolean> qualifyingApplication = qualifyingApplications.get( - i); - boolean isHolderApplication = qualifyingApplication.second; - - if (isHolderApplication) { - return true; - } - } - return false; - } - - private void restoreItemChecked() { - if (mPendingUserCheckedPackageName == null) { - if (mRole.shouldShowNone()) { - mUserChecked = true; - mListView.setItemChecked(0, true); - } - } else { + if (mUserChecked && mCheckedPackageName != null) { + boolean isCheckedPackageNameFound = false; int count = getCount(); for (int i = 0; i < count; i++) { Pair<ApplicationInfo, Boolean> qualifyingApplication = getItem(i); @@ -594,55 +562,52 @@ public class RequestRoleFragment extends DialogFragment { } String packageName = qualifyingApplication.first.packageName; - if (Objects.equals(packageName, mPendingUserCheckedPackageName)) { + if (Objects.equals(packageName, mCheckedPackageName)) { mUserChecked = true; - mListView.setItemChecked(i, true); + isCheckedPackageNameFound = true; break; } } + if (!isCheckedPackageNameFound) { + mUserChecked = false; + mCheckedPackageName = null; + } + } + + if (!mUserChecked) { + mCheckedPackageName = mHolderPackageName; } + + notifyDataSetChanged(); } - private void updateItemChecked() { - if (!mHasHolderApplication) { - if (mRole.shouldShowNone()) { - mListView.setItemChecked(0, true); - } else { - mListView.clearChoices(); + @Nullable + private static String getHolderPackageName( + @NonNull List<Pair<ApplicationInfo, Boolean>> qualifyingApplications) { + int qualifyingApplicationSize = qualifyingApplications.size(); + for (int i = 0; i < qualifyingApplicationSize; i++) { + Pair<ApplicationInfo, Boolean> qualifyingApplication = qualifyingApplications.get( + i); + if (qualifyingApplication == null) { + continue; } - } else { - int count = getCount(); - for (int i = 0; i < count; i++) { - Pair<ApplicationInfo, Boolean> qualifyingApplication = getItem(i); - if (qualifyingApplication == null) { - continue; - } - boolean isHolderApplication = qualifyingApplication.second; + ApplicationInfo applicationInfo = qualifyingApplication.first; + boolean isHolderApplication = qualifyingApplication.second; - if (isHolderApplication) { - mListView.setItemChecked(i, true); - break; - } + if (isHolderApplication) { + return applicationInfo.packageName; } } - } - - @Nullable - public Pair<ApplicationInfo, Boolean> getCheckedItem() { - int position = mListView.getCheckedItemPosition(); - return position != AdapterView.INVALID_POSITION ? getItem(position) : null; + return null; } @Nullable public String getCheckedPackageName() { - Pair<ApplicationInfo, Boolean> qualifyingApplication = getCheckedItem(); - return qualifyingApplication == null ? null : qualifyingApplication.first.packageName; + return mCheckedPackageName; } public boolean isHolderApplicationChecked() { - Pair<ApplicationInfo, Boolean> qualifyingApplication = getCheckedItem(); - return qualifyingApplication == null ? !mHasHolderApplication - : qualifyingApplication.second; + return Objects.equals(mCheckedPackageName, mHolderPackageName); } @Override @@ -684,7 +649,7 @@ public class RequestRoleFragment extends DialogFragment { } Pair<ApplicationInfo, Boolean> qualifyingApplication = getItem(position); if (qualifyingApplication == null) { - return !mHasHolderApplication; + return mHolderPackageName == null; } else { boolean isHolderApplication = qualifyingApplication.second; return isHolderApplication; @@ -695,13 +660,13 @@ public class RequestRoleFragment extends DialogFragment { @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { Context context = parent.getContext(); - View view = convertView; + CheckableLinearLayout view = (CheckableLinearLayout) convertView; ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else { - view = LayoutInflater.from(context).inflate(R.layout.request_role_item, parent, - false); + view = (CheckableLinearLayout) LayoutInflater.from(context).inflate( + R.layout.request_role_item, parent, false); holder = new ViewHolder(view); view.setTag(holder); @@ -709,38 +674,50 @@ public class RequestRoleFragment extends DialogFragment { LAYOUT_TRANSITION_DURATION_MILLIS); } - view.setEnabled(isEnabled(position)); - Pair<ApplicationInfo, Boolean> qualifyingApplication = getItem(position); + ApplicationInfo applicationInfo; + boolean restricted; + boolean checked; Drawable icon; String title; String subtitle; if (qualifyingApplication == null) { + applicationInfo = null; + restricted = false; + checked = mCheckedPackageName == null; icon = AppCompatResources.getDrawable(context, R.drawable.ic_remove_circle); title = context.getString(R.string.default_app_none); - subtitle = !mHasHolderApplication ? context.getString( + subtitle = mHolderPackageName != null ? context.getString( R.string.request_role_current_default) : null; } else { - ApplicationInfo qualifyingApplicationInfo = qualifyingApplication.first; - icon = Utils.getBadgedIcon(context, qualifyingApplicationInfo); - title = Utils.getAppLabel(qualifyingApplicationInfo, context); + applicationInfo = qualifyingApplication.first; + restricted = mRole.getApplicationRestrictionIntentAsUser(applicationInfo, + Process.myUserHandle(), context) != null; + checked = Objects.equals(applicationInfo.packageName, mCheckedPackageName); + icon = Utils.getBadgedIcon(context, applicationInfo); + title = Utils.getAppLabel(applicationInfo, context); boolean isHolderApplication = qualifyingApplication.second; subtitle = isHolderApplication ? context.getString(R.string.request_role_current_default) - : mListView.isItemChecked(position) - ? context.getString(mRole.getRequestDescriptionResource()) : null; + : checked ? context.getString(mRole.getRequestDescriptionResource()) : null; } + boolean enabled = isEnabled(position); + UiUtils.setViewTreeEnabled(view, enabled && !restricted); + view.setEnabled(enabled); + view.setChecked(checked); holder.iconImage.setImageDrawable(icon); holder.titleText.setText(title); holder.subtitleText.setVisibility(!TextUtils.isEmpty(subtitle) ? View.VISIBLE : View.GONE); holder.subtitleText.setText(subtitle); + RoleUiBehaviorUtils.prepareRequestRoleItemViewAsUser(mRole, holder, applicationInfo, + Process.myUserHandle(), context); return view; } - private static class ViewHolder { + private static class ViewHolder implements RequestRoleItemView { @NonNull public final ImageView iconImage; @@ -757,6 +734,21 @@ public class RequestRoleFragment extends DialogFragment { titleText = view.requireViewById(R.id.title); subtitleText = view.requireViewById(R.id.subtitle); } + + @Override + public ImageView getIconImageView() { + return iconImage; + } + + @Override + public TextView getTitleTextView() { + return titleText; + } + + @Override + public TextView getSubtitleTextView() { + return subtitleText; + } } } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleItemView.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleItemView.java new file mode 100644 index 000000000..25dea89ad --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RequestRoleItemView.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.role.ui; + +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +/** + * Item view for qualifying applications in role requests. + */ +public interface RequestRoleItemView { + + /** + * Get the {@link ImageView} for item icon. + */ + @NonNull + ImageView getIconImageView(); + + /** + * Get the {@link TextView} for item title. + */ + @NonNull + TextView getTitleTextView(); + + /** + * Get the {@link TextView} for item subtitle. + */ + @NonNull + TextView getSubtitleTextView(); +} diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/UserRestrictionAwarePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RestrictionAwarePreference.java index e6bc9bab6..f68253161 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/UserRestrictionAwarePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RestrictionAwarePreference.java @@ -16,15 +16,17 @@ package com.android.permissioncontroller.role.ui; +import android.content.Intent; + import androidx.annotation.Nullable; /** - * Preference that is aware of user restrictions that can block them. + * Preference that is aware of restrictions that can block them. */ -public interface UserRestrictionAwarePreference { +public interface RestrictionAwarePreference { /** - * Specifies user restriction that blocks this preference. + * Set the restriction intent that blocks this preference. */ - void setUserRestriction(@Nullable String userRestriction); + void setRestrictionIntent(@Nullable Intent restrictionIntent); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/UserRestrictionAwarePreferenceMixin.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RestrictionAwarePreferenceMixin.java index 033507991..8d757324f 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/UserRestrictionAwarePreferenceMixin.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RestrictionAwarePreferenceMixin.java @@ -16,9 +16,7 @@ package com.android.permissioncontroller.role.ui; -import android.app.admin.DevicePolicyManager; import android.content.Intent; -import android.provider.Settings; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -26,32 +24,35 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; /** - * Mixin for implementing {@link UserRestrictionAwarePreference}. + * Mixin for implementing {@link RestrictionAwarePreference}. */ -public class UserRestrictionAwarePreferenceMixin { +public class RestrictionAwarePreferenceMixin { + + private static final String LOG_TAG = RestrictionAwarePreferenceMixin.class.getSimpleName(); @NonNull private final Preference mPreference; + @Nullable - private String mUserRestriction = null; + private Intent mRestrictionIntent; - public UserRestrictionAwarePreferenceMixin(@NonNull Preference preference) { + public RestrictionAwarePreferenceMixin(@NonNull Preference preference) { mPreference = preference; } /** - * Implementation for {@link UserRestrictionAwarePreference#setUserRestriction}. + * Implementation for {@link RestrictionAwarePreference#setRestrictionIntent}. */ - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestriction = userRestriction; - mPreference.setEnabled(mUserRestriction == null); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionIntent = restrictionIntent; + mPreference.setEnabled(mRestrictionIntent == null); } /** * Call after {@link Preference#onBindViewHolder} to apply blocking effects. */ public void onAfterBindViewHolder(@NonNull PreferenceViewHolder holder) { - if (mUserRestriction != null) { + if (mRestrictionIntent != null) { // We set the item view to enabled to make the preference row clickable. // Normal disabled preferences have the whole view hierarchy disabled, so by making only // the top-level itemView enabled, we don't change the fact that the whole preference @@ -60,10 +61,8 @@ public class UserRestrictionAwarePreferenceMixin { // we don't need to unset the listener here (we wouldn't know the correct one anyway). // This approach is used already by com.android.settingslib.RestrictedPreferenceHelper. holder.itemView.setEnabled(true); - Intent intent = new Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS) - .putExtra(DevicePolicyManager.EXTRA_RESTRICTION, mUserRestriction); holder.itemView.setOnClickListener( - (view) -> holder.itemView.getContext().startActivity(intent)); + view -> view.getContext().startActivity(mRestrictionIntent)); } } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java index 1b5b27971..1d3e32c9c 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleApplicationPreference.java @@ -22,7 +22,7 @@ import androidx.preference.TwoStatePreference; /** * Preference for application being a candidate or holding a role. */ -public interface RoleApplicationPreference extends UserRestrictionAwarePreference { +public interface RoleApplicationPreference extends RestrictionAwarePreference { /** * Get instance of {@code this} as {@link TwoStatePreference}. diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java index 442963ce6..bbc123cfe 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RolePreference.java @@ -16,14 +16,16 @@ package com.android.permissioncontroller.role.ui; +import androidx.annotation.NonNull; import androidx.preference.Preference; /** * Preference used by the default apps list UI. */ -public interface RolePreference extends TwoTargetPreference, UserRestrictionAwarePreference { +public interface RolePreference extends TwoTargetPreference, RestrictionAwarePreference { /** * Return this preference as {@link Preference}. */ + @NonNull Preference asPreference(); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/TwoTargetPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/TwoTargetPreference.java index 3a8cd55d3..ab2387686 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/TwoTargetPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/TwoTargetPreference.java @@ -41,6 +41,7 @@ public interface TwoTargetPreference { /** * Return this preference as {@link Preference}. */ + @NonNull Preference asPreference(); /** diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java index 83c146ebc..764c07497 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRadioPreference.java @@ -17,25 +17,27 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; +import android.content.Intent; import android.widget.RadioButton; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.content.res.TypedArrayUtils; import androidx.preference.PreferenceViewHolder; import androidx.preference.TwoStatePreference; import com.android.permissioncontroller.R; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; /** Preference used to represent apps that can be picked as a default app. */ public class AutoRadioPreference extends TwoStatePreference implements RoleApplicationPreference { - private final UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private final RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); - public AutoRadioPreference(Context context) { + public AutoRadioPreference(@NonNull Context context) { super(context, null, TypedArrayUtils.getAttr(context, androidx.preference.R.attr.preferenceStyle, android.R.attr.preferenceStyle)); @@ -48,20 +50,21 @@ public class AutoRadioPreference extends TwoStatePreference implements } @Override - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); RadioButton radioButton = (RadioButton) holder.findViewById(R.id.radio_button); radioButton.setChecked(isChecked()); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } @Override - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } + @NonNull @Override public AutoRadioPreference asTwoStatePreference() { return this; diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java index d2f1b6cde..15fd117d1 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoRolePreference.java @@ -17,16 +17,19 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; +import android.content.Intent; import android.util.AttributeSet; +import androidx.annotation.AttrRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.StyleRes; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RolePreference; import com.android.permissioncontroller.role.ui.TwoTargetPreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; /** * Preference for use in auto lists. Extends {@link TwoTargetPreference} in order to make sure of @@ -34,16 +37,16 @@ import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMi */ public class AutoRolePreference extends Preference implements RolePreference { - private UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); public AutoRolePreference(@NonNull Context context, - @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { + @Nullable AttributeSet attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public AutoRolePreference(@NonNull Context context, @Nullable AttributeSet attrs, - int defStyleAttr) { + @AttrRes int defStyleAttr) { super(context, attrs, defStyleAttr); } @@ -56,21 +59,21 @@ public class AutoRolePreference extends Preference implements RolePreference { } @Override - public void setOnSecondTargetClickListener(@Nullable OnSecondTargetClickListener listener) { - } + public void setOnSecondTargetClickListener(@Nullable OnSecondTargetClickListener listener) {} @Override - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @Override - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } + @NonNull @Override public AutoRolePreference asPreference() { return this; diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java index 900e58551..bfb2b5d1d 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/auto/AutoSwitchPreference.java @@ -17,6 +17,7 @@ package com.android.permissioncontroller.role.ui.auto; import android.content.Context; +import android.content.Intent; import android.util.AttributeSet; import androidx.annotation.AttrRes; @@ -26,8 +27,8 @@ import androidx.annotation.StyleRes; import androidx.preference.PreferenceViewHolder; import androidx.preference.SwitchPreference; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; /** * Role application preference represented as a switch. @@ -35,8 +36,8 @@ import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMi public class AutoSwitchPreference extends SwitchPreference implements RoleApplicationPreference { - private UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); public AutoSwitchPreference(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { @@ -57,15 +58,15 @@ public class AutoSwitchPreference extends SwitchPreference } @Override - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @Override - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } @NonNull diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/HomeRoleUiBehavior.java b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/HomeRoleUiBehavior.java index 323325d0b..0142e1c40 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/HomeRoleUiBehavior.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/HomeRoleUiBehavior.java @@ -38,6 +38,8 @@ import com.android.permissioncontroller.role.ui.TwoTargetPreference; import com.android.permissioncontroller.role.utils.UserUtils; import com.android.role.controller.model.Role; +import java.util.List; + /*** * Class for UI behavior of Home role */ @@ -47,7 +49,8 @@ public class HomeRoleUiBehavior implements RoleUiBehavior { @Override public void preparePreferenceAsUser(@NonNull Role role, @NonNull TwoTargetPreference preference, - @NonNull UserHandle user, @NonNull Context context) { + @NonNull List<ApplicationInfo> applicationInfos, @NonNull UserHandle user, + @NonNull Context context) { TwoTargetPreference.OnSecondTargetClickListener listener = null; RoleManager roleManager = context.getSystemService(RoleManager.class); String packageName = CollectionUtils.firstOrNull(roleManager.getRoleHoldersAsUser( diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/RoleUiBehavior.java b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/RoleUiBehavior.java index 29dc5d2fc..ae5c03676 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/RoleUiBehavior.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/RoleUiBehavior.java @@ -25,15 +25,31 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.preference.Preference; +import com.android.permissioncontroller.role.ui.RequestRoleItemView; import com.android.permissioncontroller.role.ui.TwoTargetPreference; import com.android.role.controller.model.Role; +import java.util.List; + /*** * Interface for UI behavior for roles */ public interface RoleUiBehavior { /** + * Prepare a {@link RequestRoleItemView} for this role and an application. + * + * @param role the role to prepare the preference for + * @param itemView the {@link RequestRoleItemView} for the application + * @param applicationInfo the {@link ApplicationInfo} for the application + * @param user the user for this role + * @param context the {@code Context} to retrieve system services + */ + default void prepareRequestRoleItemViewAsUser(@NonNull Role role, + @NonNull RequestRoleItemView itemView, @NonNull ApplicationInfo applicationInfo, + @NonNull UserHandle user, @NonNull Context context) {} + + /** * Get the {@link Intent} to manage this role, or {@code null} to use the default UI. * * @param role the role to get the intent for @@ -53,19 +69,21 @@ public interface RoleUiBehavior { * * @param role the role to prepare the preference for * @param preference the {@link Preference} for this role + * @param applicationInfos a list {@link ApplicationInfo} for the current role holders * @param user the user for this role * @param context the {@code Context} to retrieve system services */ default void preparePreferenceAsUser(@NonNull Role role, @NonNull TwoTargetPreference preference, - @NonNull UserHandle user, - @NonNull Context context) {} + @NonNull List<ApplicationInfo> applicationInfos, + @NonNull UserHandle user, @NonNull Context context) {} /** - * Prepare a {@link Preference} for this role. + * Prepare a {@link Preference} for this role and an application. * * @param role the role to prepare the preference for - * @param preference the {@link Preference} for this role + * @param preference the {@link Preference} for the application + * @param applicationInfo the {@link ApplicationInfo} for the application * @param user the user for this role * @param context the {@code Context} to retrieve system services */ diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/v35/WalletRoleUiBehavior.java b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/v35/WalletRoleUiBehavior.java new file mode 100644 index 000000000..aa6194997 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/behavior/v35/WalletRoleUiBehavior.java @@ -0,0 +1,190 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.role.ui.behavior.v35; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.graphics.drawable.Drawable; +import android.nfc.cardemulation.ApduServiceInfo; +import android.nfc.cardemulation.CardEmulation; +import android.nfc.cardemulation.HostApduService; +import android.nfc.cardemulation.OffHostApduService; +import android.os.Build; +import android.os.UserHandle; +import android.text.TextUtils; +import android.util.Log; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; +import androidx.core.util.Pair; +import androidx.preference.Preference; + +import com.android.permissioncontroller.role.ui.TwoTargetPreference; +import com.android.permissioncontroller.role.ui.behavior.RoleUiBehavior; +import com.android.role.controller.model.Role; +import com.android.role.controller.util.UserUtils; + +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +/*** + * Class for UI behavior of Wallet role + */ +@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +public class WalletRoleUiBehavior implements RoleUiBehavior { + + private static final String LOG_TAG = WalletRoleUiBehavior.class.getSimpleName(); + + @Override + public void preparePreferenceAsUser(@NonNull Role role, @NonNull TwoTargetPreference preference, + @NonNull List<ApplicationInfo> applicationInfos, @NonNull UserHandle user, + @NonNull Context context) { + Context userContext = UserUtils.getUserContext(context, user); + if (!applicationInfos.isEmpty()) { + preparePreferenceInternal(preference.asPreference(), applicationInfos.get(0), + false, user, userContext); + } + } + + @Override + public void prepareApplicationPreferenceAsUser(@NonNull Role role, + @NonNull Preference preference, @NonNull ApplicationInfo applicationInfo, + @NonNull UserHandle user, @NonNull Context context) { + Context userContext = UserUtils.getUserContext(context, user); + preparePreferenceInternal(preference, applicationInfo, true, user, userContext); + } + + private void preparePreferenceInternal(@NonNull Preference preference, + @NonNull ApplicationInfo applicationInfo, boolean setTitle, @NonNull UserHandle user, + @NonNull Context context) { + if (isSystemApplication(applicationInfo)) { + List<ApduServiceInfo> serviceInfos = getNfcServicesForPackage( + applicationInfo.packageName, user, context); + + Pair<Drawable, CharSequence> bannerAndLabel = + getNonPaymentServiceBannerAndLabelIfExists(serviceInfos, user, context); + if (bannerAndLabel != null) { + preference.setIcon(bannerAndLabel.first); + if (setTitle) { + preference.setTitle(bannerAndLabel.second); + } else { + preference.setSummary(bannerAndLabel.second); + } + } + } + } + + @NonNull + private static List<ApduServiceInfo> getNfcServicesForPackage(@NonNull String packageName, + @NonNull UserHandle user, @NonNull Context context) { + PackageManager packageManager = context.getPackageManager(); + Intent hostApduIntent = new Intent(HostApduService.SERVICE_INTERFACE); + Intent offHostApduIntent = new Intent(OffHostApduService.SERVICE_INTERFACE); + hostApduIntent.setPackage(packageName); + offHostApduIntent.setPackage(packageName); + List<ResolveInfo> hostApduServices = packageManager.queryIntentServicesAsUser( + hostApduIntent, + PackageManager.ResolveInfoFlags.of(PackageManager.GET_META_DATA + | PackageManager.MATCH_DISABLED_COMPONENTS), user); + List<ResolveInfo> offHostApduServices = packageManager.queryIntentServicesAsUser( + offHostApduIntent, + PackageManager.ResolveInfoFlags.of(PackageManager.GET_META_DATA + | PackageManager.MATCH_DISABLED_COMPONENTS), user); + List<ApduServiceInfo> nfcServices = new ArrayList<>(); + int apduServiceInfoSize = hostApduServices.size(); + for (int i = 0; i < apduServiceInfoSize; i++) { + ResolveInfo resolveInfo = hostApduServices.get(i); + ApduServiceInfo apduServiceInfo; + try { + apduServiceInfo = new ApduServiceInfo(packageManager, resolveInfo, true); + } catch (XmlPullParserException | IOException e) { + Log.e(LOG_TAG, "Error creating the apduserviceinfo.", e); + continue; + } + nfcServices.add(apduServiceInfo); + } + int offHostApduServiceInfoSize = offHostApduServices.size(); + for (int i = 0; i < offHostApduServiceInfoSize; i++) { + ResolveInfo resolveInfo = offHostApduServices.get(i); + ApduServiceInfo apduServiceInfo; + try { + apduServiceInfo = new ApduServiceInfo(packageManager, resolveInfo, false); + } catch (XmlPullParserException | IOException e) { + Log.e(LOG_TAG, "Error creating the apduserviceinfo.", e); + continue; + } + nfcServices.add(apduServiceInfo); + } + return nfcServices; + } + + @Nullable + private Pair<Drawable, CharSequence> getNonPaymentServiceBannerAndLabelIfExists( + @NonNull List<ApduServiceInfo> apduServiceInfos, @NonNull UserHandle user, + @NonNull Context context) { + Context userContext = UserUtils.getUserContext(context, user); + PackageManager userPackageManager = userContext.getPackageManager(); + Pair<Drawable, CharSequence> bannerAndLabel; + int apduServiceInfoSize = apduServiceInfos.size(); + for (int i = 0; i < apduServiceInfoSize; i++) { + ApduServiceInfo serviceInfo = apduServiceInfos.get(i); + if (serviceInfo.getAids().isEmpty()) { + bannerAndLabel = loadBannerAndLabel(serviceInfo, userPackageManager); + if (bannerAndLabel != null) { + return bannerAndLabel; + } + } else { + List<String> aids = serviceInfo.getAids(); + int aidsSize = aids.size(); + for (int j = 0; j < aidsSize; j++) { + String aid = aids.get(j); + String category = serviceInfo.getCategoryForAid(aid); + if (!CardEmulation.CATEGORY_PAYMENT.equals(category)) { + bannerAndLabel = loadBannerAndLabel(serviceInfo, userPackageManager); + if (bannerAndLabel != null) { + return bannerAndLabel; + } + } + } + } + } + return null; + } + + @Nullable + private Pair<Drawable, CharSequence> loadBannerAndLabel(@NonNull ApduServiceInfo info, + @NonNull PackageManager userPackageManager) { + Drawable drawable = info.loadBanner(userPackageManager); + CharSequence label = info.loadLabel(userPackageManager); + if (drawable != null && !TextUtils.isEmpty(label)) { + return new Pair<>(drawable, label); + } else { + return null; + } + } + + private static boolean isSystemApplication(@NonNull ApplicationInfo applicationInfo) { + return (applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0; + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java index d9ef047d6..67f04051c 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRadioPreference.java @@ -17,14 +17,15 @@ package com.android.permissioncontroller.role.ui.handheld; import android.content.Context; +import android.content.Intent; import android.util.AttributeSet; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.preference.PreferenceViewHolder; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; import com.android.settingslib.widget.SelectorWithWidgetPreference; /** @@ -33,8 +34,8 @@ import com.android.settingslib.widget.SelectorWithWidgetPreference; public class HandheldRadioPreference extends SelectorWithWidgetPreference implements RoleApplicationPreference { - private final UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private final RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); public HandheldRadioPreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyle) { @@ -55,16 +56,15 @@ public class HandheldRadioPreference extends SelectorWithWidgetPreference implem } @Override - public void setUserRestriction( - @Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @Override - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } @NonNull diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java index 978fe7d5a..3d09f0b46 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/handheld/HandheldRolePreference.java @@ -17,6 +17,7 @@ package com.android.permissioncontroller.role.ui.handheld; import android.content.Context; +import android.content.Intent; import android.util.AttributeSet; import android.view.View; @@ -28,8 +29,8 @@ import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import com.android.permissioncontroller.R; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RolePreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; import com.android.settingslib.widget.TwoTargetPreference; /** @@ -40,8 +41,8 @@ import com.android.settingslib.widget.TwoTargetPreference; // Made public for com.android.permissioncontroller.role.ui.specialappaccess.handheld public class HandheldRolePreference extends TwoTargetPreference implements RolePreference { - private final UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private final RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); @Nullable private OnSecondTargetClickListener mOnSecondTargetClickListener; @@ -93,8 +94,8 @@ public class HandheldRolePreference extends TwoTargetPreference implements RoleP } @Override - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @Override @@ -113,9 +114,10 @@ public class HandheldRolePreference extends TwoTargetPreference implements RoleP // Make the settings button enabled even if the preference itself is disabled. settingsButton.setEnabled(true); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } + @NonNull @Override public HandheldRolePreference asPreference() { return this; diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessChildFragment.java index b95440bbd..4b397343c 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessChildFragment.java @@ -164,6 +164,9 @@ public class SpecialAppAccessChildFragment<PF extends PreferenceFragmentCompat preference.setChecked(isHolderPackage); UserHandle user = UserHandle.getUserHandleForUid(qualifyingApplicationInfo.uid); + roleApplicationPreference.setRestrictionIntent( + mRole.getApplicationRestrictionIntentAsUser(qualifyingApplicationInfo, user, + context)); RoleUiBehaviorUtils.prepareApplicationPreferenceAsUser(mRole, roleApplicationPreference, qualifyingApplicationInfo, user, context); preferenceScreen.addPreference(preference); diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessListChildFragment.java b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessListChildFragment.java index 4b256cef0..cacb4377f 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessListChildFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/SpecialAppAccessListChildFragment.java @@ -115,9 +115,11 @@ public class SpecialAppAccessListChildFragment<PF extends PreferenceFragmentComp } else { preference = rolePreference.asPreference(); } - RoleUiBehaviorUtils.preparePreferenceAsUser(role, rolePreference, - Process.myUserHandle(), - context); + + rolePreference.setRestrictionIntent(role.getRestrictionIntentAsUser( + Process.myUserHandle(), context)); + RoleUiBehaviorUtils.preparePreferenceAsUser(role, roleItem.getHolderApplicationInfos(), + rolePreference, Process.myUserHandle(), context); preferenceScreen.addPreference(preference); } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java index 1b4dd78a4..ded6d5cb5 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/specialappaccess/handheld/HandheldSwitchPreference.java @@ -17,6 +17,7 @@ package com.android.permissioncontroller.role.ui.specialappaccess.handheld; import android.content.Context; +import android.content.Intent; import android.util.AttributeSet; import androidx.annotation.AttrRes; @@ -25,16 +26,16 @@ import androidx.annotation.Nullable; import androidx.annotation.StyleRes; import androidx.preference.PreferenceViewHolder; +import com.android.permissioncontroller.role.ui.RestrictionAwarePreferenceMixin; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreferenceMixin; import com.android.settingslib.widget.AppSwitchPreference; /** {@link AppSwitchPreference} that is a role application preference. */ public class HandheldSwitchPreference extends AppSwitchPreference implements RoleApplicationPreference { - private UserRestrictionAwarePreferenceMixin mUserRestrictionAwarePreferenceMixin = - new UserRestrictionAwarePreferenceMixin(this); + private RestrictionAwarePreferenceMixin mRestrictionAwarePreferenceMixin = + new RestrictionAwarePreferenceMixin(this); public HandheldSwitchPreference(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { @@ -55,15 +56,15 @@ public class HandheldSwitchPreference extends AppSwitchPreference } @Override - public void setUserRestriction(@Nullable String userRestriction) { - mUserRestrictionAwarePreferenceMixin.setUserRestriction(userRestriction); + public void setRestrictionIntent(@Nullable Intent restrictionIntent) { + mRestrictionAwarePreferenceMixin.setRestrictionIntent(restrictionIntent); } @Override - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onBindViewHolder(@NonNull PreferenceViewHolder holder) { super.onBindViewHolder(holder); - mUserRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); + mRestrictionAwarePreferenceMixin.onAfterBindViewHolder(holder); } @NonNull diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/v35/ChangeDefaultCardEmulationActivity.java b/PermissionController/src/com/android/permissioncontroller/role/ui/v35/ChangeDefaultCardEmulationActivity.java new file mode 100644 index 000000000..e1f92e2d3 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/v35/ChangeDefaultCardEmulationActivity.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.role.ui.v35; + +import android.app.Activity; +import android.app.role.RoleManager; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.nfc.cardemulation.CardEmulation; +import android.os.Bundle; +import android.os.Process; +import android.permission.flags.Flags; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.android.modules.utils.build.SdkLevel; +import com.android.permissioncontroller.role.ui.DefaultAppActivity; + +import java.util.List; +import java.util.Objects; + +/** + * Activity to handle {@link android.nfc.cardemulation.CardEmulation#ACTION_CHANGE_DEFAULT}. + */ +public class ChangeDefaultCardEmulationActivity extends Activity { + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent; + if (SdkLevel.isAtLeastV() && Flags.walletRoleEnabled()) { + intent = DefaultAppActivity.createIntent(RoleManager.ROLE_WALLET, + Process.myUserHandle(), this); + } else { + intent = getIntent(); + setDefaultPaymentChangeHandlerDialogComponent(intent); + } + intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + startActivity(intent); + finish(); + } + + // The only other handler of this intent is in the NFC stack. + private void setDefaultPaymentChangeHandlerDialogComponent(@NonNull Intent intent) { + Intent queryIntent = new Intent(CardEmulation.ACTION_CHANGE_DEFAULT); + PackageManager packageManager = getPackageManager(); + List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(queryIntent, + PackageManager.MATCH_SYSTEM_ONLY); + int resolveInfosSize = resolveInfos.size(); + for (int i = 0; i < resolveInfosSize; i++) { + ResolveInfo resolveInfo = resolveInfos.get(i); + String packageName = resolveInfo.activityInfo.packageName; + if (!Objects.equals(packageName, getPackageName())) { + intent.setClassName(packageName, + resolveInfo.activityInfo.name); + return; + } + } + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppFragment.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppFragment.kt index 51eb7d40d..156656e33 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppFragment.kt @@ -27,7 +27,7 @@ import androidx.compose.ui.platform.ComposeView import androidx.core.os.BundleCompat import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider -import com.android.permissioncontroller.permission.ui.wear.setContent +import com.android.permissioncontroller.permission.ui.wear.theme.WearPermissionTheme import com.android.permissioncontroller.role.ui.DefaultAppViewModel import com.android.permissioncontroller.role.ui.ManageRoleHolderStateLiveData import com.android.permissioncontroller.role.ui.wear.model.DefaultAppConfirmDialogViewModel @@ -75,9 +75,17 @@ class WearDefaultAppFragment : Fragment() { return ComposeView(activity).apply { setContent { - WearDefaultAppScreen( - WearDefaultAppHelper(activity, user, role, viewModel, confirmDialogViewModel) - ) + WearPermissionTheme { + WearDefaultAppScreen( + WearDefaultAppHelper( + activity, + user, + role, + viewModel, + confirmDialogViewModel + ) + ) + } } } } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppHelper.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppHelper.kt index d8928d608..06b4e61be 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppHelper.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppHelper.kt @@ -58,13 +58,15 @@ class WearDefaultAppHelper( ): List<WearRoleApplicationPreference> { return qualifyingApplications .map { pair -> + val appInfo = pair.first + val selected = pair.second WearRoleApplicationPreference( context = context, - label = Utils.getFullAppLabel(pair.first, context), - checked = pair.second, + label = Utils.getFullAppLabel(appInfo, context), + checked = selected, onDefaultCheckChanged = { _ -> run { - val packageName = pair.first.packageName + val packageName = appInfo.packageName val confirmationMessage = RoleUiBehaviorUtils.getConfirmationMessage( role, @@ -79,16 +81,18 @@ class WearDefaultAppHelper( } } ) - .apply { icon = pair.first.loadIcon(context.packageManager) } - .let { + .apply { + icon = appInfo.loadIcon(context.packageManager) + setRestrictionIntent( + role.getApplicationRestrictionIntentAsUser(appInfo, user, context) + ) RoleUiBehaviorUtils.prepareApplicationPreferenceAsUser( role, - it, - pair.first, + this, + appInfo, user, context ) - return@map it } } .toList() @@ -119,5 +123,5 @@ class WearDefaultAppHelper( private fun hasHolderApplication( qualifyingApplications: List<Pair<ApplicationInfo, Boolean>> - ): Boolean = qualifyingApplications.map { it.second }.find { true } ?: false + ): Boolean = qualifyingApplications.map { it.second }.contains(true) } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppListHelper.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppListHelper.kt index 5e8a2f9ad..dda704aef 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppListHelper.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearDefaultAppListHelper.kt @@ -34,20 +34,20 @@ class WearDefaultAppListHelper(val context: Context, val user: UserHandle) { context = context, label = context.getString(roleItem.role.shortLabelResource), onDefaultClicked = { - run { - val roleName: String = roleItem.role.name - val role = Roles.get(context)[roleName] - var intent = - RoleUiBehaviorUtils.getManageIntentAsUser(role!!, user, context) - if (intent == null) { - intent = - DefaultAppActivity.createIntent(roleName, user, context) - } - context.startActivity(intent) + val roleName: String = roleItem.role.name + val role = Roles.get(context)[roleName] + var intent = + RoleUiBehaviorUtils.getManageIntentAsUser(role!!, user, context) + if (intent == null) { + intent = DefaultAppActivity.createIntent(roleName, user, context) } + context.startActivity(intent) } ) .apply { + setRestrictionIntent( + roleItem.role.getRestrictionIntentAsUser(user, context) + ) val holderApplicationInfos = roleItem.holderApplicationInfos if (holderApplicationInfos.isEmpty()) { icon = null @@ -57,15 +57,13 @@ class WearDefaultAppListHelper(val context: Context, val user: UserHandle) { icon = Utils.getBadgedIcon(context, holderApplicationInfo) summary = Utils.getAppLabel(holderApplicationInfo, context) } - } - .let { RoleUiBehaviorUtils.preparePreferenceAsUser( roleItem.role, - it, + roleItem.holderApplicationInfos, + this, user, context ) - return@map it } } .toList() diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleHelper.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleHelper.kt index f1d6ba97b..c7f14b862 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleHelper.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRequestRoleHelper.kt @@ -62,7 +62,7 @@ class WearRequestRoleHelper( null }, icon = context.getDrawable(R.drawable.ic_remove_circle), - checked = selectedPackage?.isNullOrEmpty() ?: false, + checked = selectedPackage.isNullOrEmpty(), enabled = if (!wearViewModel.dontAskAgain()) { true @@ -106,7 +106,7 @@ class WearRequestRoleHelper( private fun hasHolderApplication( qualifyingApplications: List<Pair<ApplicationInfo, Boolean>> - ): Boolean = qualifyingApplications.map { it.second }.find { true } ?: false + ): Boolean = qualifyingApplications.map { it.second }.contains(true) fun shouldSetAsDefaultEnabled(enabled: Boolean): Boolean { return enabled && (wearViewModel.dontAskAgain() || !wearViewModel.isHolderChecked) diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt index 29f90ddc3..abaa33a56 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRoleApplicationPreference.kt @@ -16,10 +16,8 @@ package com.android.permissioncontroller.role.ui.wear -import android.app.admin.DevicePolicyManager import android.content.Context import android.content.Intent -import android.provider.Settings import androidx.preference.TwoStatePreference import com.android.permissioncontroller.role.ui.RoleApplicationPreference @@ -32,25 +30,15 @@ class WearRoleApplicationPreference( val label: String, val checked: Boolean, val onDefaultCheckChanged: (Boolean) -> Unit = {}, - private var restriction: String? = null + private var restrictionIntent: Intent? = null ) : TwoStatePreference(context), RoleApplicationPreference { fun getOnCheckChanged(): (Boolean) -> Unit = - restriction?.let { - return { _ -> - context.startActivity( - Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS) - .putExtra(DevicePolicyManager.EXTRA_RESTRICTION, restriction) - ) - } - } - ?: onDefaultCheckChanged + restrictionIntent?.let { { _ -> context.startActivity(it) } } ?: onDefaultCheckChanged - override fun setUserRestriction(userRestriction: String?) { - restriction = userRestriction - setEnabled(restriction == null) + override fun setRestrictionIntent(restrictionIntent: Intent?) { + this.restrictionIntent = restrictionIntent + setEnabled(restrictionIntent == null) } - override fun asTwoStatePreference(): TwoStatePreference { - return this - } + override fun asTwoStatePreference(): TwoStatePreference = this } diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt index 16d35ed76..43acf4293 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/role/ui/wear/WearRolePreference.kt @@ -16,10 +16,8 @@ package com.android.permissioncontroller.role.ui.wear -import android.app.admin.DevicePolicyManager import android.content.Context import android.content.Intent -import android.provider.Settings import androidx.preference.Preference import com.android.permissioncontroller.role.ui.RolePreference import com.android.permissioncontroller.role.ui.TwoTargetPreference.OnSecondTargetClickListener @@ -30,30 +28,20 @@ class WearRolePreference( context: Context, val label: String, val onDefaultClicked: () -> Unit = {}, - private var restriction: String? = null + private var restrictionIntent: Intent? = null ) : TwoTargetPreference(context), RolePreference { override fun setOnSecondTargetClickListener(listener: OnSecondTargetClickListener?) { // no-op } - override fun setUserRestriction(userRestriction: String?) { - restriction = userRestriction - setEnabled(restriction == null) + override fun setRestrictionIntent(restrictionIntent: Intent?) { + this.restrictionIntent = restrictionIntent + setEnabled(restrictionIntent == null) } - override fun asPreference(): Preference { - return this - } + override fun asPreference(): Preference = this fun getOnClicked(): () -> Unit = - restriction?.let { - return { - context.startActivity( - Intent(Settings.ACTION_SHOW_ADMIN_SUPPORT_DETAILS) - .putExtra(DevicePolicyManager.EXTRA_RESTRICTION, restriction) - ) - } - } - ?: onDefaultClicked + restrictionIntent?.let { { context.startActivity(it) } } ?: onDefaultClicked } diff --git a/PermissionController/src/com/android/permissioncontroller/role/utils/RoleUiBehaviorUtils.java b/PermissionController/src/com/android/permissioncontroller/role/utils/RoleUiBehaviorUtils.java index 7ebc1ebd1..c11a74259 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/utils/RoleUiBehaviorUtils.java +++ b/PermissionController/src/com/android/permissioncontroller/role/utils/RoleUiBehaviorUtils.java @@ -20,19 +20,19 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.os.UserHandle; -import android.os.UserManager; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.android.modules.utils.build.SdkLevel; +import com.android.permissioncontroller.role.ui.RequestRoleItemView; import com.android.permissioncontroller.role.ui.RoleApplicationPreference; import com.android.permissioncontroller.role.ui.RolePreference; -import com.android.permissioncontroller.role.ui.UserRestrictionAwarePreference; import com.android.permissioncontroller.role.ui.behavior.RoleUiBehavior; import com.android.role.controller.model.Role; +import java.util.List; + /** * Utility methods for Role UI behavior */ @@ -62,6 +62,19 @@ public final class RoleUiBehaviorUtils { } /** + * @see RoleUiBehavior#prepareRequestRoleItemViewAsUser + */ + public static void prepareRequestRoleItemViewAsUser(@NonNull Role role, + @NonNull RequestRoleItemView itemView, @NonNull ApplicationInfo applicationInfo, + @NonNull UserHandle user, @NonNull Context context) { + RoleUiBehavior uiBehavior = getUiBehavior(role); + if (uiBehavior == null) { + return; + } + uiBehavior.prepareRequestRoleItemViewAsUser(role, itemView, applicationInfo, user, context); + } + + /** * @see RoleUiBehavior#getManageIntentAsUser */ @Nullable @@ -78,15 +91,13 @@ public final class RoleUiBehaviorUtils { * @see RoleUiBehavior#preparePreferenceAsUser */ public static void preparePreferenceAsUser(@NonNull Role role, - @NonNull RolePreference preference, @NonNull UserHandle user, - @NonNull Context context) { - prepareUserRestrictionAwarePreferenceAsUser(role, preference, user, context); - + @NonNull List<ApplicationInfo> applicationInfos, @NonNull RolePreference preference, + @NonNull UserHandle user, @NonNull Context context) { RoleUiBehavior uiBehavior = getUiBehavior(role); if (uiBehavior == null) { return; } - uiBehavior.preparePreferenceAsUser(role, preference, user, context); + uiBehavior.preparePreferenceAsUser(role, preference, applicationInfos, user, context); } /** @@ -96,8 +107,6 @@ public final class RoleUiBehaviorUtils { @NonNull RoleApplicationPreference preference, @NonNull ApplicationInfo applicationInfo, @NonNull UserHandle user, @NonNull Context context) { - prepareUserRestrictionAwarePreferenceAsUser(role, preference, user, context); - RoleUiBehavior uiBehavior = getUiBehavior(role); if (uiBehavior == null) { return; @@ -107,18 +116,6 @@ public final class RoleUiBehaviorUtils { context); } - private static void prepareUserRestrictionAwarePreferenceAsUser(@NonNull Role role, - @NonNull UserRestrictionAwarePreference preference, @NonNull UserHandle user, - @NonNull Context context) { - if (SdkLevel.isAtLeastU() && role.isExclusive()) { - UserManager userManager = context.getSystemService(UserManager.class); - boolean hasDisallowConfigDefaultApps = userManager.hasUserRestrictionForUser( - UserManager.DISALLOW_CONFIG_DEFAULT_APPS, user); - preference.setUserRestriction(hasDisallowConfigDefaultApps - ? UserManager.DISALLOW_CONFIG_DEFAULT_APPS : null); - } - } - /** * @see RoleUiBehavior#getConfirmationMessage */ diff --git a/PermissionController/src/com/android/permissioncontroller/role/utils/UiUtils.java b/PermissionController/src/com/android/permissioncontroller/role/utils/UiUtils.java index e13e55c51..4d3320667 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/utils/UiUtils.java +++ b/PermissionController/src/com/android/permissioncontroller/role/utils/UiUtils.java @@ -18,16 +18,12 @@ package com.android.permissioncontroller.role.utils; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; -import android.content.Context; -import android.util.DisplayMetrics; -import android.util.TypedValue; import android.view.View; +import android.view.ViewGroup; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; -import androidx.annotation.Dimension; import androidx.annotation.NonNull; -import androidx.annotation.Px; /** * Utility methods about UI. @@ -37,6 +33,26 @@ public class UiUtils { private UiUtils() {} /** + * Set enabled state on a view and its children recursively. + * + * @see androidx.preference.Preference#setEnabledStateOnViews + * + * @param view the view to be set to enabled or not + * @param enabled whether the view should be enabled + */ + public static void setViewTreeEnabled(@NonNull View view, boolean enabled) { + view.setEnabled(enabled); + if (view instanceof ViewGroup) { + ViewGroup viewGroup = (ViewGroup) view; + int childCount = viewGroup.getChildCount(); + for (int i = 0; i < childCount; ++i) { + View childView = viewGroup.getChildAt(i); + setViewTreeEnabled(childView, enabled); + } + } + } + + /** * Set whether a view is shown. * * @param view the view to be set to shown or not diff --git a/PermissionController/src/com/android/permissioncontroller/role/utils/UserUtils.java b/PermissionController/src/com/android/permissioncontroller/role/utils/UserUtils.java index e89470ff6..339b2a12a 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/utils/UserUtils.java +++ b/PermissionController/src/com/android/permissioncontroller/role/utils/UserUtils.java @@ -17,8 +17,6 @@ package com.android.permissioncontroller.role.utils; import android.content.Context; -import android.content.pm.PackageManager; -import android.os.Build; import android.os.Process; import android.os.UserHandle; import android.os.UserManager; @@ -26,6 +24,8 @@ import android.os.UserManager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.android.modules.utils.build.SdkLevel; + import java.util.List; import java.util.Objects; @@ -37,56 +37,47 @@ public class UserUtils { private UserUtils() {} /** - * Check whether a user is a profile. + * Get the work profile of current user, if any. * - * @param user the user to check * @param context the {@code Context} to retrieve system services - * @return whether the user is a profile - */ - public static boolean isProfile(@NonNull UserHandle user, @NonNull Context context) { - return isManagedProfile(user, context) || isCloneProfile(user, context); - } - - /** - * Check whether a user is a managed profile. * - * @param user the user to check - * @param context the {@code Context} to retrieve system services - * @return whether the user is a managed profile + * @return the work profile of current user, or {@code null} if none */ - public static boolean isManagedProfile(@NonNull UserHandle user, @NonNull Context context) { - Context userContext = getUserContext(context, user); - UserManager userUserManager = userContext.getSystemService(UserManager.class); - return userUserManager.isManagedProfile(user.getIdentifier()); - } + @Nullable + public static UserHandle getWorkProfile(@NonNull Context context) { + UserManager userManager = context.getSystemService(UserManager.class); + List<UserHandle> profiles = userManager.getUserProfiles(); + UserHandle user = Process.myUserHandle(); - /** - * Check whether a user is a clone profile. - * - * @param user the user to check - * @param context the {@code Context} to retrieve system services - * @return whether the user is a clone profile - */ - public static boolean isCloneProfile(@NonNull UserHandle user, @NonNull Context context) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S) { - return false; + int profilesSize = profiles.size(); + for (int i = 0; i < profilesSize; i++) { + UserHandle profile = profiles.get(i); + + if (Objects.equals(profile, user)) { + continue; + } + if (!userManager.isManagedProfile(profile.getIdentifier())) { + continue; + } + return profile; } - Context userContext = getUserContext(context, user); - UserManager userUserManager = userContext.getSystemService(UserManager.class); - return userUserManager.isCloneProfile(); + return null; } /** - * Get the work profile of current user, if any. + * Get the private profile of current user, if any. * * @param context the {@code Context} to retrieve system services * - * @return the work profile of current user, or {@code null} if none + * @return the private profile of current user, or {@code null} if none */ @Nullable - public static UserHandle getWorkProfile(@NonNull Context context) { - UserManager userManager = context.getSystemService(UserManager.class); - List<UserHandle> profiles = userManager.getUserProfiles(); + public static UserHandle getPrivateProfile(@NonNull Context context) { + if (!SdkLevel.isAtLeastV()) { + return null; + } + + List<UserHandle> profiles = context.getSystemService(UserManager.class).getUserProfiles(); UserHandle user = Process.myUserHandle(); int profilesSize = profiles.size(); @@ -96,14 +87,22 @@ public class UserUtils { if (Objects.equals(profile, user)) { continue; } - if (!userManager.isManagedProfile(profile.getIdentifier())) { - continue; + if (isPrivateProfile(profile, context)) { + return profile; } - return profile; } return null; } + private static boolean isPrivateProfile(@NonNull UserHandle userHandle, + @NonNull Context context) { + if (!SdkLevel.isAtLeastV() || !android.os.Flags.allowPrivateProfile()) { + return false; + } + Context userContext = context.createContextAsUser(userHandle, /* flags= */ 0); + return userContext.getSystemService(UserManager.class).isPrivateProfile(); + } + /** * Create a context for a user. * diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/SafetyCenterConstants.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/SafetyCenterConstants.java index cf96967ff..8ca76d006 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/SafetyCenterConstants.java +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/SafetyCenterConstants.java @@ -38,6 +38,9 @@ public class SafetyCenterConstants { /** Suffix used to identify a source in the Safety Center work profile */ public static final String WORK_PROFILE_SUFFIX = "work"; + /** Suffix used to identify a source in the Safety Center private profile */ + public static final String PRIVATE_PROFILE_SUFFIX = "private"; + /** Intent extra representing the preference key of a search result */ public static final String EXTRA_SETTINGS_FRAGMENT_ARGS_KEY = ":settings:fragment_args_key"; diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterSearchIndexablesProvider.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterSearchIndexablesProvider.kt index 88dd8a6e3..c5e59d3df 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterSearchIndexablesProvider.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/service/SafetyCenterSearchIndexablesProvider.kt @@ -22,6 +22,7 @@ import android.content.res.Resources import android.database.Cursor import android.database.MatrixCursor import android.os.Build +import android.os.UserHandle import android.os.UserManager import android.provider.SearchIndexablesContract.INDEXABLES_RAW_COLUMNS import android.provider.SearchIndexablesContract.NON_INDEXABLES_KEYS_COLUMNS @@ -46,6 +47,7 @@ import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.R import com.android.permissioncontroller.permission.service.BaseSearchIndexablesProvider import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PERSONAL_PROFILE_SUFFIX +import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVATE_PROFILE_SUFFIX import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.WORK_PROFILE_SUFFIX import com.android.permissioncontroller.safetycenter.ui.SafetyCenterUiFlags import com.android.permissioncontroller.safetycenter.ui.model.PrivacyControlsViewModel.Pref @@ -111,7 +113,6 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { val context = requireContext() val safetyCenterManager = context.getSystemService(SafetyCenterManager::class.java) ?: return cursor - val userManager = context.getSystemService(UserManager::class.java) ?: return cursor val keysToRemove = mutableSetOf<String>() if (safetyCenterManager.isSafetyCenterEnabled) { @@ -124,7 +125,7 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { keysToRemove, staticEntryGroupsAreRemovable = SdkLevel.isAtLeastU() ) - keepActiveEntriesFromRemoval(safetyCenterManager, userManager, keysToRemove) + keepActiveEntriesFromRemoval(safetyCenterManager, context, keysToRemove) } else { collectAllRemovableKeys( safetyCenterManager, @@ -171,18 +172,19 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { var isPersonalEntryAdded = false var isWorkEntryAdded = false - fun MatrixCursor.addIndexableRow(title: CharSequence, isWorkProfile: Boolean) = + fun MatrixCursor.addIndexableRow(title: CharSequence, profileType: ProfileType) = newRow() .add(COLUMN_RANK, 0) .add(COLUMN_TITLE, title) .add(COLUMN_KEYWORDS, searchTerms?.let { "$title, $it" } ?: title) - .add(COLUMN_KEY, safetySource.id.addSuffix(isWorkProfile)) + .add(COLUMN_KEY, safetySource.id.addSuffix(profileType)) .add(COLUMN_INTENT_ACTION, Intent.ACTION_SAFETY_CENTER) .add(COLUMN_SCREEN_TITLE, screenTitle) if (safetySource.id == BIOMETRIC_SOURCE_ID) { - // correct Biometric Unlock title is only available when - // Biometric SafetySource have sent the data to SafetyCenter + // Correct Biometric Unlock title is only available when Biometric SafetySource have + // sent the data to SafetyCenter. Only the main user and the work profile send data for + // the Biometric Safety Source. context.getSystemService(UserManager::class.java)?.let { userManager -> safetyCenterManager.safetyEntries .associateBy { it.entryId } @@ -191,23 +193,31 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { val isWorkProfile = userManager.isManagedProfile(it.key.userId) if (isWorkProfile) { isWorkEntryAdded = true + addIndexableRow(it.value.title, ProfileType.MANAGED) } else { + addIndexableRow(it.value.title, ProfileType.PRIMARY) isPersonalEntryAdded = true } - addIndexableRow(it.value.title, isWorkProfile) } } } if (!isPersonalEntryAdded) { safetyCenterResourcesApk.getNotEmptyStringOrNull(safetySource.titleResId)?.let { - addIndexableRow(title = it, isWorkProfile = false) + addIndexableRow(title = it, ProfileType.PRIMARY) } } - if (!isWorkEntryAdded && safetySource.profile == SafetySource.PROFILE_ALL) { - safetyCenterResourcesApk.getNotEmptyStringOrNull(safetySource.titleForWorkResId)?.let { - addIndexableRow(title = it, isWorkProfile = true) + if (safetySource.profile == SafetySource.PROFILE_ALL) { + if (!isWorkEntryAdded) { + safetyCenterResourcesApk + .getNotEmptyStringOrNull(safetySource.titleForWorkResId) + ?.let { addIndexableRow(title = it, ProfileType.MANAGED) } + } + if (safetySource.id != BIOMETRIC_SOURCE_ID && isPrivateProfileSupported()) { + safetyCenterResourcesApk + .getNotEmptyStringOrNull(safetySource.titleForPrivateProfileResId) + ?.let { addIndexableRow(title = it, ProfileType.PRIVATE) } } } } @@ -219,8 +229,14 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { null } - private fun String.addSuffix(isWorkProfile: Boolean): String = - "${this}_${if (isWorkProfile) WORK_PROFILE_SUFFIX else PERSONAL_PROFILE_SUFFIX}" + private fun String.addSuffix(profileType: ProfileType): String = + "${this}_${ + when (profileType) { + ProfileType.MANAGED -> WORK_PROFILE_SUFFIX + ProfileType.PRIVATE -> PRIVATE_PROFILE_SUFFIX + ProfileType.PRIMARY -> PERSONAL_PROFILE_SUFFIX + } + }" private val SafetyCenterManager.safetySourcesGroupsWithEntries: Sequence<SafetySourcesGroup> get() = @@ -249,9 +265,12 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { .asSequence() .filter { it.type != SAFETY_SOURCE_TYPE_ISSUE_ONLY } .forEach { safetySource -> - keysToRemove.add(safetySource.id.addSuffix(isWorkProfile = false)) + keysToRemove.add(safetySource.id.addSuffix(ProfileType.PRIMARY)) if (safetySource.profile == SafetySource.PROFILE_ALL) { - keysToRemove.add(safetySource.id.addSuffix(isWorkProfile = true)) + keysToRemove.add(safetySource.id.addSuffix(ProfileType.MANAGED)) + if (isPrivateProfileSupported()) { + keysToRemove.add(safetySource.id.addSuffix(ProfileType.PRIVATE)) + } } } } @@ -259,7 +278,7 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { private fun keepActiveEntriesFromRemoval( safetyCenterManager: SafetyCenterManager, - userManager: UserManager, + context: Context, keysToRemove: MutableSet<String> ) { val safetyCenterData = safetyCenterManager.safetyCenterData @@ -268,9 +287,7 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { if (entryGroup != null && SafetyCenterUiFlags.getShowSubpages()) { keysToRemove.remove(entryGroup.id) } - entryOrGroup.entries.forEach { - keepEntryFromRemoval(it.entryId, userManager, keysToRemove) - } + entryOrGroup.entries.forEach { keepEntryFromRemoval(it.entryId, context, keysToRemove) } } if (!SdkLevel.isAtLeastU()) { return @@ -281,18 +298,25 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { .forEach { staticEntry -> val entryId = SafetyCenterBundles.getStaticEntryId(safetyCenterData, staticEntry) if (entryId != null) { - keepEntryFromRemoval(entryId, userManager, keysToRemove) + keepEntryFromRemoval(entryId, context, keysToRemove) } } } private fun keepEntryFromRemoval( entryId: SafetyCenterEntryId, - userManager: UserManager, + context: Context, keysToRemove: MutableSet<String> ) { - val isWorkProfile = userManager.isManagedProfile(entryId.userId) - keysToRemove.remove(entryId.safetySourceId.addSuffix(isWorkProfile)) + val userContext = context.createContextAsUser(UserHandle.of(entryId.userId), /* flags= */ 0) + val userUserManager = userContext.getSystemService(UserManager::class.java) ?: return + if (userUserManager.isManagedProfile) { + keysToRemove.remove(entryId.safetySourceId.addSuffix(ProfileType.MANAGED)) + } else if (isPrivateProfileSupported() && userUserManager.isPrivateProfile) { + keysToRemove.remove(entryId.safetySourceId.addSuffix(ProfileType.PRIVATE)) + } else { + keysToRemove.remove(entryId.safetySourceId.addSuffix(ProfileType.PRIMARY)) + } } private val SafetyCenterManager.safetyEntriesOrGroups: Sequence<SafetyCenterEntryOrGroup> @@ -308,6 +332,12 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { private val SafetyCenterEntry.entryId: SafetyCenterEntryId get() = SafetyCenterIds.entryIdFromString(id) + private fun isPrivateProfileSupported(): Boolean { + return SdkLevel.isAtLeastV() && + com.android.permission.flags.Flags.privateProfileSupported() && + android.os.Flags.allowPrivateProfile() + } + companion object { private const val BIOMETRIC_SOURCE_ID = "AndroidBiometrics" @@ -339,4 +369,10 @@ class SafetyCenterSearchIndexablesProvider : BaseSearchIndexablesProvider() { return safetyCenterDisabled || subpagesDisabled } } + + enum class ProfileType { + PRIMARY, + MANAGED, + PRIVATE + } } diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java index ae67250a5..b873bc114 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterActivity.java @@ -26,6 +26,7 @@ import static com.android.permissioncontroller.PermissionControllerStatsLog.PRIV import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.EXTRA_SETTINGS_FRAGMENT_ARGS_KEY; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PERSONAL_PROFILE_SUFFIX; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVACY_SOURCES_GROUP_ID; +import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVATE_PROFILE_SUFFIX; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.WORK_PROFILE_SUFFIX; import android.app.ActionBar; @@ -271,6 +272,8 @@ public final class SafetyCenterActivity extends CollapsingToolbarBaseActivity { splitKey = preferenceKey.split("_" + PERSONAL_PROFILE_SUFFIX); } else if (preferenceKey.endsWith(WORK_PROFILE_SUFFIX)) { splitKey = preferenceKey.split("_" + WORK_PROFILE_SUFFIX); + } else if (preferenceKey.endsWith(PRIVATE_PROFILE_SUFFIX)) { + splitKey = preferenceKey.split("_" + PRIVATE_PROFILE_SUFFIX); } else { return ""; } diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java index 874e3c750..efbd57080 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java @@ -19,6 +19,7 @@ package com.android.permissioncontroller.safetycenter.ui; import static android.os.Build.VERSION_CODES.TIRAMISU; import static com.android.permissioncontroller.Constants.EXTRA_SESSION_ID; +import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVACY_SOURCES_GROUP_ID; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.QUICK_SETTINGS_SAFETY_CENTER_FRAGMENT; import static java.util.Collections.emptyList; @@ -49,6 +50,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; import androidx.recyclerview.widget.RecyclerView; +import com.android.modules.utils.build.SdkLevel; import com.android.permissioncontroller.R; import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterUiData; import com.android.permissioncontroller.safetycenter.ui.model.StatusUiData; @@ -59,6 +61,7 @@ import kotlin.Unit; import java.util.List; import java.util.Map; +import java.util.Objects; /** Dashboard fragment for the Safety Center. */ @RequiresApi(TIRAMISU) @@ -242,6 +245,17 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment { boolean isFirstElement = i == 0; boolean isLastElement = i == size - 1; + if (SdkLevel.isAtLeastV() + && group != null + && Objects.equals(group.getId(), PRIVACY_SOURCES_GROUP_ID)) { + // Add an extra header before the privacy sources + PreferenceCategory category = new ComparablePreferenceCategory(context); + SafetyCenterResourcesApk safetyCenterResourcesApk = + new SafetyCenterResourcesApk(requireContext()); + category.setTitle(safetyCenterResourcesApk.getStringByName("privacy_title")); + mEntriesGroup.addPreference(category); + } + if (SafetyCenterUiFlags.getShowSubpages() && group != null) { mEntriesGroup.addPreference( new SafetyHomepageEntryPreference( @@ -299,19 +313,31 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment { mStaticEntriesGroup.removeAll(); for (SafetyCenterStaticEntryGroup group : data.getStaticEntryGroups()) { - PreferenceCategory category = new ComparablePreferenceCategory(context); - category.setTitle(group.getTitle()); - mStaticEntriesGroup.addPreference(category); - - for (SafetyCenterStaticEntry entry : group.getStaticEntries()) { - category.addPreference( - new StaticSafetyEntryPreference( - context, - requireActivity().getTaskId(), - entry, - SafetyCenterBundles.getStaticEntryId(data, entry), - getSafetyCenterViewModel())); + if (group.getTitle().toString().isEmpty()) { + // Interpret an empty title as signal to not create a titled category + addStaticEntriesTo(context, data, mStaticEntriesGroup, group.getStaticEntries()); + } else { + PreferenceCategory category = new ComparablePreferenceCategory(context); + category.setTitle(group.getTitle()); + mStaticEntriesGroup.addPreference(category); + addStaticEntriesTo(context, data, category, group.getStaticEntries()); } } } + + private void addStaticEntriesTo( + Context context, + SafetyCenterData data, + PreferenceGroup prefGroup, + List<SafetyCenterStaticEntry> entries) { + for (SafetyCenterStaticEntry entry : entries) { + prefGroup.addPreference( + new StaticSafetyEntryPreference( + context, + requireActivity().getTaskId(), + entry, + SafetyCenterBundles.getStaticEntryId(data, entry), + getSafetyCenterViewModel())); + } + } } diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt index 6f146e48c..9feecf5d4 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt @@ -92,7 +92,7 @@ abstract class SafetyCenterFragment : PreferenceFragmentCompat() { } val safetyCenterIntent: ParsedSafetyCenterIntent = - requireActivity().getIntent().toSafetyCenterIntent() + requireActivity().intent.toSafetyCenterIntent() val isQsFragment = getArguments()?.getBoolean(QUICK_SETTINGS_SAFETY_CENTER_FRAGMENT, false) ?: false collapsableIssuesCardHelper = @@ -120,7 +120,7 @@ abstract class SafetyCenterFragment : PreferenceFragmentCompat() { override fun onStart() { super.onStart() configureInteractionLogger() - safetyCenterViewModel.interactionLogger.record(Action.SAFETY_CENTER_VIEWED) + logSafetyCenterViewedEvent() } override fun onResume() { @@ -162,6 +162,26 @@ abstract class SafetyCenterFragment : PreferenceFragmentCompat() { abstract fun configureInteractionLogger() + private fun logSafetyCenterViewedEvent() { + // If Safety Center was opened due to an associated notification click (i.e. intent has an + // associated issue), record that issue's metadata on the SAFETY_CENTER_VIEWED event + val maybeIssueKey = requireActivity().intent.toSafetyCenterIntent().safetyCenterIssueKey + val maybeIssue = + maybeIssueKey?.let { + safetyCenterViewModel.getCurrentSafetyCenterDataAsUiData().getMatchingIssue(it) + } + + if (maybeIssue == null) { + safetyCenterViewModel.interactionLogger.record(Action.SAFETY_CENTER_VIEWED) + } else { + safetyCenterViewModel.interactionLogger.recordForIssue( + Action.SAFETY_CENTER_VIEWED, + maybeIssue, + isDismissed = false + ) + } + } + private fun displayErrorDetails(errorDetails: SafetyCenterErrorDetails?) { if (errorDetails == null) return Toast.makeText(requireContext(), errorDetails.errorMessage, Toast.LENGTH_LONG).show() diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterQsFragment.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterQsFragment.java index 8804b3c29..85079eb1c 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterQsFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterQsFragment.java @@ -27,6 +27,7 @@ import static com.android.permissioncontroller.Constants.INVALID_SESSION_ID; import android.content.Context; import android.content.Intent; import android.graphics.Color; +import android.graphics.Insets; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; import android.os.Bundle; @@ -41,6 +42,7 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.WindowInsets; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; @@ -150,6 +152,11 @@ public class SafetyCenterQsFragment extends Fragment { ViewGroup root = (ViewGroup) inflater.inflate(R.layout.safety_center_qs, container, false); root.setVisibility(View.GONE); root.setOverScrollMode(View.OVER_SCROLL_IF_CONTENT_SCROLLS); + root.setOnApplyWindowInsetsListener((v, w) -> { + final Insets insets = w.getInsets(WindowInsets.Type.systemBars()); + v.setPadding(insets.left, insets.top, insets.right, insets.bottom); + return WindowInsets.CONSUMED; + }); View closeButton = root.findViewById(R.id.close_button); closeButton.setOnClickListener((v) -> requireActivity().finish()); diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyHomepageEntryPreference.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyHomepageEntryPreference.kt index 0cfc2ee50..e37950264 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyHomepageEntryPreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyHomepageEntryPreference.kt @@ -42,13 +42,13 @@ internal class SafetyHomepageEntryPreference( init { setTitle(entryGroup.title) setSummary(entryGroup.summary) - setIcon( - SeverityIconPicker.selectIconResId( + SeverityIconPicker.selectIconResIdOrNull( entryGroup.id, entryGroup.severityLevel, entryGroup.severityUnspecifiedIconType ) - ) + ?.let { setIcon(it) } + ?: setIconSpaceReserved(false) val intent = Intent(Intent.ACTION_SAFETY_CENTER) intent.putExtra(SafetyCenterManager.EXTRA_SAFETY_SOURCES_GROUP_ID, entryGroup.id) diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetySubpageEntryPreference.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetySubpageEntryPreference.kt index f4761d3a9..b89abde13 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetySubpageEntryPreference.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetySubpageEntryPreference.kt @@ -18,6 +18,7 @@ package com.android.permissioncontroller.safetycenter.ui import android.content.Context import android.os.Build +import android.os.UserHandle import android.os.UserManager import android.safetycenter.SafetyCenterEntry import android.safetycenter.SafetyCenterEntry.IconAction.ICON_ACTION_TYPE_GEAR @@ -28,8 +29,10 @@ import android.widget.TextView import androidx.annotation.RequiresApi import androidx.preference.Preference import androidx.preference.PreferenceViewHolder +import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.R import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PERSONAL_PROFILE_SUFFIX +import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVATE_PROFILE_SUFFIX import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.WORK_PROFILE_SUFFIX import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterViewModel import com.android.permissioncontroller.safetycenter.ui.view.SafetyEntryCommonViewsManager.Companion.changeEnabledState @@ -93,10 +96,21 @@ class SafetySubpageEntryPreference( private fun setupPreferenceKey() { val entryId: SafetyCenterEntryId = SafetyCenterIds.entryIdFromString(entry.id) - val isWorkProfile = - context.getSystemService(UserManager::class.java)!!.isManagedProfile(entryId.userId) - val keySuffix = if (isWorkProfile) WORK_PROFILE_SUFFIX else PERSONAL_PROFILE_SUFFIX - setKey("${entryId.safetySourceId}_$keySuffix") + val userContext = context.createContextAsUser(UserHandle.of(entryId.userId), /* flags= */ 0) + val userUserManager = userContext.getSystemService(UserManager::class.java) ?: return + if (userUserManager.isManagedProfile) { + setKey("${entryId.safetySourceId}_$WORK_PROFILE_SUFFIX") + } else if (isPrivateProfileSupported() && userUserManager.isPrivateProfile) { + setKey("${entryId.safetySourceId}_$PRIVATE_PROFILE_SUFFIX") + } else { + setKey("${entryId.safetySourceId}_$PERSONAL_PROFILE_SUFFIX") + } + } + + private fun isPrivateProfileSupported(): Boolean { + return SdkLevel.isAtLeastV() && + com.android.permission.flags.Flags.privateProfileSupported() && + android.os.Flags.allowPrivateProfile() } override fun onBindViewHolder(holder: PreferenceViewHolder) { diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SeverityIconPicker.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SeverityIconPicker.kt index 752d7ed4a..be47eac73 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SeverityIconPicker.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SeverityIconPicker.kt @@ -17,6 +17,7 @@ package com.android.permissioncontroller.safetycenter.ui import android.safetycenter.SafetyCenterEntry import android.util.Log +import com.android.modules.utils.build.SdkLevel import com.android.permissioncontroller.R import com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVACY_SOURCES_GROUP_ID @@ -25,6 +26,18 @@ internal object SeverityIconPicker { private val TAG = SeverityIconPicker::class.java.simpleName @JvmStatic + fun selectIconResIdOrNull( + id: String, + severityLevel: Int, + severityUnspecifiedIconType: Int + ): Int? { + if (SdkLevel.isAtLeastV() && id == PRIVACY_SOURCES_GROUP_ID) { + return null + } + return selectIconResId(id, severityLevel, severityUnspecifiedIconType) + } + + @JvmStatic fun selectIconResId(id: String, severityLevel: Int, severityUnspecifiedIconType: Int): Int { if (id == PRIVACY_SOURCES_GROUP_ID) { return R.drawable.ic_privacy diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/StaticSafetyEntryPreference.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/StaticSafetyEntryPreference.java index 8864da07b..87d8744a8 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/StaticSafetyEntryPreference.java +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/StaticSafetyEntryPreference.java @@ -19,9 +19,11 @@ package com.android.permissioncontroller.safetycenter.ui; import static android.os.Build.VERSION_CODES.TIRAMISU; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PERSONAL_PROFILE_SUFFIX; +import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.PRIVATE_PROFILE_SUFFIX; import static com.android.permissioncontroller.safetycenter.SafetyCenterConstants.WORK_PROFILE_SUFFIX; import android.content.Context; +import android.os.UserHandle; import android.os.UserManager; import android.safetycenter.SafetyCenterStaticEntry; import android.text.TextUtils; @@ -31,6 +33,7 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.preference.Preference; +import com.android.modules.utils.build.SdkLevel; import com.android.permissioncontroller.safetycenter.ui.model.SafetyCenterViewModel; import com.android.safetycenter.internaldata.SafetyCenterEntryId; @@ -81,17 +84,24 @@ public class StaticSafetyEntryPreference extends Preference implements Comparabl } private void setupPreferenceKey(SafetyCenterEntryId entryId) { - boolean isWorkProfile = - getContext() - .getSystemService(UserManager.class) - .isManagedProfile(entryId.getUserId()); - if (isWorkProfile) { + Context userContext = getContext() + .createContextAsUser(UserHandle.of(entryId.getUserId()), /* flags= */ 0); + UserManager userUserManager = userContext.getSystemService(UserManager.class); + if (userUserManager.isManagedProfile()) { setKey(String.format("%s_%s", entryId.getSafetySourceId(), WORK_PROFILE_SUFFIX)); + } else if (isPrivateProfileSupported() && userUserManager.isPrivateProfile()) { + setKey(String.format("%s_%s", entryId.getSafetySourceId(), PRIVATE_PROFILE_SUFFIX)); } else { setKey(String.format("%s_%s", entryId.getSafetySourceId(), PERSONAL_PROFILE_SUFFIX)); } } + private Boolean isPrivateProfileSupported() { + return SdkLevel.isAtLeastV() + && com.android.permission.flags.Flags.privateProfileSupported() + && android.os.Flags.allowPrivateProfile(); + } + @Override public boolean isSameItem(Preference preference) { return preference instanceof StaticSafetyEntryPreference diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt index 239f9a377..69a315f08 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt @@ -16,6 +16,7 @@ package com.android.permissioncontroller.safetycenter.ui.model +import android.os.Build.VERSION_CODES.TIRAMISU import android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE import android.safetycenter.SafetyCenterData import android.safetycenter.SafetyCenterEntryGroup @@ -24,12 +25,21 @@ import android.safetycenter.SafetyCenterIssue import android.safetycenter.SafetyCenterIssue.ISSUE_SEVERITY_LEVEL_OK import androidx.annotation.RequiresApi import com.android.safetycenter.internaldata.SafetyCenterBundles.ISSUES_TO_GROUPS_BUNDLE_KEY +import com.android.safetycenter.internaldata.SafetyCenterIds +import com.android.safetycenter.internaldata.SafetyCenterIssueKey /** UI model representation of Safety Center Data */ data class SafetyCenterUiData( val safetyCenterData: SafetyCenterData, val resolvedIssues: Map<IssueId, ActionId> = emptyMap() ) { + @RequiresApi(TIRAMISU) + fun getMatchingIssue(issueKey: SafetyCenterIssueKey): SafetyCenterIssue? { + return safetyCenterData.issues.find { + SafetyCenterIds.issueIdFromString(it.id).safetyCenterIssueKey == issueKey + } + } + /** Returns the [SafetyCenterEntryGroup] corresponding to the provided ID */ @RequiresApi(UPSIDE_DOWN_CAKE) fun getMatchingGroup(groupId: String): SafetyCenterEntryGroup? { diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt index 7b95c3609..ebfbef714 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt @@ -45,13 +45,9 @@ constructor( private val moreIssuesCardAnimator = MoreIssuesCardAnimator() private val statusIconView: ImageView by lazyView(R.id.status_icon) private val titleView: TextView by lazyView(R.id.title) - private val expandCollapseLayout: View by lazyView(android.R.id.widget_frame) - private val counterView: TextView by lazyView { - expandCollapseLayout.requireViewById(R.id.widget_title) - } - private val expandCollapseIcon: ImageView by lazyView { - expandCollapseLayout.requireViewById(R.id.widget_icon) - } + private val expandCollapseLayout: View by lazyView(R.id.widget_frame) + private val counterView: TextView by lazyView(R.id.widget_title) + private val expandCollapseIcon: ImageView by lazyView(R.id.widget_icon) private var cornerAnimator: ValueAnimator? = null fun showExpandableHeader( diff --git a/PermissionController/src/com/android/permissioncontroller/safetylabel/SafetyLabelChangedBroadcastReceiver.kt b/PermissionController/src/com/android/permissioncontroller/safetylabel/SafetyLabelChangedBroadcastReceiver.kt index 7378b77fe..298c59710 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetylabel/SafetyLabelChangedBroadcastReceiver.kt +++ b/PermissionController/src/com/android/permissioncontroller/safetylabel/SafetyLabelChangedBroadcastReceiver.kt @@ -37,6 +37,7 @@ import com.android.permissioncontroller.permission.model.livedatatypes.LightPack import com.android.permissioncontroller.permission.utils.KotlinUtils import com.android.permissioncontroller.permission.utils.PermissionMapping import com.android.permissioncontroller.permission.utils.Utils +import com.android.permissioncontroller.permission.utils.v34.SafetyLabelUtils import com.android.permissioncontroller.safetylabel.AppsSafetyLabelHistory.SafetyLabel as SafetyLabelForPersistence import java.time.Instant import kotlinx.coroutines.Dispatchers @@ -142,6 +143,12 @@ class SafetyLabelChangedBroadcastReceiver : BroadcastReceiver() { } else { context.createContextAsUser(user, 0) } + + // Asl in Apk (V+) is not supported by permissions + if (!SafetyLabelUtils.isAppMetadataSourceSupported(userContext, packageName)) { + return + } + val appMetadataBundle = try { userContext.packageManager.getAppMetadata(packageName) diff --git a/PermissionController/src/com/android/permissioncontroller/safetylabel/TEST_MAPPING b/PermissionController/src/com/android/permissioncontroller/safetylabel/TEST_MAPPING index 1503c5e57..35885d0c3 100644 --- a/PermissionController/src/com/android/permissioncontroller/safetylabel/TEST_MAPPING +++ b/PermissionController/src/com/android/permissioncontroller/safetylabel/TEST_MAPPING @@ -29,6 +29,16 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsPermissionUiTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "PermissionControllerMockingTests", @@ -47,4 +57,4 @@ "name": "CtsPermissionUiTestCases[com.google.android.permission.apex]" } ] -}
\ No newline at end of file +} diff --git a/PermissionController/src/com/android/permissioncontroller/user/data/repository/v31/UserRepository.kt b/PermissionController/src/com/android/permissioncontroller/user/data/repository/v31/UserRepository.kt new file mode 100644 index 000000000..e08549c99 --- /dev/null +++ b/PermissionController/src/com/android/permissioncontroller/user/data/repository/v31/UserRepository.kt @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.user.data.repository.v31 + +import android.app.Application +import android.content.pm.UserProperties +import android.os.Build +import android.os.UserHandle +import android.os.UserManager +import androidx.annotation.RequiresApi +import kotlin.concurrent.Volatile +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** This repository encapsulate user and user profiles data exposed by [UserManager]. */ +interface UserRepository { + /** + * Returns a list of UserHandles for profiles associated with the context user, including the + * user itself. + * + * <p>Note that this includes all profile types (not including Restricted profiles). + */ + suspend fun getUserProfilesIncludingCurrentUser(): List<Int> + + /** + * Returns whether a user should be shown in the Settings and sharing surfaces depending on the + * quiet mode. This is only applicable to profile users since the quiet mode concept is only + * applicable to profile users. + */ + suspend fun shouldShowInQuietMode(userId: Int): Boolean + + /** + * Returns whether the given profile is in quiet mode or not. Notes: Quiet mode is only + * supported for managed profiles. + */ + suspend fun isQuietModeEnabled(userId: Int): Boolean + + companion object { + @Volatile private var instance: UserRepository? = null + + fun getInstance(application: Application): UserRepository = + instance + ?: synchronized(this) { UserRepositoryImpl(application).also { instance = it } } + } +} + +class UserRepositoryImpl( + application: Application, + private val dispatcher: CoroutineDispatcher = Dispatchers.Default, +) : UserRepository { + private val userManager = application.getSystemService(UserManager::class.java)!! + + override suspend fun getUserProfilesIncludingCurrentUser(): List<Int> = + withContext(dispatcher) { userManager.userProfiles.map { it.identifier } } + + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + override suspend fun shouldShowInQuietMode(userId: Int): Boolean = + withContext(dispatcher) { + val quiteMode = userManager.getUserProperties(UserHandle.of(userId)).showInQuietMode + quiteMode != UserProperties.SHOW_IN_QUIET_MODE_HIDDEN + } + + override suspend fun isQuietModeEnabled(userId: Int): Boolean = + withContext(dispatcher) { userManager.isQuietModeEnabled(UserHandle.of(userId)) } +} diff --git a/PermissionController/tests/inprocess/src/com/android/permissioncontroller/permission/util/PermissionMappingTest.kt b/PermissionController/tests/inprocess/src/com/android/permissioncontroller/permission/util/PermissionMappingTest.kt index 4d942f815..aa7d7da60 100644 --- a/PermissionController/tests/inprocess/src/com/android/permissioncontroller/permission/util/PermissionMappingTest.kt +++ b/PermissionController/tests/inprocess/src/com/android/permissioncontroller/permission/util/PermissionMappingTest.kt @@ -58,6 +58,16 @@ class PermissionMappingTest { } @Test + fun testGetPlatformPermissionGroupForOp_InvalidOpName() { + try { + assertThat(PermissionMapping.getPlatformPermissionGroupForOp("invalid_opName")) + .isEqualTo(null) + } catch (e: IllegalArgumentException) { + // ignore wtf may throw in some configuration. + } + } + + @Test fun testGetPlatformPermissionGroupForOp_readContacts() { assertThat( PermissionMapping.getPlatformPermissionGroupForOp(AppOpsManager.OPSTR_READ_CONTACTS) diff --git a/PermissionController/tests/mocking/Android.bp b/PermissionController/tests/mocking/Android.bp index 837b055a8..2375a74e6 100644 --- a/PermissionController/tests/mocking/Android.bp +++ b/PermissionController/tests/mocking/Android.bp @@ -117,8 +117,10 @@ android_test { "safety-label", "role-controller", "lottie", - "permissions-flags-lib", + "permissions-aconfig-flags-lib", "android.permission.flags-aconfig-java", + "platform-test-annotations", + "flag-junit", "androidx.test.rules", "androidx.test.ext.truth", diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/AppOpRepositoryTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/AppOpRepositoryTest.kt new file mode 100644 index 000000000..561c2bc8d --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/AppOpRepositoryTest.kt @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.appops.data.repository + +import android.app.AppOpsManager +import android.app.AppOpsManager.PackageOps +import android.content.Context +import android.content.pm.PackageManager +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.dx.mockito.inline.extended.ExtendedMockito +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerApplication +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel.AppOpUsageModel +import com.android.permissioncontroller.appops.data.repository.v31.AppOpRepository +import com.android.permissioncontroller.appops.data.repository.v31.AppOpRepositoryImpl +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.tests.mocking.utils.MockUtil.createMockPackageOps +import com.android.permissioncontroller.tests.mocking.utils.MockUtil.createOpEntry +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.flow.take +import kotlinx.coroutines.flow.toList +import kotlinx.coroutines.test.runTest +import org.junit.After +import org.junit.Assume +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito.any +import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations +import org.mockito.MockitoSession +import org.mockito.quality.Strictness + +@RunWith(AndroidJUnit4::class) +class AppOpRepositoryTest { + @Mock private lateinit var application: PermissionControllerApplication + @Mock private lateinit var context: Context + @Mock private lateinit var packageManager: PackageManager + @Mock private lateinit var appOpsManager: AppOpsManager + + private lateinit var underTest: AppOpRepository + private var mockitoSession: MockitoSession? = null + + private val currentUser = android.os.Process.myUserHandle() + private val testPackageName = "test.package" + private val testAppId = 100203 + + @Before + fun setup() { + Assume.assumeTrue(SdkLevel.isAtLeastS()) + MockitoAnnotations.initMocks(this) + mockitoSession = + ExtendedMockito.mockitoSession() + .mockStatic(PermissionControllerApplication::class.java) + .strictness(Strictness.LENIENT) + .startMocking() + whenever(PermissionControllerApplication.get()).thenReturn(application) + whenever(application.applicationContext).thenReturn(context) + whenever(application.packageManager).thenReturn(packageManager) + whenever(application.getSystemService(AppOpsManager::class.java)).thenReturn(appOpsManager) + + val permissionRepository = PermissionRepository.getInstance(application) + underTest = AppOpRepositoryImpl(application, permissionRepository) + } + + @After + fun finish() { + mockitoSession?.finishMocking() + } + + @Test + fun verifyPackageAppOpsUsageData() = runTest { + val packageOpsData = createPackageOpsMockData() + whenever(appOpsManager.getPackagesForOps(any(Array<String>::class.java))) + .thenReturn(listOf(packageOpsData)) + + val packageOps = underTest.packageAppOpsUsages.take(1).toList().first() + val expectedAppOpUsages = + packageOpsData.ops.map { + AppOpUsageModel(it.opStr, it.getLastAccessTime(OPS_LAST_ACCESS_FLAGS)) + } + assertThat(packageOps.size).isEqualTo(1) + assertThat(packageOps[0].packageName).isEqualTo(testPackageName) + assertThat(packageOps[0].usages).isEqualTo(expectedAppOpUsages) + } + + private fun createPackageOpsMockData(): PackageOps { + val opEntries = + listOf( + createOpEntry(AppOpsManager.OPSTR_FINE_LOCATION, 100), + createOpEntry(AppOpsManager.OPSTR_FINE_LOCATION, 200), + createOpEntry(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 300), + createOpEntry(AppOpsManager.OPSTR_CAMERA, 350), + ) + return createMockPackageOps(testPackageName, opEntries, currentUser.getUid(testAppId)) + } + + companion object { + private const val OPS_LAST_ACCESS_FLAGS = + AppOpsManager.OP_FLAG_SELF or + AppOpsManager.OP_FLAG_TRUSTED_PROXIED or + AppOpsManager.OP_FLAG_TRUSTED_PROXY + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/FakeAppOpRepository.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/FakeAppOpRepository.kt new file mode 100644 index 000000000..1077293d1 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/appops/data/repository/FakeAppOpRepository.kt @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.appops.data.repository + +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel +import com.android.permissioncontroller.appops.data.repository.v31.AppOpRepository +import kotlinx.coroutines.flow.Flow + +class FakeAppOpRepository(override val packageAppOpsUsages: Flow<List<PackageAppOpUsageModel>>) : + AppOpRepository diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/coroutines/Flows.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/coroutines/Flows.kt new file mode 100644 index 000000000..cefaf18a7 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/coroutines/Flows.kt @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2024 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. + */ + +@file:Suppress("OPT_IN_USAGE") + +package com.android.permissioncontroller.tests.mocking.coroutines + +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty +import kotlinx.coroutines.CoroutineStart +import kotlinx.coroutines.Job +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.launch +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent + +/** + * Collect [flow] in a new [Job] and return a getter for the last collected value. + * + * ``` + * fun myTest() = runTest { + * // ... + * val actual by collectLastValue(underTest.flow) + * assertThat(actual).isEqualTo(expected) + * } + * ``` + */ +fun <T> TestScope.collectLastValue( + flow: Flow<T>, + context: CoroutineContext = EmptyCoroutineContext, + start: CoroutineStart = CoroutineStart.DEFAULT, +): FlowValue<T?> { + val values by + collectValues( + flow = flow, + context = context, + start = start, + ) + return FlowValueImpl { values.lastOrNull() } +} + +/** + * Collect [flow] in a new [Job] and return a getter for the collection of values collected. + * + * ``` + * fun myTest() = runTest { + * // ... + * val values by collectValues(underTest.flow) + * assertThat(values).isEqualTo(listOf(expected1, expected2, ...)) + * } + * ``` + */ +fun <T> TestScope.collectValues( + flow: Flow<T>, + context: CoroutineContext = EmptyCoroutineContext, + start: CoroutineStart = CoroutineStart.DEFAULT, +): FlowValue<List<T>> { + val values = mutableListOf<T>() + backgroundScope.launch(context, start) { flow.collect(values::add) } + return FlowValueImpl { + runCurrent() + values.toList() + } +} + +/** @see collectLastValue */ +interface FlowValue<T> : ReadOnlyProperty<Any?, T> { + operator fun invoke(): T +} + +private class FlowValueImpl<T>(private val block: () -> T) : FlowValue<T> { + override operator fun invoke(): T = block() + override fun getValue(thisRef: Any?, property: KProperty<*>): T = invoke() +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/data/repository/FakePermissionRepository.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/data/repository/FakePermissionRepository.kt new file mode 100644 index 000000000..28cd2b9e3 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/data/repository/FakePermissionRepository.kt @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.permission.data.repository + +import android.content.Context +import android.os.UserHandle +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.permission.utils.PermissionMapping + +class FakePermissionRepository(private val permissionFlags: Map<String, Int> = emptyMap()) : + PermissionRepository { + override suspend fun getPermissionFlags( + permissionName: String, + packageName: String, + user: UserHandle + ): Int { + return permissionFlags[permissionName] ?: 0 + } + + override suspend fun getPermissionGroupLabel( + context: Context, + groupName: String + ): CharSequence { + TODO("Not yet implemented") + } + + override fun getPermissionGroupsForPrivacyDashboard(): List<String> { + return if (SdkLevel.isAtLeastT()) { + PermissionMapping.getPlatformPermissionGroups().filter { + it != android.Manifest.permission_group.NOTIFICATIONS + } + } else { + PermissionMapping.getPlatformPermissionGroups() + } + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionUsageUseCaseTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionUsageUseCaseTest.kt new file mode 100644 index 000000000..d205989d6 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/domain/usecase/GetPermissionUsageUseCaseTest.kt @@ -0,0 +1,371 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.permission.domain.usecase + +import android.app.AppOpsManager +import android.content.Context +import android.content.pm.ApplicationInfo +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import android.os.UserHandle +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.dx.mockito.inline.extended.ExtendedMockito +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerApplication +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel.AppOpUsageModel +import com.android.permissioncontroller.permission.domain.model.v31.PermissionGroupUsageModel +import com.android.permissioncontroller.permission.domain.usecase.v31.GetPermissionGroupUsageUseCase +import com.android.permissioncontroller.permission.utils.Utils +import com.android.permissioncontroller.pm.data.model.v31.PackageInfoModel +import com.android.permissioncontroller.role.data.repository.v31.RoleRepository +import com.android.permissioncontroller.tests.mocking.appops.data.repository.FakeAppOpRepository +import com.android.permissioncontroller.tests.mocking.coroutines.collectLastValue +import com.android.permissioncontroller.tests.mocking.permission.data.repository.FakePermissionRepository +import com.android.permissioncontroller.tests.mocking.pm.data.repository.FakePackageRepository +import com.android.permissioncontroller.tests.mocking.role.data.repository.FakeRoleRepository +import com.android.permissioncontroller.tests.mocking.user.data.repository.FakeUserRepository +import com.android.permissioncontroller.user.data.repository.v31.UserRepository +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.test.runTest +import org.junit.After +import org.junit.Assume +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations +import org.mockito.MockitoSession +import org.mockito.quality.Strictness + +@RunWith(AndroidJUnit4::class) +class GetPermissionUsageUseCaseTest { + @Mock private lateinit var application: PermissionControllerApplication + @Mock private lateinit var context: Context + + private lateinit var mockitoSession: MockitoSession + private lateinit var userRepository: UserRepository + private lateinit var roleRepository: RoleRepository + private lateinit var packageInfos: MutableMap<String, PackageInfoModel> + private val currentUser = android.os.Process.myUserHandle() + private val testPackageName = "test.package" + private val guestUserPkgName = "test.package.guest" + private val exemptedPkgName = "test.exempted.package" + private val guestUser = UserHandle.of(345) + + @Before + fun setup() { + MockitoAnnotations.initMocks(this) + mockitoSession = + ExtendedMockito.mockitoSession() + .mockStatic(PermissionControllerApplication::class.java) + .mockStatic(Utils::class.java) + .strictness(Strictness.LENIENT) + .startMocking() + + whenever(PermissionControllerApplication.get()).thenReturn(application) + whenever(application.applicationContext).thenReturn(context) + + userRepository = FakeUserRepository(listOf(currentUser.identifier)) + roleRepository = FakeRoleRepository(setOf(exemptedPkgName)) + packageInfos = + mapOf( + testPackageName to getPackageInfoModel(testPackageName), + guestUserPkgName to getPackageInfoModel(guestUserPkgName), + exemptedPkgName to getPackageInfoModel(exemptedPkgName), + ) + .toMutableMap() + } + + @After + fun finish() { + mockitoSession.finishMocking() + } + + @Test + fun guestUserUsageIsFiltered() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + ) + val guestAppOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + PackageAppOpUsageModel(guestUserPkgName, guestAppOpsUsage, guestUser.identifier) + ) + ) + } + val underTest = getPermissionGroupUsageUseCase(appOpsUsageModelFlow) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo(listOf(PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 100, true))) + } + + @Test + fun quiteProfileShowUsageInQuietMode() = runTest { + Assume.assumeTrue(SdkLevel.isAtLeastV()) + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 150), + ) + + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + val userRepository = + FakeUserRepository( + currentUserProfiles = listOf(currentUser.identifier), + quietUserProfiles = listOf(currentUser.identifier), + showInQuiteModeProfiles = listOf(currentUser.identifier) + ) + val underTest = + getPermissionGroupUsageUseCase(appOpsUsageModelFlow, userRepo = userRepository) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo( + listOf( + PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 100, true), + PermissionGroupUsageModel(MICROPHONE_PERMISSION_GROUP, 150, true) + ) + ) + } + + @Test + fun quietProfileAppOpsUsageIsFiltered() = runTest { + Assume.assumeTrue(SdkLevel.isAtLeastV()) + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + val userRepository = + FakeUserRepository( + currentUserProfiles = listOf(currentUser.identifier), + quietUserProfiles = listOf(currentUser.identifier), + showInQuiteModeProfiles = emptyList() + ) + val underTest = + getPermissionGroupUsageUseCase(appOpsUsageModelFlow, userRepo = userRepository) + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages).isEmpty() + } + + @Test + fun exemptedPackageIsFiltered() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + ) + val exemptedOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + PackageAppOpUsageModel( + exemptedPkgName, + exemptedOpsUsage, + currentUser.identifier + ) + ) + ) + } + val underTest = getPermissionGroupUsageUseCase(appOpsUsageModelFlow) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo(listOf(PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 100, true))) + } + + @Test + fun permissionNoLongerRequestedOpsAreFiltered() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + packageInfos[testPackageName] = + getPackageInfoModel( + testPackageName, + requestedPermissions = listOf(RECORD_AUDIO_PERMISSION) + ) + val underTest = getPermissionGroupUsageUseCase(appOpsUsageModelFlow) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo(listOf(PermissionGroupUsageModel(MICROPHONE_PERMISSION_GROUP, 100, true))) + } + + @Test + fun mostRecentAccessedTimestampIsShown() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 150), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 80), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + val underTest = getPermissionGroupUsageUseCase(appOpsUsageModelFlow) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo( + listOf( + PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 150, true), + PermissionGroupUsageModel(MICROPHONE_PERMISSION_GROUP, 100, true) + ) + ) + } + + @Test + fun nonSystemAppsUsageIsUserSensitive() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + // test package is not a system package + val underTest = getPermissionGroupUsageUseCase(appOpsUsageModelFlow) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo( + listOf( + PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 100, true), + PermissionGroupUsageModel(MICROPHONE_PERMISSION_GROUP, 100, true) + ) + ) + } + + @Test + fun systemAppsUsageIsUserSensitive() = runTest { + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, 100), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, 100), + ) + val appOpsUsageModelFlow = flow { + emit( + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + ) + ) + } + val permissionFlags = + mapOf<String, Int>( + CAMERA_PERMISSION to PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, + RECORD_AUDIO_PERMISSION to 0, // not user sensitive when granted + ) + packageInfos[testPackageName] = + getPackageInfoModel( + testPackageName, + requestedPermissions = listOf(CAMERA_PERMISSION, RECORD_AUDIO_PERMISSION), + permissionsFlags = + listOf( + PackageInfo.REQUESTED_PERMISSION_GRANTED, + PackageInfo.REQUESTED_PERMISSION_GRANTED + ), + applicationFlags = ApplicationInfo.FLAG_SYSTEM + ) + val underTest = + getPermissionGroupUsageUseCase(appOpsUsageModelFlow, permissionFlags = permissionFlags) + + val permissionGroupUsages by collectLastValue(underTest()) + assertThat(permissionGroupUsages) + .isEqualTo( + listOf( + PermissionGroupUsageModel(CAMERA_PERMISSION_GROUP, 100, true), + PermissionGroupUsageModel(MICROPHONE_PERMISSION_GROUP, 100, false) + ) + ) + } + + private fun getPackageInfoModel( + packageName: String, + requestedPermissions: List<String> = listOf(CAMERA_PERMISSION, RECORD_AUDIO_PERMISSION), + permissionsFlags: List<Int> = listOf(0, 0), + applicationFlags: Int = 0, + ) = PackageInfoModel(packageName, requestedPermissions, permissionsFlags, applicationFlags) + + private fun getPermissionGroupUsageUseCase( + packageAppOpsUsages: Flow<List<PackageAppOpUsageModel>>, + permissionFlags: Map<String, Int> = emptyMap(), + userRepo: UserRepository = userRepository + ): GetPermissionGroupUsageUseCase { + val permissionRepository = FakePermissionRepository(permissionFlags) + val packageRepository = FakePackageRepository(packageInfos) + val appOpUsageRepository = FakeAppOpRepository(packageAppOpsUsages) + return GetPermissionGroupUsageUseCase( + packageRepository, + permissionRepository, + appOpUsageRepository, + roleRepository, + userRepo + ) + } + + companion object { + private val CAMERA_PERMISSION = android.Manifest.permission.CAMERA + private val RECORD_AUDIO_PERMISSION = android.Manifest.permission.RECORD_AUDIO + private val CAMERA_PERMISSION_GROUP = android.Manifest.permission_group.CAMERA + private val MICROPHONE_PERMISSION_GROUP = android.Manifest.permission_group.MICROPHONE + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/service/RuntimePermissionsUpgradeControllerTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/service/RuntimePermissionsUpgradeControllerTest.kt index bb84a2d05..aff57eaa8 100644 --- a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/service/RuntimePermissionsUpgradeControllerTest.kt +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/service/RuntimePermissionsUpgradeControllerTest.kt @@ -70,6 +70,7 @@ import org.mockito.ArgumentMatchers.anyInt import org.mockito.ArgumentMatchers.eq import org.mockito.Mock import org.mockito.Mockito.anyString +import org.mockito.Mockito.doReturn import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.timeout @@ -212,17 +213,15 @@ class RuntimePermissionsUpgradeControllerTest { whenever(PermissionControllerApplication.get()).thenReturn(application) - whenever(application.getSystemService(PermissionManager::class.java)) - .thenReturn(permissionManager) - whenever(application.getSystemService(ActivityManager::class.java)) - .thenReturn(activityManager) - whenever(application.getSystemService(AppOpsManager::class.java)).thenReturn(appOpsManager) - whenever(application.getSystemService(LocationManager::class.java)) - .thenReturn(locationManager) - whenever(application.getSystemService(UserManager::class.java)).thenReturn(userManager) - whenever(application.getSystemService(JobScheduler::class.java)).thenReturn(jobScheduler) - - whenever(application.packageManager).thenReturn(packageManager) + doReturn(packageManager).`when`(application).packageManager + doReturn(permissionManager) + .`when`(application) + .getSystemService(PermissionManager::class.java) + doReturn(activityManager).`when`(application).getSystemService(ActivityManager::class.java) + doReturn(appOpsManager).`when`(application).getSystemService(AppOpsManager::class.java) + doReturn(locationManager).`when`(application).getSystemService(LocationManager::class.java) + doReturn(userManager).`when`(application).getSystemService(UserManager::class.java) + doReturn(jobScheduler).`when`(application).getSystemService(JobScheduler::class.java) whenever(packageManager.getPermissionInfo(any(), anyInt())).thenAnswer { val permissionName = it.arguments[0] as String diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageViewModelTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageViewModelTest.kt new file mode 100644 index 000000000..38390ca64 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/ui/model/PermissionUsageViewModelTest.kt @@ -0,0 +1,229 @@ +/* + * Copyright (C) 2023 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.permissioncontroller.tests.mocking.permission.ui.model + +import android.app.AppOpsManager +import android.content.Context +import android.content.pm.ApplicationInfo +import android.content.pm.PackageInfo +import android.content.pm.PackageManager +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.dx.mockito.inline.extended.ExtendedMockito +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerApplication +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel +import com.android.permissioncontroller.appops.data.model.v31.PackageAppOpUsageModel.AppOpUsageModel +import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository +import com.android.permissioncontroller.permission.domain.usecase.v31.GetPermissionGroupUsageUseCase +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsageViewModel +import com.android.permissioncontroller.permission.ui.viewmodel.v31.PermissionUsagesUiState +import com.android.permissioncontroller.permission.utils.PermissionMapping +import com.android.permissioncontroller.pm.data.model.v31.PackageInfoModel +import com.android.permissioncontroller.tests.mocking.appops.data.repository.FakeAppOpRepository +import com.android.permissioncontroller.tests.mocking.coroutines.collectLastValue +import com.android.permissioncontroller.tests.mocking.permission.data.repository.FakePermissionRepository +import com.android.permissioncontroller.tests.mocking.pm.data.repository.FakePackageRepository +import com.android.permissioncontroller.tests.mocking.role.data.repository.FakeRoleRepository +import com.android.permissioncontroller.tests.mocking.user.data.repository.FakeUserRepository +import com.google.common.truth.Truth.assertThat +import java.util.concurrent.TimeUnit +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.runTest +import org.junit.After +import org.junit.Assume +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations +import org.mockito.MockitoSession +import org.mockito.quality.Strictness + +@RunWith(AndroidJUnit4::class) +class PermissionUsageViewModelTest { + @Mock private lateinit var application: PermissionControllerApplication + @Mock private lateinit var context: Context + private var mockitoSession: MockitoSession? = null + + private lateinit var permissionRepository: PermissionRepository + private val currentUser = android.os.Process.myUserHandle() + private val testPackageName = "test.package" + private val systemPackageName = "test.package.system" + private lateinit var packageInfos: MutableMap<String, PackageInfoModel> + @Before + fun setup() { + Assume.assumeTrue(SdkLevel.isAtLeastS()) + MockitoAnnotations.initMocks(this) + mockitoSession = + ExtendedMockito.mockitoSession() + .mockStatic(PermissionControllerApplication::class.java) + .strictness(Strictness.LENIENT) + .startMocking() + + whenever(PermissionControllerApplication.get()).thenReturn(application) + whenever(application.applicationContext).thenReturn(context) + PermissionMapping.addHealthPermissionsToPlatform(setOf("health1")) + + val permissionFlags = + mapOf<String, Int>( + CAMERA_PERMISSION to PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, + RECORD_AUDIO_PERMISSION to 0, // not user sensitive + ) + permissionRepository = FakePermissionRepository(permissionFlags) + packageInfos = + mapOf( + testPackageName to getPackageInfoModel(testPackageName), + systemPackageName to + getPackageInfoModel( + systemPackageName, + applicationFlags = ApplicationInfo.FLAG_SYSTEM + ), + ) + .toMutableMap() + } + + @After + fun finish() { + mockitoSession?.finishMocking() + } + + @Test + fun allPermissionGroupsAreShown() = runTest { + val permissionUsageViewModel = + PermissionUsageViewModel( + application, + permissionRepository, + getPermissionGroupUsageUseCase(), + backgroundScope, + StandardTestDispatcher(testScheduler), + is7DayToggleEnabled = true + ) + + val uiData = + checkNotNull( + collectLastValue(permissionUsageViewModel.getPermissionUsagesUiDataFlow()).invoke() + ) + as PermissionUsagesUiState.Success + + val expectedPermissions = PermissionMapping.getPlatformPermissionGroups().toMutableSet() + if (SdkLevel.isAtLeastT()) { + expectedPermissions.remove(android.Manifest.permission_group.NOTIFICATIONS) + } + assertThat(uiData.permissionGroupUsageCount.keys).isEqualTo(expectedPermissions) + } + + @Test + fun permissionGroupsCountNonSystemApps() = runTest { + val timestamp = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(5) + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, timestamp), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, timestamp), + ) + val appOpsUsageModels = + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + PackageAppOpUsageModel(systemPackageName, appOpsUsage, currentUser.identifier), + ) + val permissionUsageUseCase = getPermissionGroupUsageUseCase(appOpsUsageModels) + val permissionUsageViewModel = + PermissionUsageViewModel( + application, + permissionRepository, + permissionUsageUseCase, + backgroundScope, + StandardTestDispatcher(testScheduler), + is7DayToggleEnabled = true + ) + val uiData = + checkNotNull( + collectLastValue(permissionUsageViewModel.getPermissionUsagesUiDataFlow()).invoke() + ) + as PermissionUsagesUiState.Success + val permissionGroupsCount = uiData.permissionGroupUsageCount + assertThat(permissionGroupsCount[CAMERA_PERMISSION_GROUP]).isEqualTo(2) + assertThat(permissionGroupsCount[MICROPHONE_PERMISSION_GROUP]).isEqualTo(1) + } + + @Test + fun permissionGroupsCountAllApps() = runTest { + val timestamp = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(5) + val appOpsUsage = + listOf( + AppOpUsageModel(AppOpsManager.OPSTR_CAMERA, timestamp), + AppOpUsageModel(AppOpsManager.OPSTR_PHONE_CALL_MICROPHONE, timestamp), + ) + val appOpsUsageModels = + listOf( + PackageAppOpUsageModel(testPackageName, appOpsUsage, currentUser.identifier), + PackageAppOpUsageModel(systemPackageName, appOpsUsage, currentUser.identifier), + ) + val permissionUsageUseCase = getPermissionGroupUsageUseCase(appOpsUsageModels) + val permissionUsageViewModel = + PermissionUsageViewModel( + application, + permissionRepository, + permissionUsageUseCase, + backgroundScope, + StandardTestDispatcher(testScheduler), + is7DayToggleEnabled = true + ) + + collectLastValue(permissionUsageViewModel.getPermissionUsagesUiDataFlow()).invoke() + val uiData = + permissionUsageViewModel.updateShowSystem(true) as PermissionUsagesUiState.Success + val permissionGroupsCount = uiData.permissionGroupUsageCount + assertThat(permissionGroupsCount[CAMERA_PERMISSION_GROUP]).isEqualTo(2) + assertThat(permissionGroupsCount[MICROPHONE_PERMISSION_GROUP]).isEqualTo(2) + } + + private fun getPermissionGroupUsageUseCase( + packageAppOpsUsages: List<PackageAppOpUsageModel> = emptyList(), + ): GetPermissionGroupUsageUseCase { + val userRepository = FakeUserRepository(listOf(currentUser.identifier)) + val roleRepository = FakeRoleRepository() + val packageRepository = FakePackageRepository(packageInfos) + val appOpUsageRepository = FakeAppOpRepository(flowOf(packageAppOpsUsages)) + return GetPermissionGroupUsageUseCase( + packageRepository, + permissionRepository, + appOpUsageRepository, + roleRepository, + userRepository + ) + } + + private fun getPackageInfoModel( + packageName: String, + requestedPermissions: List<String> = listOf(CAMERA_PERMISSION, RECORD_AUDIO_PERMISSION), + permissionsFlags: List<Int> = + listOf( + PackageInfo.REQUESTED_PERMISSION_GRANTED, + PackageInfo.REQUESTED_PERMISSION_GRANTED + ), + applicationFlags: Int = 0, + ) = PackageInfoModel(packageName, requestedPermissions, permissionsFlags, applicationFlags) + + companion object { + private val CAMERA_PERMISSION = android.Manifest.permission.CAMERA + private val RECORD_AUDIO_PERMISSION = android.Manifest.permission.RECORD_AUDIO + private val CAMERA_PERMISSION_GROUP = android.Manifest.permission_group.CAMERA + private val MICROPHONE_PERMISSION_GROUP = android.Manifest.permission_group.MICROPHONE + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/utils/AdminRestrictedPermissionsUtilsTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/utils/AdminRestrictedPermissionsUtilsTest.kt new file mode 100644 index 000000000..0c864da4a --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/permission/utils/AdminRestrictedPermissionsUtilsTest.kt @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.permission.utils + +import android.app.admin.DevicePolicyManager +import android.platform.test.annotations.AsbSecurityTest +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.permission.utils.v31.AdminRestrictedPermissionsUtils +import org.junit.Assert.assertEquals +import org.junit.Assume +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import org.mockito.Mockito.mock + +@RunWith(Parameterized::class) +class AdminRestrictedPermissionsUtilsTest( + private val permission: String, + private val group: String?, + private val canAdminGrantSensorsPermissions: Boolean, + private val expected: Boolean +) { + private val dpm: DevicePolicyManager = mock(DevicePolicyManager::class.java) + + @Before + fun setup() { + Assume.assumeTrue(SdkLevel.isAtLeastS()) + } + + @AsbSecurityTest(cveBugId = [308138085]) + @Test + fun mayAdminGrantPermissionTest() { + val canGrant = + AdminRestrictedPermissionsUtils.mayAdminGrantPermission( + permission, + group, + canAdminGrantSensorsPermissions, + false, + dpm + ) + assertEquals(expected, canGrant) + } + + companion object { + /** + * Returns a list of arrays containing the following values: + * + * 0. Permission name (String) + * 1. Permission group name (String) + * 2. Can admin grant sensors permissions (Boolean) + * 3. Expected return from mayAdminGrantPermission method (Boolean) + */ + @JvmStatic + @Parameterized.Parameters(name = "{index}: validate({0}, {1}, {3}) = {4}") + fun getParameters(): List<Array<out Any?>> { + return listOf( + arrayOf("abc", "xyz", false, true), + arrayOf("abc", null, false, true), + arrayOf("android.permission.RECORD_AUDIO", "xyz", false, false), + arrayOf("abc", "android.permission-group.MICROPHONE", false, false), + arrayOf( + "android.permission.RECORD_AUDIO", + "android.permission-group.MICROPHONE", + false, + false + ), + arrayOf( + "android.permission.RECORD_AUDIO", + "android.permission-group.MICROPHONE", + true, + true + ), + ) + } + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/pm/data/repository/FakePackageRepository.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/pm/data/repository/FakePackageRepository.kt new file mode 100644 index 000000000..29557b0b2 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/pm/data/repository/FakePackageRepository.kt @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.pm.data.repository + +import android.os.UserHandle +import com.android.permissioncontroller.pm.data.model.v31.PackageInfoModel +import com.android.permissioncontroller.pm.data.repository.v31.PackageRepository + +class FakePackageRepository(private val packages: Map<String, PackageInfoModel> = emptyMap()) : + PackageRepository { + override suspend fun getPackageInfo( + packageName: String, + user: UserHandle, + flags: Int + ): PackageInfoModel? { + return packages[packageName] + } +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/privacysources/NotificationListenerPrivacySourceTest.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/privacysources/NotificationListenerPrivacySourceTest.kt index 30f0880e1..cc3b096a8 100644 --- a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/privacysources/NotificationListenerPrivacySourceTest.kt +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/privacysources/NotificationListenerPrivacySourceTest.kt @@ -122,14 +122,14 @@ class NotificationListenerPrivacySourceTest { whenever( Utils.getApplicationLabel( any(ContextWrapper::class.java), - eq(packageInfo1.applicationInfo) + eq(packageInfo1.applicationInfo!!) ) ) .thenReturn(testComponent1.className) whenever( Utils.getApplicationLabel( any(ContextWrapper::class.java), - eq(packageInfo2.applicationInfo) + eq(packageInfo2.applicationInfo!!) ) ) .thenReturn(testComponent2.className) diff --git a/flags/java/com/android/permission/flags/PermissionsFlags.java b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/role/data/repository/FakeRoleRepository.kt index afab3fae5..f26020099 100644 --- a/flags/java/com/android/permission/flags/PermissionsFlags.java +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/role/data/repository/FakeRoleRepository.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2024 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. @@ -14,7 +14,10 @@ * limitations under the License. */ -package com.android.permission.flags; +package com.android.permissioncontroller.tests.mocking.role.data.repository -/** Class used for flags that do not work with aconfig tooling */ -public final class PermissionsFlags {} +import com.android.permissioncontroller.role.data.repository.v31.RoleRepository + +class FakeRoleRepository(private val exemptedPackages: Set<String> = emptySet()) : RoleRepository { + override suspend fun getExemptedPackages(): Set<String> = exemptedPackages +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/user/data/repository/FakeUserRepository.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/user/data/repository/FakeUserRepository.kt new file mode 100644 index 000000000..e05723d37 --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/user/data/repository/FakeUserRepository.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.user.data.repository + +import android.os.Process +import com.android.permissioncontroller.user.data.repository.v31.UserRepository + +class FakeUserRepository( + private val currentUserProfiles: List<Int> = listOf(Process.myUserHandle().identifier), + private val quietUserProfiles: List<Int> = emptyList(), + private val showInQuiteModeProfiles: List<Int> = emptyList() +) : UserRepository { + override suspend fun getUserProfilesIncludingCurrentUser(): List<Int> = currentUserProfiles + + override suspend fun shouldShowInQuietMode(userId: Int): Boolean = + showInQuiteModeProfiles.contains(userId) + + override suspend fun isQuietModeEnabled(userId: Int): Boolean = + quietUserProfiles.contains(userId) +} diff --git a/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/utils/MockUtil.kt b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/utils/MockUtil.kt new file mode 100644 index 000000000..1147bb74e --- /dev/null +++ b/PermissionController/tests/mocking/src/com/android/permissioncontroller/tests/mocking/utils/MockUtil.kt @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2024 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.permissioncontroller.tests.mocking.utils + +import android.app.AppOpsManager +import android.content.pm.ApplicationInfo +import android.content.pm.PackageInfo +import org.mockito.Mockito +import org.mockito.Mockito.`when` as whenever + +object MockUtil { + fun createMockPackageOps( + packageName: String, + ops: List<AppOpsManager.OpEntry>, + uid: Int + ): AppOpsManager.PackageOps { + val pkgOp = Mockito.mock(AppOpsManager.PackageOps::class.java) + whenever(pkgOp.packageName).thenReturn(packageName) + whenever(pkgOp.ops).thenReturn(ops) + whenever(pkgOp.uid).thenReturn(uid) + return pkgOp + } + + fun createOpEntry(opStr: String, time: Long): AppOpsManager.OpEntry { + val opEntry = Mockito.mock(AppOpsManager.OpEntry::class.java) + whenever(opEntry.opStr).thenReturn(opStr) + whenever(opEntry.getLastAccessTime(Mockito.anyInt())).thenReturn(time) + return opEntry + } + + fun createPackageInfo( + testPackageName: String, + requestedPerms: List<String>, + requestedFlags: List<Int>, + applicationInfoFlags: Int = 0 + ): PackageInfo { + val appInfo = ApplicationInfo() + appInfo.flags = applicationInfoFlags + return PackageInfo().apply { + packageName = testPackageName + requestedPermissions = requestedPerms.toTypedArray() + requestedPermissionsFlags = requestedFlags.toIntArray() + applicationInfo = appInfo + } + } +} diff --git a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/handheld/v31/PermissionUsageFragmentTest.kt b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/handheld/v31/PermissionUsageFragmentTest.kt index c7292f3e7..f81b620ce 100644 --- a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/handheld/v31/PermissionUsageFragmentTest.kt +++ b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/handheld/v31/PermissionUsageFragmentTest.kt @@ -44,7 +44,6 @@ class PermissionUsageFragmentTest : PermissionHub2Test() { private val APP = "com.android.permissioncontroller.tests.appthatrequestpermission" private val APP_LABEL = "CameraRequestApp" private val CAMERA_PREF_LABEL = "Camera" - private val REFRESH = "Refresh" @Before fun setup() { @@ -67,14 +66,8 @@ class PermissionUsageFragmentTest : PermissionHub2Test() { } eventually { - try { - waitFindObject(By.res("android:id/title").textContains(CAMERA_PREF_LABEL)).click() - } catch (e: Exception) { - waitFindObject(By.textContains(REFRESH)).click() - throw e - } + waitFindObject(By.res("android:id/title").textContains(CAMERA_PREF_LABEL)).click() } - waitFindObject(By.textContains(APP_LABEL)) } diff --git a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageDetailsFragmentTest.kt b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageDetailsFragmentTest.kt deleted file mode 100644 index 999c89fc7..000000000 --- a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageDetailsFragmentTest.kt +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2023 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.permissioncontroller.permissionui.ui.wear - -import android.Manifest.permission.CAMERA -import android.content.Intent -import android.os.Build -import android.permission.cts.PermissionUtils.grantPermission -import android.permission.cts.PermissionUtils.install -import android.permission.cts.PermissionUtils.uninstallApp -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.filters.SdkSuppress -import androidx.test.uiautomator.By -import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity -import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObject -import com.android.permissioncontroller.permissionui.PermissionHub2Test -import com.android.permissioncontroller.permissionui.pressHome -import com.android.permissioncontroller.permissionui.wakeUpScreen -import org.junit.After -import org.junit.Assume.assumeTrue -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith - -/** Tests for [WearPermissionUsageDetailsFragment] */ -@RunWith(AndroidJUnit4::class) -@SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) -class WearPermissionUsageDetailsFragmentTest : PermissionHub2Test() { - private val CAMERA_APK = - "/data/local/tmp/pc-permissionui/PermissionUiUseCameraPermissionApp.apk" - private val CAMERA_APP = "com.android.permissioncontroller.tests.appthatrequestpermission" - private val CAMERA_APP_LABEL = "CameraRequestApp" - private val CAMERA_PREF_LABEL = "Camera" - private val MANAGE_PERMISSION_LABEL = "Manage permission" - private val APP_PERMISSIONS_TITLE = "App permissions" - private val TIMEOUT = 30_000L - - @Before - fun setup() { - assumeTrue(isWear()) - wakeUpScreen() - install(CAMERA_APK) - grantPermission(CAMERA_APP, CAMERA) - accessCamera() - goToPermissionUsageDetails() - } - - private fun goToPermissionUsageDetails() { - runWithShellPermissionIdentity { - context.startActivity( - Intent(Intent.ACTION_REVIEW_PERMISSION_USAGE).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) - addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - } - ) - } - - clickObject(CAMERA_PREF_LABEL) - } - - @Test - fun testClickAppThenTransitToAppPermissionGroups() { - clickObject(CAMERA_APP_LABEL) - - // Find the title of AppPermissionGroups. - waitFindObject(By.textContains(APP_PERMISSIONS_TITLE), TIMEOUT) - // Find the permission in the list. - waitFindObject(By.textContains(CAMERA_PREF_LABEL), TIMEOUT) - } - - @Test - fun testClickManagePermissionThenTransitToPermissionApps() { - clickObject(MANAGE_PERMISSION_LABEL) - - // Find the title of PermissionApps. - waitFindObject(By.textContains(CAMERA_PREF_LABEL), TIMEOUT) - // Find the test app is in the app list. - waitFindObject(By.textContains(CAMERA_APP_LABEL), TIMEOUT) - } - - @After - fun tearDown() { - uninstallApp(CAMERA_APP) - pressHome() - } -} diff --git a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageFragmentTest.kt b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageFragmentTest.kt deleted file mode 100644 index e37b97874..000000000 --- a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearPermissionUsageFragmentTest.kt +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2023 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.permissioncontroller.permissionui.ui.wear - -import android.Manifest.permission.CAMERA -import android.Manifest.permission.READ_CALENDAR -import android.app.AppOpsManager -import android.content.Intent -import android.content.pm.PackageManager -import android.os.Build -import android.os.Process -import android.permission.cts.PermissionUtils.grantPermission -import android.permission.cts.PermissionUtils.install -import android.permission.cts.PermissionUtils.uninstallApp -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.filters.SdkSuppress -import androidx.test.uiautomator.By -import com.android.compatibility.common.util.SystemUtil.eventually -import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity -import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObject -import com.android.permissioncontroller.permissionui.PermissionHub2Test -import com.android.permissioncontroller.permissionui.pressHome -import com.android.permissioncontroller.permissionui.wakeUpScreen -import com.google.common.truth.Truth.assertThat -import org.junit.After -import org.junit.Assume.assumeTrue -import org.junit.Before -import org.junit.Test -import org.junit.runner.RunWith - -/** Tests for [WearPermissionUsageFragment] */ -@RunWith(AndroidJUnit4::class) -@SdkSuppress(minSdkVersion = Build.VERSION_CODES.S) -class WearPermissionUsageFragmentTest : PermissionHub2Test() { - private val CAMERA_APK = - "/data/local/tmp/pc-permissionui/PermissionUiUseCameraPermissionApp.apk" - private val CAMERA_APP_LABEL = "CameraRequestApp" - private val CAMERA_PREF_LABEL = "Camera" - - private val CALENDAR_APK = - "/data/local/tmp/pc-permissionui/PermissionUiReadCalendarPermissionApp.apk" - private val CALENDAR_APP_LABEL = "CalendarRequestApp" - private val CALENDAR_PREF_LABEL = "Calendar" - - private val TEST_PACKAGE_NAME = - "com.android.permissioncontroller.tests.appthatrequestpermission" - - private val SHOW_SYSTEM_LABEL = "Show system" - private val HIDE_SYSTEM_LABEL = "Hide system" - private val TIMEOUT = 30_000L - - @Before - fun setup() { - assumeTrue(isWear()) - wakeUpScreen() - } - - @Test - fun testShowSystem() { - runWithShellPermissionIdentity { - context.startActivity( - Intent(Intent.ACTION_REVIEW_PERMISSION_USAGE).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) - addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - } - ) - } - - clickObject(SHOW_SYSTEM_LABEL) - waitFindObject(By.textContains(HIDE_SYSTEM_LABEL), TIMEOUT) - - clickObject(HIDE_SYSTEM_LABEL) - waitFindObject(By.textContains(SHOW_SYSTEM_LABEL), TIMEOUT) - } - - @Test - fun testTransitToPermissionUsageDetails() { - install(CAMERA_APK) - grantPermission(TEST_PACKAGE_NAME, CAMERA) - accessCamera() - - runWithShellPermissionIdentity { - context.startActivity( - Intent(Intent.ACTION_REVIEW_PERMISSION_USAGE).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) - addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - } - ) - } - - clickObject(CAMERA_PREF_LABEL) - - waitFindObject(By.textContains(CAMERA_APP_LABEL), TIMEOUT) - } - - @Test - fun testTransitToPermissionApps() { - install(CALENDAR_APK) - grantPermission(TEST_PACKAGE_NAME, READ_CALENDAR) - - accessCalendar() - - runWithShellPermissionIdentity { - context.startActivity( - Intent(Intent.ACTION_REVIEW_PERMISSION_USAGE).apply { - addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) - addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - } - ) - } - - clickObject(CALENDAR_PREF_LABEL) - - waitFindObject(By.textContains(CALENDAR_PREF_LABEL), TIMEOUT) - waitFindObject(By.textContains(CALENDAR_APP_LABEL), TIMEOUT) - } - - private fun accessCalendar() { - runWithShellPermissionIdentity { - eventually { - assertThat( - context.packageManager.getPermissionFlags( - READ_CALENDAR, - TEST_PACKAGE_NAME, - Process.myUserHandle() - ) and PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED - ) - .isNotEqualTo(0) - } - - eventually { - assertThat( - context - .getSystemService(AppOpsManager::class.java) - .startOp( - AppOpsManager.OPSTR_READ_CALENDAR, - context.packageManager.getPackageUid(TEST_PACKAGE_NAME, 0), - TEST_PACKAGE_NAME, - null, - null - ) - ) - .isEqualTo(AppOpsManager.MODE_ALLOWED) - } - } - } - - @After - fun tearDown() { - uninstallApp(TEST_PACKAGE_NAME) - pressHome() - } -} diff --git a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearUtils.kt b/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearUtils.kt deleted file mode 100644 index cf8098f01..000000000 --- a/PermissionController/tests/permissionui/src/com/android/permissioncontroller/permissionui/ui/wear/WearUtils.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2023 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.permissioncontroller.permissionui.ui.wear - -import android.content.pm.PackageManager -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.uiautomator.By -import com.android.compatibility.common.util.SystemUtil.eventually -import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObject -import org.junit.Assert.assertNotNull - -private const val TIMEOUT = 30_000L - -fun isWear() = - InstrumentationRegistry.getInstrumentation() - .targetContext - .packageManager - .hasSystemFeature(PackageManager.FEATURE_WATCH) - -fun clickObject(text: String) { - eventually { - val obj = waitFindObject(By.textContains(text), TIMEOUT) - assertNotNull(obj) - obj.click() - } -} diff --git a/SafetyCenter/Config/Android.bp b/SafetyCenter/Config/Android.bp index d6423288a..48c8eab46 100644 --- a/SafetyCenter/Config/Android.bp +++ b/SafetyCenter/Config/Android.bp @@ -40,6 +40,7 @@ java_library { ], static_libs: [ "modules-utils-build", + "permissions-aconfig-flags-lib", ], apex_available: [ "com.android.permission", diff --git a/SafetyCenter/Config/TEST_MAPPING b/SafetyCenter/Config/TEST_MAPPING index d8a356636..1ad65fddd 100644 --- a/SafetyCenter/Config/TEST_MAPPING +++ b/SafetyCenter/Config/TEST_MAPPING @@ -13,5 +13,15 @@ } ] } + ], + "permission-mainline-presubmit": [ + { + "name": "SafetyCenterConfigTests", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } ] } diff --git a/SafetyCenter/Config/java/com/android/safetycenter/config/SafetyCenterConfigParser.java b/SafetyCenter/Config/java/com/android/safetycenter/config/SafetyCenterConfigParser.java index b6730f36f..38eee9e51 100644 --- a/SafetyCenter/Config/java/com/android/safetycenter/config/SafetyCenterConfigParser.java +++ b/SafetyCenter/Config/java/com/android/safetycenter/config/SafetyCenterConfigParser.java @@ -33,10 +33,12 @@ import android.content.res.Resources; import android.safetycenter.config.SafetyCenterConfig; import android.safetycenter.config.SafetySource; import android.safetycenter.config.SafetySourcesGroup; +import android.util.Log; import androidx.annotation.RequiresApi; import com.android.modules.utils.build.SdkLevel; +import com.android.permission.flags.Flags; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -49,6 +51,7 @@ import java.io.InputStream; @RequiresApi(TIRAMISU) public final class SafetyCenterConfigParser { + private static final String TAG = "SafetyCenterConfigParser"; private static final String TAG_SAFETY_CENTER_CONFIG = "safety-center-config"; private static final String TAG_SAFETY_SOURCES_CONFIG = "safety-sources-config"; private static final String TAG_SAFETY_SOURCES_GROUP = "safety-sources-group"; @@ -64,6 +67,8 @@ public final class SafetyCenterConfigParser { private static final String ATTR_SAFETY_SOURCE_PACKAGE_NAME = "packageName"; private static final String ATTR_SAFETY_SOURCE_TITLE = "title"; private static final String ATTR_SAFETY_SOURCE_TITLE_FOR_WORK = "titleForWork"; + private static final String ATTR_SAFETY_SOURCE_TITLE_FOR_PRIVATE_PROFILE = + "titleForPrivateProfile"; private static final String ATTR_SAFETY_SOURCE_SUMMARY = "summary"; private static final String ATTR_SAFETY_SOURCE_INTENT_ACTION = "intentAction"; private static final String ATTR_SAFETY_SOURCE_PROFILE = "profile"; @@ -270,6 +275,26 @@ public final class SafetyCenterConfigParser { parser.getAttributeName(i), resources)); break; + case ATTR_SAFETY_SOURCE_TITLE_FOR_PRIVATE_PROFILE: + if (SdkLevel.isAtLeastV()) { + if (Flags.privateProfileTitleApi()) { + builder.setTitleForPrivateProfileResId( + parseStringResourceName( + parser.getAttributeValue(i), + name, + parser.getAttributeName(i), + resources)); + } else { + Log.i( + TAG, + String.format( + "Ignoring attribute %s.%s", + name, ATTR_SAFETY_SOURCE_TITLE_FOR_PRIVATE_PROFILE)); + } + break; + } else { + throw attributeUnexpected(name, parser.getAttributeName(i)); + } case ATTR_SAFETY_SOURCE_SUMMARY: builder.setSummaryResId( parseStringResourceName( diff --git a/SafetyCenter/Config/tests/Android.bp b/SafetyCenter/Config/tests/Android.bp index 3adedfc25..20a536237 100644 --- a/SafetyCenter/Config/tests/Android.bp +++ b/SafetyCenter/Config/tests/Android.bp @@ -33,6 +33,7 @@ android_test { "compatibility-device-util-axt", "safety-center-config", "safety-center-test-util-lib", + "permissions-aconfig-flags-lib", ], test_suites: [ "general-tests", diff --git a/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigInvalidTest.kt b/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigInvalidTest.kt index 64775d7fe..e0e16fd71 100644 --- a/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigInvalidTest.kt +++ b/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigInvalidTest.kt @@ -19,6 +19,7 @@ package com.android.safetycenter.config import android.content.Context import androidx.test.core.app.ApplicationProvider.getApplicationContext import com.android.modules.utils.build.SdkLevel +import com.android.permission.flags.Flags import com.android.safetycenter.config.tests.R import com.google.common.truth.Truth.assertThat import org.junit.Assert.assertThrows @@ -63,18 +64,39 @@ class ParserConfigInvalidTest { fun parameters() = arrayOf( Params( + "ConfigDynamicSafetySourceAllDisabledNoPrivate", + R.raw.config_dynamic_safety_source_all_disabled_no_private, + "Element dynamic-safety-source invalid", + "Required attribute titleForPrivateProfile missing", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigDynamicSafetySourceAllDisabledNoWork", R.raw.config_dynamic_safety_source_all_disabled_no_work, "Element dynamic-safety-source invalid", "Required attribute titleForWork missing" ), Params( + "ConfigDynamicSafetySourceAllHiddenWithSearchNoPrivate", + R.raw.config_dynamic_safety_source_all_hidden_with_search_no_private, + "Element dynamic-safety-source invalid", + "Required attribute titleForPrivateProfile missing", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigDynamicSafetySourceAllHiddenWithSearchNoWork", R.raw.config_dynamic_safety_source_all_hidden_with_search_no_work, "Element dynamic-safety-source invalid", "Required attribute titleForWork missing" ), Params( + "ConfigDynamicSafetySourceAllNoPrivate", + R.raw.config_dynamic_safety_source_all_no_private, + "Element dynamic-safety-source invalid", + "Required attribute titleForPrivateProfile missing", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigDynamicSafetySourceAllNoWork", R.raw.config_dynamic_safety_source_all_no_work, "Element dynamic-safety-source invalid", @@ -160,12 +182,26 @@ class ParserConfigInvalidTest { "Required attribute title missing" ), Params( + "ConfigDynamicSafetySourcePrimaryHiddenWithPrivate", + R.raw.config_dynamic_safety_source_primary_hidden_with_private, + "Element dynamic-safety-source invalid", + "Prohibited attribute titleForPrivateProfile present", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigDynamicSafetySourcePrimaryHiddenWithWork", R.raw.config_dynamic_safety_source_primary_hidden_with_work, "Element dynamic-safety-source invalid", "Prohibited attribute titleForWork present" ), Params( + "ConfigDynamicSafetySourcePrimaryWithPrivate", + R.raw.config_dynamic_safety_source_primary_with_private, + "Element dynamic-safety-source invalid", + "Prohibited attribute titleForPrivateProfile present", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigDynamicSafetySourcePrimaryWithWork", R.raw.config_dynamic_safety_source_primary_with_work, "Element dynamic-safety-source invalid", @@ -226,6 +262,13 @@ class ParserConfigInvalidTest { "Prohibited attribute intentAction present" ), Params( + "ConfigIssueOnlySafetySourceWithPrivate", + R.raw.config_issue_only_safety_source_with_private, + "Element issue-only-safety-source invalid", + "Prohibited attribute titleForPrivateProfile present", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigIssueOnlySafetySourceWithSearch", R.raw.config_issue_only_safety_source_with_search, "Element issue-only-safety-source invalid", @@ -425,12 +468,26 @@ class ParserConfigInvalidTest { SdkLevel.isAtLeastU() ), Params( + "ConfigStaticSafetySourceWithPrimaryAndPrivate", + R.raw.config_static_safety_source_with_primary_and_private, + "Element static-safety-source invalid", + "Prohibited attribute titleForPrivateProfile present", + SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi() + ), + Params( "ConfigStaticSafetySourceWithPrimaryAndWork", R.raw.config_static_safety_source_with_primary_and_work, "Element static-safety-source invalid", "Prohibited attribute titleForWork present" ), Params( + "ConfigStaticSafetySourceWithPrivatePreV", + R.raw.config_static_safety_source_with_private_profile, + "Unexpected attribute static-safety-source.titleForPrivateProfile", + null, + !SdkLevel.isAtLeastV() + ), + Params( "ConfigStaticSafetySourceWithRefresh", R.raw.config_static_safety_source_with_refresh, "Element static-safety-source invalid", diff --git a/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigValidTest.kt b/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigValidTest.kt index b63ccead7..133f4ce73 100644 --- a/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigValidTest.kt +++ b/SafetyCenter/Config/tests/java/com/android/safetycenter/config/ParserConfigValidTest.kt @@ -23,6 +23,7 @@ import android.safetycenter.config.SafetySourcesGroup import androidx.test.core.app.ApplicationProvider.getApplicationContext import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.modules.utils.build.SdkLevel +import com.android.permission.flags.Flags import com.android.safetycenter.config.tests.R import com.google.common.truth.Truth.assertThat import org.junit.Test @@ -77,6 +78,9 @@ class ParserConfigValidTest { addPackageCertificateHash("feed1") addPackageCertificateHash("feed2") } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(R.string.reference) + } } .build() ) @@ -101,6 +105,9 @@ class ParserConfigValidTest { addPackageCertificateHash("feed1") addPackageCertificateHash("feed2") } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(R.string.reference) + } } .build() ) @@ -133,6 +140,11 @@ class ParserConfigValidTest { .setProfile(SafetySource.PROFILE_ALL) .setInitialDisplayState(SafetySource.INITIAL_DISPLAY_STATE_HIDDEN) .setSearchTermsResId(R.string.reference) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(R.string.reference) + } + } .build() ) .build() @@ -159,6 +171,11 @@ class ParserConfigValidTest { .setIntentAction("intent") .setProfile(SafetySource.PROFILE_ALL) .setSearchTermsResId(R.string.reference) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(R.string.reference) + } + } .build() ) .build() diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_disabled_no_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_disabled_no_private.xml new file mode 100644 index 000000000..dae6ca754 --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_disabled_no_private.xml @@ -0,0 +1,18 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="id" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles" + initialDisplayState="disabled"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_hidden_with_search_no_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_hidden_with_search_no_private.xml new file mode 100644 index 000000000..e1852b6ec --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_hidden_with_search_no_private.xml @@ -0,0 +1,17 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="id" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + profile="all_profiles" + initialDisplayState="hidden" + searchTerms="@com.android.safetycenter.config.tests:string/reference"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_no_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_no_private.xml new file mode 100644 index 000000000..8446b71cc --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_all_no_private.xml @@ -0,0 +1,17 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="id" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_hidden_with_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_hidden_with_private.xml new file mode 100644 index 000000000..3d5840b03 --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_hidden_with_private.xml @@ -0,0 +1,15 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="id" + packageName="package" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + profile="primary_profile_only" + initialDisplayState="hidden"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_with_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_with_private.xml new file mode 100644 index 000000000..b95a3ed6e --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_dynamic_safety_source_primary_with_private.xml @@ -0,0 +1,17 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="id" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_issue_only_safety_source_with_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_issue_only_safety_source_with_private.xml new file mode 100644 index 000000000..7b2484a41 --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_issue_only_safety_source_with_private.xml @@ -0,0 +1,12 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id"> + <issue-only-safety-source + id="id" + packageName="package" + profile="all_profiles" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_static_safety_source_with_primary_and_private.xml b/SafetyCenter/Config/tests/res/raw-v35/config_static_safety_source_with_primary_and_private.xml new file mode 100644 index 000000000..0ab3d885b --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_static_safety_source_with_primary_and_private.xml @@ -0,0 +1,16 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <static-safety-source + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw-v35/config_valid.xml b/SafetyCenter/Config/tests/res/raw-v35/config_valid.xml new file mode 100644 index 000000000..e49a6cdc4 --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw-v35/config_valid.xml @@ -0,0 +1,197 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="dynamic" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + statelessIconType="privacy"> + <dynamic-safety-source + id="dynamic_barebone" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + <dynamic-safety-source + id="dynamic_all_optional" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles" + initialDisplayState="disabled" + maxSeverityLevel="300" + searchTerms="@com.android.safetycenter.config.tests:string/reference" + loggingAllowed="false" + refreshOnPageOpenAllowed="true" + notificationsAllowed="true" + deduplicationGroup="group" + packageCertificateHashes="feed1,feed2"/> + <dynamic-safety-source + id="@com.android.safetycenter.config.tests:string/dynamic_all_references_id" + packageName="@com.android.safetycenter.config.tests:string/dynamic_all_references_package_name" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="@com.android.safetycenter.config.tests:string/dynamic_all_references_intent_action" + profile="@com.android.safetycenter.config.tests:string/dynamic_all_references_profile" + initialDisplayState="@com.android.safetycenter.config.tests:string/dynamic_all_references_initial_display_state" + maxSeverityLevel="@com.android.safetycenter.config.tests:string/dynamic_all_references_max_severity_level" + searchTerms="@com.android.safetycenter.config.tests:string/reference" + loggingAllowed="@com.android.safetycenter.config.tests:string/dynamic_all_references_logging_allowed" + refreshOnPageOpenAllowed="@com.android.safetycenter.config.tests:string/dynamic_all_references_refresh_on_page_open_allowed" + notificationsAllowed="@com.android.safetycenter.config.tests:string/dynamic_all_references_notifications_allowed" + deduplicationGroup="@com.android.safetycenter.config.tests:string/dynamic_all_references_deduplication_group" + packageCertificateHashes="@com.android.safetycenter.config.tests:string/dynamic_all_references_package_cert_hashes"/> + <dynamic-safety-source + id="dynamic_disabled" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + profile="primary_profile_only" + initialDisplayState="disabled"/> + <dynamic-safety-source + id="dynamic_hidden" + packageName="package" + profile="all_profiles" + initialDisplayState="hidden"/> + <dynamic-safety-source + id="dynamic_hidden_with_search" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles" + initialDisplayState="hidden" + searchTerms="@com.android.safetycenter.config.tests:string/reference"/> + </safety-sources-group> + <safety-sources-group + id="static" + title="@com.android.safetycenter.config.tests:string/reference"> + <static-safety-source + id="static_barebone" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + <static-safety-source + id="static_all_optional" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles" + searchTerms="@com.android.safetycenter.config.tests:string/reference"/> + </safety-sources-group> + <safety-sources-group + id="issue_only"> + <issue-only-safety-source + id="issue_only_barebone" + packageName="package" + profile="primary_profile_only"/> + <issue-only-safety-source + id="issue_only_all_optional" + packageName="package" + profile="all_profiles" + maxSeverityLevel="300" + loggingAllowed="false" + refreshOnPageOpenAllowed="true" + notificationsAllowed="true" + deduplicationGroup="group" + packageCertificateHashes="feed1,feed2"/> + <issue-only-safety-source + id="id_test_abcxyz_ABCXYZ_012789" + packageName="package" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + id="mixed" + title="@com.android.safetycenter.config.tests:string/reference"> + <dynamic-safety-source + id="mixed_dynamic_barebone" + packageName="package" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + <issue-only-safety-source + id="mixed_issue_only_barebone" + packageName="package" + profile="primary_profile_only"/> + <static-safety-source + id="mixed_static_barebone" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="stateful" + id="stateful_barebone" + title="@com.android.safetycenter.config.tests:string/reference"> + <static-safety-source + id="stateful_barebone_source" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="stateful" + id="stateful_all_optional" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + statelessIconType="privacy"> + <static-safety-source + id="stateful_all_optional_source" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="stateless" + id="stateless_barebone" + title="@com.android.safetycenter.config.tests:string/reference"> + <static-safety-source + id="stateless_barebone_source" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="stateless" + id="stateless_all_optional" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + statelessIconType="privacy"> + <static-safety-source + id="stateless_all_optional_source" + title="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="hidden" + id="hidden_barebone"> + <issue-only-safety-source + id="hidden_barebone_source" + packageName="package" + profile="primary_profile_only"/> + </safety-sources-group> + <safety-sources-group + type="hidden" + id="hidden_all_optional" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + statelessIconType="privacy"> + <issue-only-safety-source + id="hidden_all_optional_source" + packageName="package" + profile="primary_profile_only"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/Config/tests/res/raw/config_static_safety_source_with_private_profile.xml b/SafetyCenter/Config/tests/res/raw/config_static_safety_source_with_private_profile.xml new file mode 100644 index 000000000..f790baec9 --- /dev/null +++ b/SafetyCenter/Config/tests/res/raw/config_static_safety_source_with_private_profile.xml @@ -0,0 +1,17 @@ +<safety-center-config> + <safety-sources-config> + <safety-sources-group + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference"> + <static-safety-source + id="id" + title="@com.android.safetycenter.config.tests:string/reference" + titleForWork="@com.android.safetycenter.config.tests:string/reference" + titleForPrivateProfile="@com.android.safetycenter.config.tests:string/reference" + summary="@com.android.safetycenter.config.tests:string/reference" + intentAction="intent" + profile="all_profiles"/> + </safety-sources-group> + </safety-sources-config> +</safety-center-config> diff --git a/SafetyCenter/ConfigLintChecker/Android.bp b/SafetyCenter/ConfigLintChecker/Android.bp index fad0165df..7c615d2f4 100644 --- a/SafetyCenter/ConfigLintChecker/Android.bp +++ b/SafetyCenter/ConfigLintChecker/Android.bp @@ -12,64 +12,65 @@ // See the License for the specific language governing permissions and // limitations under the License. -package { - default_team: "trendy_team_android_permissions", - default_applicable_licenses: ["Android-Apache-2.0"], -} +// TODO(b/322944911): Reconsider enabling linter checker +//package { +// default_team: "trendy_team_android_permissions", +// default_applicable_licenses: ["Android-Apache-2.0"], +//} -java_library_host { - name: "ConfigLintChecker", - srcs: [ - "java/**/*.java", - "java/**/*.kt", - ":safetycenter-annotations-sources", - ":safetycenter-config-api-sources", - ":safetycenter-config-parser-sources", - ], - plugins: ["auto_service_plugin"], - libs: [ - "androidx.annotation_annotation", // For androidx.annotation.RequiresApi - "auto_service_annotations", - "core-xml-for-host", // For org.xmlpull.v1.* - "framework-annotations-lib", // For com.android.annotation.* - "layoutlib_api-prebuilt", // For com.android.resources.ResourceFolderType - "lint_api", - ], - java_resources: [":safetycenter-config-schemas"], - jarjar_rules: "jarjar-rules.txt", - kotlincflags: ["-Xjvm-default=all"], - visibility: [ - "//packages/modules/Permission:__subpackages__", - "//vendor:__subpackages__", - ], -} +//java_library_host { +// name: "ConfigLintChecker", +// srcs: [ +// "java/**/*.java", +// "java/**/*.kt", +// ":safetycenter-annotations-sources", +// ":safetycenter-config-api-sources", +// ":safetycenter-config-parser-sources", +// ], +// plugins: ["auto_service_plugin"], +// libs: [ +// "androidx.annotation_annotation", // For androidx.annotation.RequiresApi +// "auto_service_annotations", +// "core-xml-for-host", // For org.xmlpull.v1.* +// "framework-annotations-lib", // For com.android.annotation.* +// "layoutlib_api-prebuilt", // For com.android.resources.ResourceFolderType +// "lint_api", +// ], +// java_resources: [":safetycenter-config-schemas"], +// jarjar_rules: "jarjar-rules.txt", +// kotlincflags: ["-Xjvm-default=all"], +// visibility: [ +// "//packages/modules/Permission:__subpackages__", +// "//vendor:__subpackages__", +// ], +//} -java_test_host { - name: "ConfigLintCheckerTest", - srcs: [ - "tests/java/**/*.kt", - ], - static_libs: [ - "ConfigLintChecker", - "junit", - "lint", - "lint_tests", - ], - test_options: { - unit_test: true, - tradefed_options: [ - { - // lint bundles in some classes that were built with older versions - // of libraries, and no longer load. Since tradefed tries to load - // all classes in the jar to look for tests, it crashes loading them. - // Exclude these classes from tradefed's search. - name: "exclude-paths", - value: "org/apache", - }, - { - name: "exclude-paths", - value: "META-INF", - }, - ], - }, -} +//java_test_host { +// name: "ConfigLintCheckerTest", +// srcs: [ +// "tests/java/**/*.kt", +// ], +// static_libs: [ +// "ConfigLintChecker", +// "junit", +// "lint", +// "lint_tests", +// ], +// test_options: { +// unit_test: true, +// tradefed_options: [ +// { +// // lint bundles in some classes that were built with older versions +// // of libraries, and no longer load. Since tradefed tries to load +// // all classes in the jar to look for tests, it crashes loading them. +// // Exclude these classes from tradefed's search. +// name: "exclude-paths", +// value: "org/apache", +// }, +// { +// name: "exclude-paths", +// value: "META-INF", +// }, +// ], +// }, +//} diff --git a/SafetyCenter/Resources/Android.bp b/SafetyCenter/Resources/Android.bp index 6f635c885..a10ea7f1a 100644 --- a/SafetyCenter/Resources/Android.bp +++ b/SafetyCenter/Resources/Android.bp @@ -42,9 +42,10 @@ android_app { min_sdk_version: "30", apex_available: ["com.android.permission"], certificate: ":com.android.safetycenter.resources.certificate", - lint: { - extra_check_modules: ["ConfigLintChecker"], - }, + // TODO(b/322944911): Reconsider enabling linter checker + //lint: { + // extra_check_modules: ["ConfigLintChecker"], + //}, static_libs: [ "SafetyCenterResourcesShared", ], diff --git a/SafetyCenter/Resources/res/raw-v35/safety_center_config.xml b/SafetyCenter/Resources/res/raw-v35/safety_center_config.xml index 83369f920..bb8d5b14d 100644 --- a/SafetyCenter/Resources/res/raw-v35/safety_center_config.xml +++ b/SafetyCenter/Resources/res/raw-v35/safety_center_config.xml @@ -35,10 +35,22 @@ profile="all_profiles" title="@com.android.safetycenter.resources:string/biometrics_title" titleForWork="@com.android.safetycenter.resources:string/biometrics_title_for_work" + titleForPrivateProfile="@com.android.safetycenter.resources:string/biometrics_title_for_private_profile" searchTerms="@com.android.safetycenter.resources:string/biometrics_search_terms" initialDisplayState="hidden"/> </safety-sources-group> <safety-sources-group + id="AndroidCellularNetworkSecuritySources" + title="@com.android.safetycenter.resources:string/cellular_network_security_title" + summary="@com.android.safetycenter.resources:string/cellular_network_security_summary"> + <dynamic-safety-source + id="AndroidCellularNetworkSecurity" + packageName="com.android.phone" + profile="primary_profile_only" + notificationsAllowed="true" + initialDisplayState="hidden"/> + </safety-sources-group> + <safety-sources-group id="AndroidPrivacySources" title="@com.android.safetycenter.resources:string/privacy_sources_title" summary="@com.android.safetycenter.resources:string/privacy_sources_summary" @@ -50,13 +62,6 @@ title="@com.android.safetycenter.resources:string/permission_manager_title" summary="@com.android.safetycenter.resources:string/permission_manager_summary" searchTerms="@com.android.safetycenter.resources:string/permission_manager_search_terms"/> - <static-safety-source - id="AndroidPermissionUsage" - profile="primary_profile_only" - intentAction="android.intent.action.REVIEW_PERMISSION_USAGE" - title="@com.android.safetycenter.resources:string/permission_usage_title" - summary="@com.android.safetycenter.resources:string/permission_usage_summary" - searchTerms="@com.android.safetycenter.resources:string/permission_usage_search_terms"/> <dynamic-safety-source id="AndroidHealthConnect" profile="primary_profile_only" @@ -106,6 +111,26 @@ refreshOnPageOpenAllowed="true"/> </safety-sources-group> <safety-sources-group + id="AndroidPrivacySourcesAdditional" + title="@com.android.safetycenter.resources:string/privacy_additional_title"> + <static-safety-source + id="AndroidPermissionUsage" + profile="primary_profile_only" + intentAction="android.intent.action.REVIEW_PERMISSION_USAGE" + title="@com.android.safetycenter.resources:string/permission_usage_title" + summary="@com.android.safetycenter.resources:string/permission_usage_summary" + searchTerms="@com.android.safetycenter.resources:string/permission_usage_search_terms"/> + <dynamic-safety-source + id="AndroidPrivateSpace" + packageName="com.android.settings" + profile="primary_profile_only" + title="@com.android.safetycenter.resources:string/private_space_title" + summary="@com.android.safetycenter.resources:string/private_space_summary" + searchTerms="@com.android.safetycenter.resources:string/private_space_search_terms" + initialDisplayState="hidden" + maxSeverityLevel="0"/> + </safety-sources-group> + <safety-sources-group id="AndroidAdvancedSources" title="@com.android.safetycenter.resources:string/advanced_title"> <dynamic-safety-source @@ -122,15 +147,6 @@ title="@com.android.safetycenter.resources:string/more_settings_title" summary="@com.android.safetycenter.resources:string/more_settings_summary" searchTerms="@com.android.safetycenter.resources:string/more_settings_search_terms"/> - <dynamic-safety-source - id="AndroidPrivateSpace" - packageName="com.android.settings" - profile="primary_profile_only" - title="@com.android.safetycenter.resources:string/private_space_title" - summary="@com.android.safetycenter.resources:string/private_space_summary" - searchTerms="@com.android.safetycenter.resources:string/private_space_search_terms" - initialDisplayState="hidden" - maxSeverityLevel="0"/> </safety-sources-group> </safety-sources-config> </safety-center-config> diff --git a/SafetyCenter/Resources/res/values-af-v35/strings.xml b/SafetyCenter/Resources/res/values-af-v35/strings.xml index 2990bde0d..db0f9ab8b 100644 --- a/SafetyCenter/Resources/res/values-af-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-af-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Selnetwerksekuriteit"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Netwerktipe, enkripsie, kennisgewingkontroles"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privaatheid"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privaatheidkontroles"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Toestemmings, kontroles"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privaat ruimte"</string> <string name="private_space_summary" msgid="529869826714610294">"Stel privaat ruimte op, en meer"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privaat ruimte"</string> diff --git a/SafetyCenter/Resources/res/values-am-v35/strings.xml b/SafetyCenter/Resources/res/values-am-v35/strings.xml index 290a8816c..d4aae2330 100644 --- a/SafetyCenter/Resources/res/values-am-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-am-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"የተንቀሳቃሽ ስልክ አውታረ መረብ ደህንነት"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"የአውታረ መረብ ዓይነት፣ ምስጠራ፣ የማሳወቂያ መቆጣጠሪያዎች"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ግላዊነት"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"የግላዊነት መቆጣጠሪያዎች"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ፈቃዶች፣ መቆጣጠሪያዎች"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"የግል ቦታ"</string> <string name="private_space_summary" msgid="529869826714610294">"የግል ቦታን እና ሌሎችን ያዋቅሩ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"የግል ቦታ"</string> diff --git a/SafetyCenter/Resources/res/values-ar-v35/strings.xml b/SafetyCenter/Resources/res/values-ar-v35/strings.xml index 29fc7583d..639815c89 100644 --- a/SafetyCenter/Resources/res/values-ar-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ar-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"أمان شبكة الجوّال"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"عناصر التحكم في نوع الشبكة والتشفير والإشعارات"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"الخصوصية"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"عناصر التحكّم في الخصوصية"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"الأذونات وعناصر التحكّم"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"مساحة خاصة"</string> <string name="private_space_summary" msgid="529869826714610294">"ضبط إعدادات مساحة خاصة وغير ذلك"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"مساحة خاصة"</string> diff --git a/SafetyCenter/Resources/res/values-as-v35/strings.xml b/SafetyCenter/Resources/res/values-as-v35/strings.xml index 71918ea36..e3afe4c9e 100644 --- a/SafetyCenter/Resources/res/values-as-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-as-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"ব্যক্তিগত স্পে’চ"</string> - <string name="private_space_summary" msgid="529869826714610294">"ব্যক্তিগত স্পে’চ আৰু আন বহুতো ছেটআপ কৰক"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"ব্যক্তিগত স্পে’চ"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"চেলুলাৰ নেটৱৰ্কৰ সুৰক্ষা"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"নেটৱৰ্কৰ প্ৰকাৰ, এনক্ৰিপশ্বন, জাননীৰ নিয়ন্ত্ৰণসমূহ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"গোপনীয়তা"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"গোপনীয়তাৰ নিয়ন্ত্ৰণ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"অনুমতিসমূহ, নিয়ন্ত্ৰণসমূহ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"প্ৰাইভেট স্পে\'চ"</string> + <string name="private_space_summary" msgid="529869826714610294">"প্ৰাইভেট স্পে\'চ আৰু আন বহুতো ছেটআপ কৰক"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"প্ৰাইভেট স্পে\'চ"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-az-v35/strings.xml b/SafetyCenter/Resources/res/values-az-v35/strings.xml index e1fd4c181..64b414421 100644 --- a/SafetyCenter/Resources/res/values-az-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-az-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobil şəbəkə təhlükəsizliyi"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Şəbəkə növü, şifrələmə, bildiriş nizamlayıcıları"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Məxfilik"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Məxfilik nizamlayıcıları"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"İcazələr, nizamlayıcılar"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Şəxsi yer"</string> <string name="private_space_summary" msgid="529869826714610294">"Şəxsi yer və s. ayarlayın"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Şəxsi yer"</string> diff --git a/SafetyCenter/Resources/res/values-b+sr+Latn-v35/strings.xml b/SafetyCenter/Resources/res/values-b+sr+Latn-v35/strings.xml index 6a52a1a8d..af536c383 100644 --- a/SafetyCenter/Resources/res/values-b+sr+Latn-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-b+sr+Latn-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Bezbednost mobilne mreže"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tip mreže, šifrovanje, kontrole obaveštenja"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatnost"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kontrole privatnosti"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Dozvole, kontrole"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privatni prostor"</string> <string name="private_space_summary" msgid="529869826714610294">"Podesite privatni prostor i drugo"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privatni prostor"</string> diff --git a/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml b/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml index c4328fe12..628477b14 100644 --- a/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml +++ b/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml @@ -22,7 +22,7 @@ <string name="lock_screen_sources_summary" msgid="7220439741282516496"></string> <string name="lock_screen_title" msgid="4069104894527169877">"Otključavanje ekrana"</string> <string name="lock_screen_summary_disabled" msgid="354071230916616692">"Još nema informacija"</string> - <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, zaključavanje ekrana, zaključani ekran, lozinka, PIN, šablon"</string> + <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, otključavanje ekrana, zaključani ekran, lozinka, PIN, šablon"</string> <string name="biometrics_title" msgid="5859504610285212938">"Biometrija"</string> <string name="biometrics_search_terms" msgid="6040319118762671981">"otisak prsta, prst, dodaj otisak prsta, otključavanje licem, lice"</string> <string name="privacy_sources_title" msgid="4061110826457365957">"Privatnost"</string> diff --git a/SafetyCenter/Resources/res/values-be-v35/strings.xml b/SafetyCenter/Resources/res/values-be-v35/strings.xml index c8db4cb50..55daf6e66 100644 --- a/SafetyCenter/Resources/res/values-be-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-be-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Бяспека сотавай сеткі"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тып сеткі, шыфраванне, налады апавяшчэнняў"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Прыватнасць"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Налады прыватнасці"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Дазволы, налады"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Прыватная вобласць"</string> <string name="private_space_summary" msgid="529869826714610294">"Наладжванне прыватнай вобласці і не толькі"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Прыватная вобласць"</string> diff --git a/SafetyCenter/Resources/res/values-bg-v35/strings.xml b/SafetyCenter/Resources/res/values-bg-v35/strings.xml index bb78de8a5..99d85239a 100644 --- a/SafetyCenter/Resources/res/values-bg-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-bg-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Сигурност на мобилната мрежа"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тип мрежа, шифроване, контроли за известията"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Поверителност"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Контроли за поверителност"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Разрешения, контроли"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Лично пространство"</string> <string name="private_space_summary" msgid="529869826714610294">"Настройване на лично пространство и др."</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Лично пространство"</string> diff --git a/SafetyCenter/Resources/res/values-bn-v35/strings.xml b/SafetyCenter/Resources/res/values-bn-v35/strings.xml index 5b05d3b7e..644f8fa18 100644 --- a/SafetyCenter/Resources/res/values-bn-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-bn-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"মোবাইল নেটওয়ার্কের সুরক্ষা"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"নেটওয়ার্কের ধরন, এনক্রিপশন, বিজ্ঞপ্তির নিয়ন্ত্রণ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"গোপনীয়তা"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"গোপনীয়তা নিয়ন্ত্রণ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"অনুমতি, কন্ট্রোল"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ব্যক্তিগত স্পেস"</string> <string name="private_space_summary" msgid="529869826714610294">"\'ব্যক্তিগত স্পেস\' সেট-আপ ও আরও অনেক কিছু করুন"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ব্যক্তিগত স্পেস"</string> diff --git a/SafetyCenter/Resources/res/values-bs-v35/strings.xml b/SafetyCenter/Resources/res/values-bs-v35/strings.xml index ab9d9d6ba..cce4ac279 100644 --- a/SafetyCenter/Resources/res/values-bs-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-bs-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sigurnost mobilne mreže"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Vrsta mreže, šifriranje i kontrole obavještenja"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatnost"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kontrole privatnosti"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Odobrenja, kontrole"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privatni prostor"</string> <string name="private_space_summary" msgid="529869826714610294">"Postavite privatni prostor i drugo"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privatni prostor"</string> diff --git a/SafetyCenter/Resources/res/values-bs/strings.xml b/SafetyCenter/Resources/res/values-bs/strings.xml index f24d6415f..cc1ba4b1f 100644 --- a/SafetyCenter/Resources/res/values-bs/strings.xml +++ b/SafetyCenter/Resources/res/values-bs/strings.xml @@ -22,7 +22,7 @@ <string name="lock_screen_sources_summary" msgid="7220439741282516496"></string> <string name="lock_screen_title" msgid="4069104894527169877">"Zaključavanje ekrana"</string> <string name="lock_screen_summary_disabled" msgid="354071230916616692">"Još uvijek nema informacija"</string> - <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, zaključavanje ekrana, zaključan ekran, lozinka, pin, uzorak"</string> + <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, zaključavanje ekrana, zaključani ekran, lozinka, pin, uzorak"</string> <string name="biometrics_title" msgid="5859504610285212938">"Biometrija"</string> <string name="biometrics_search_terms" msgid="6040319118762671981">"otisak prsta, prst, dodajte otisak prsta, otključavanje licem, lice"</string> <string name="privacy_sources_title" msgid="4061110826457365957">"Privatnost"</string> diff --git a/SafetyCenter/Resources/res/values-ca-v35/strings.xml b/SafetyCenter/Resources/res/values-ca-v35/strings.xml index ba0cc5dd2..20fe7e6ad 100644 --- a/SafetyCenter/Resources/res/values-ca-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ca-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Seguretat de la xarxa mòbil"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipus de xarxa, encriptació, controls de notificació"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privadesa"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controls de privadesa"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permisos, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espai privat"</string> <string name="private_space_summary" msgid="529869826714610294">"Configura l\'espai privat i més"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espai privat"</string> diff --git a/SafetyCenter/Resources/res/values-cs-v35/strings.xml b/SafetyCenter/Resources/res/values-cs-v35/strings.xml index 532449ee1..3114e34eb 100644 --- a/SafetyCenter/Resources/res/values-cs-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-cs-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Zabezpečení mobilní sítě"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Nastavení typu sítě, šifrování a oznámení"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Ochrana soukromí"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Nastavení ochrany soukromí"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Oprávnění, ovládací prvky"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Soukromý prostor"</string> <string name="private_space_summary" msgid="529869826714610294">"Nastavte si Soukromý prostor atd."</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Soukromý prostor"</string> diff --git a/SafetyCenter/Resources/res/values-da-v35/strings.xml b/SafetyCenter/Resources/res/values-da-v35/strings.xml index 9401dbbe7..e57c93033 100644 --- a/SafetyCenter/Resources/res/values-da-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-da-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"Privat rum"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sikkerhed for mobilnetværk"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Netværkstype, kryptering, notifikationsstyring"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatliv"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privatlivsindstillinger"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Tilladelser, indstillinger"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"Privat område"</string> <string name="private_space_summary" msgid="529869826714610294">"Konfigurer et privat rum m.m."</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"Privat rum"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"Privat område"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-de-v35/strings.xml b/SafetyCenter/Resources/res/values-de-v35/strings.xml index 22f254518..8c3d8b724 100644 --- a/SafetyCenter/Resources/res/values-de-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-de-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"Privater Bereich"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sicherheit von Mobilfunknetzen"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Netzwerktyp, Verschlüsselung, Benachrichtigungseinstellungen"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Datenschutz"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Datenschutzeinstellungen"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Berechtigungen, Einstellungen"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"Privates Profil"</string> <string name="private_space_summary" msgid="529869826714610294">"Privaten Bereich einrichten und mehr"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"Privater Bereich"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"Privates Profil"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-el-v35/strings.xml b/SafetyCenter/Resources/res/values-el-v35/strings.xml index 5cea492f7..7e83565d2 100644 --- a/SafetyCenter/Resources/res/values-el-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-el-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Ασφάλεια δικτύου κινητής τηλεφωνίας"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Τύπος δικτύου, κρυπτογράφηση, στοιχεία ελέγχου ειδοποιήσεων"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Απόρρητο"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Στοιχεία ελέγχου απορρήτου"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Άδειες, στοιχεία ελέγχου"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Ιδιωτικός χώρος"</string> <string name="private_space_summary" msgid="529869826714610294">"Ρύθμιση Ιδιωτικού χώρου κ.ά."</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Ιδιωτικός χώρος"</string> diff --git a/SafetyCenter/Resources/res/values-en-rAU-v35/strings.xml b/SafetyCenter/Resources/res/values-en-rAU-v35/strings.xml index 311c5ca42..7fc38c945 100644 --- a/SafetyCenter/Resources/res/values-en-rAU-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-en-rAU-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobile network security"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, encryption, notification controls"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacy controls"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissions, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Set up Private Space, and more"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-en-rCA-v35/strings.xml b/SafetyCenter/Resources/res/values-en-rCA-v35/strings.xml index e0c36a7a0..a07241022 100644 --- a/SafetyCenter/Resources/res/values-en-rCA-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-en-rCA-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Cellular network security"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, encryption, notification controls"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacy controls"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissions, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Setup Private Space, and more"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-en-rGB-v35/strings.xml b/SafetyCenter/Resources/res/values-en-rGB-v35/strings.xml index 311c5ca42..7fc38c945 100644 --- a/SafetyCenter/Resources/res/values-en-rGB-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-en-rGB-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobile network security"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, encryption, notification controls"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacy controls"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissions, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Set up Private Space, and more"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-en-rIN-v35/strings.xml b/SafetyCenter/Resources/res/values-en-rIN-v35/strings.xml index 311c5ca42..7fc38c945 100644 --- a/SafetyCenter/Resources/res/values-en-rIN-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-en-rIN-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobile network security"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, encryption, notification controls"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacy controls"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissions, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Set up Private Space, and more"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-en-rXC-v35/strings.xml b/SafetyCenter/Resources/res/values-en-rXC-v35/strings.xml index ad86de92f..c92958669 100644 --- a/SafetyCenter/Resources/res/values-en-rXC-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-en-rXC-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Cellular network security"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, encryption, notification controls"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacy controls"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissions, controls"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Setup Private Space, and more"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-es-rUS-v35/strings.xml b/SafetyCenter/Resources/res/values-es-rUS-v35/strings.xml index 323af67b1..9b17255b5 100644 --- a/SafetyCenter/Resources/res/values-es-rUS-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-es-rUS-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Seguridad de red móvil"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de red, encriptación, controles de notificaciones"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidad"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controles de privacidad"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permisos y controles"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espacio privado"</string> <string name="private_space_summary" msgid="529869826714610294">"Configura el Espacio privado y mucho más"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espacio privado"</string> diff --git a/SafetyCenter/Resources/res/values-es-v35/strings.xml b/SafetyCenter/Resources/res/values-es-v35/strings.xml index 9901be878..74ea5fa7f 100644 --- a/SafetyCenter/Resources/res/values-es-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-es-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Seguridad de la red móvil"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de red, cifrado, controles de notificaciones"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidad"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controles de privacidad"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permisos, controles"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espacio privado"</string> <string name="private_space_summary" msgid="529869826714610294">"Configura el espacio privado y más"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espacio privado"</string> diff --git a/SafetyCenter/Resources/res/values-et-v35/strings.xml b/SafetyCenter/Resources/res/values-et-v35/strings.xml index e2f169a10..36ca50ec4 100644 --- a/SafetyCenter/Resources/res/values-et-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-et-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobiilsidevõrgu turvalisus"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Võrgu tüüp, krüpteerimine, märguannete juhtnupud"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privaatsus"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privaatsuse seaded"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Load, juhtelemendid"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privaatne ruum"</string> <string name="private_space_summary" msgid="529869826714610294">"Privaatse ruumi seadistamine ja muu"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privaatne ruum"</string> diff --git a/SafetyCenter/Resources/res/values-eu-v34/strings.xml b/SafetyCenter/Resources/res/values-eu-v34/strings.xml index 20f2cfbaf..f1a070e4d 100644 --- a/SafetyCenter/Resources/res/values-eu-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-eu-v34/strings.xml @@ -25,7 +25,7 @@ <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Kokapen-datuak partekatzeko aukeraren berritasunak"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"datuak, datuak partekatzeko aukera, datuak partekatzeko aukeraren berritasunak, kokapen-datuak partekatzeko aukeraren berritasunak, partekatzea"</string> <string name="advanced_title" msgid="6259362998269627310">"Beste ezarpen batzuk"</string> - <string name="more_settings_title" msgid="9033454654010697185">"Segurtasun eta pribatutasun gehiago"</string> + <string name="more_settings_title" msgid="9033454654010697185">"Segurtasun eta pribatutasun handiagoak"</string> <string name="more_settings_summary" msgid="7086620830002515710">"Betetze automatikoa, jakinarazpenak eta abar"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"Laneko gidalerroei buruzko informazioa"</string> diff --git a/SafetyCenter/Resources/res/values-eu-v35/strings.xml b/SafetyCenter/Resources/res/values-eu-v35/strings.xml index c22f585ab..bd23775ee 100644 --- a/SafetyCenter/Resources/res/values-eu-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-eu-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sare mugikorraren segurtasuna"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Sare mota, enkriptatzea, jakinarazpenak kontrolatzeko aukerak"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Pribatutasuna"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Pribatutasun-ezarpenak"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Baimenak, kontrolatzeko aukerak"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Eremu pribatua"</string> <string name="private_space_summary" msgid="529869826714610294">"Konfiguratu eremu pribatua eta abar"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Eremu pribatua"</string> diff --git a/SafetyCenter/Resources/res/values-fa-v34/strings.xml b/SafetyCenter/Resources/res/values-fa-v34/strings.xml index d8bf2b762..92a2168de 100644 --- a/SafetyCenter/Resources/res/values-fa-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-fa-v34/strings.xml @@ -18,7 +18,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="lock_screen_sources_title" msgid="5493678510117489865">"باز کردن قفل دستگاه"</string> - <string name="biometrics_title_for_work" msgid="1842284049407771568">"گزینههای زیستسنجشی ویژه کار"</string> + <string name="biometrics_title_for_work" msgid="1842284049407771568">"دادههای زیستسنجشی برای کار"</string> <string name="privacy_sources_summary" msgid="4083646673569677049">"اجازهها، داشبورد، کنترلها"</string> <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> <string name="health_connect_search_terms" msgid="4998970586245680829">"سلامت، Health Connect"</string> diff --git a/SafetyCenter/Resources/res/values-fa-v35/strings.xml b/SafetyCenter/Resources/res/values-fa-v35/strings.xml index a3eb194ee..878c10bb4 100644 --- a/SafetyCenter/Resources/res/values-fa-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-fa-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"امنیت شبکه تلفن همراه"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"نوع شبکه، رمزگذاری، کنترلهای اعلان"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"حریم خصوصی"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"تنظیمات حریم خصوصی"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"اجازهها، کنترلها"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"فضای خصوصی"</string> <string name="private_space_summary" msgid="529869826714610294">"راهاندازی «فضای خصوصی»، و موارد دیگر"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"فضای خصوصی"</string> diff --git a/SafetyCenter/Resources/res/values-fa/strings.xml b/SafetyCenter/Resources/res/values-fa/strings.xml index 41a3121ea..bdf2063f1 100644 --- a/SafetyCenter/Resources/res/values-fa/strings.xml +++ b/SafetyCenter/Resources/res/values-fa/strings.xml @@ -23,7 +23,7 @@ <string name="lock_screen_title" msgid="4069104894527169877">"قفل صفحه"</string> <string name="lock_screen_summary_disabled" msgid="354071230916616692">"هنوز اطلاعاتی دردسترس نیست"</string> <string name="lock_screen_search_terms" msgid="2678486357779794826">"قفل دستگاه، قفل صفحه، صفحه قفل، صفحهقفل، گذرواژه، پین، الگو"</string> - <string name="biometrics_title" msgid="5859504610285212938">"زیستسنجشی"</string> + <string name="biometrics_title" msgid="5859504610285212938">"دادههای زیستسنجشی"</string> <string name="biometrics_search_terms" msgid="6040319118762671981">"اثر انگشت، انگشت، افزودن اثر انگشت، قفلگشایی با چهره، چهره"</string> <string name="privacy_sources_title" msgid="4061110826457365957">"حریم خصوصی"</string> <string name="privacy_sources_summary" msgid="4089719981155120864">"داشبورد، اجازهها، کنترلها"</string> @@ -37,7 +37,7 @@ <string name="privacy_controls_summary" msgid="2402066941190435424">"کنترل دسترسی دستگاه به میکروفون، دوربین، و غیره"</string> <string name="privacy_controls_search_terms" msgid="3774472175934304165">"حریم خصوصی، تنظیمات حریم خصوصی"</string> <string name="advanced_title" msgid="8745436380690561172">"تنظیمات بیشتر"</string> - <string name="advanced_security_title" msgid="1126833338772188155">"تنظیمات امنیتی بیشتر"</string> + <string name="advanced_security_title" msgid="1126833338772188155">"تنظیمات ایمنی بیشتر"</string> <string name="advanced_security_summary" msgid="6172253327022425123">"رمزگذاری، اطلاعات اعتباری، و غیره"</string> <string name="advanced_security_search_terms" msgid="3350609555814362075"></string> <string name="advanced_privacy_title" msgid="1117725225706176643">"تنظیمات حریم خصوصی بیشتر"</string> diff --git a/SafetyCenter/Resources/res/values-fi-v34/strings.xml b/SafetyCenter/Resources/res/values-fi-v34/strings.xml index 3b0f8300b..20d88f01a 100644 --- a/SafetyCenter/Resources/res/values-fi-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-fi-v34/strings.xml @@ -25,7 +25,7 @@ <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Sijaintidatan jakamisen päivitykset"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"Data, datan jakaminen, datan jakamisen päivitykset, sijaintidatan jakamisen päivitykset, jakaminen"</string> <string name="advanced_title" msgid="6259362998269627310">"Muut asetukset"</string> - <string name="more_settings_title" msgid="9033454654010697185">"Lisää tietoturva‑ ja yksityisyysasetuksia"</string> + <string name="more_settings_title" msgid="9033454654010697185">"Lisää suojaus‑ ja yksityisyysasetuksia"</string> <string name="more_settings_summary" msgid="7086620830002515710">"Automaattinen täyttö, ilmoitukset ja muuta"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"Työkäytäntötietosi"</string> diff --git a/SafetyCenter/Resources/res/values-fi-v35/strings.xml b/SafetyCenter/Resources/res/values-fi-v35/strings.xml index c80c17207..59df61f40 100644 --- a/SafetyCenter/Resources/res/values-fi-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-fi-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobiiliverkon tietoturva"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Verkon tyyppi, salaus, ilmoitusvalinnat"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Yksityisyys"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Yksityisyysasetukset"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Luvat, asetukset"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Yksityinen tila"</string> <string name="private_space_summary" msgid="529869826714610294">"Ota esimerkiksi yksityinen tila käyttöön"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Yksityinen tila"</string> diff --git a/SafetyCenter/Resources/res/values-fi/strings.xml b/SafetyCenter/Resources/res/values-fi/strings.xml index de46fb233..5d234cd05 100644 --- a/SafetyCenter/Resources/res/values-fi/strings.xml +++ b/SafetyCenter/Resources/res/values-fi/strings.xml @@ -30,7 +30,7 @@ <string name="permission_usage_title" msgid="3633779688945350407">"Yksityisyydenhallintapaneeli"</string> <string name="permission_usage_summary" msgid="5323079206029964468">"Näytä, mitkä sovellukset ovat käyttäneet lupia äskettäin"</string> <string name="permission_usage_search_terms" msgid="3852343592870257104">"Yksityisyys, yksityisyydenhallintapaneeli"</string> - <string name="permission_manager_title" msgid="5277347862821255015">"Lupien ylläpito"</string> + <string name="permission_manager_title" msgid="5277347862821255015">"Lupienhallinta"</string> <string name="permission_manager_summary" msgid="8099852107340970790">"Päätä sovelluksen pääsystä dataasi"</string> <string name="permission_manager_search_terms" msgid="2895147613099694722">"Luvat, lupien hallinta"</string> <string name="privacy_controls_title" msgid="5322875777945432395">"Yksityisyysasetukset"</string> @@ -41,6 +41,6 @@ <string name="advanced_security_summary" msgid="6172253327022425123">"Salaus, kirjautumistiedot ja muuta"</string> <string name="advanced_security_search_terms" msgid="3350609555814362075"></string> <string name="advanced_privacy_title" msgid="1117725225706176643">"Lisää yksityisyysasetuksia"</string> - <string name="advanced_privacy_summary" msgid="2281203390575069543">"Automaattinen täyttö, toimintojen hallinta ja muuta"</string> + <string name="advanced_privacy_summary" msgid="2281203390575069543">"Automaattinen täyttö, toiminnan hallinta ja muuta"</string> <string name="advanced_privacy_search_terms" msgid="5044404599789175222"></string> </resources> diff --git a/SafetyCenter/Resources/res/values-fr-rCA-v35/strings.xml b/SafetyCenter/Resources/res/values-fr-rCA-v35/strings.xml index 06d909df8..a27b04ad9 100644 --- a/SafetyCenter/Resources/res/values-fr-rCA-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-fr-rCA-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sécurité du réseau cellulaire"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Contrôles du type de réseau, du chiffrement et des notifications"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Confidentialité"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Paramètres de confidentialité"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Autorisations, commandes"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espace privé"</string> <string name="private_space_summary" msgid="529869826714610294">"Configuration de l\'espace privé, et plus"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espace privé"</string> diff --git a/SafetyCenter/Resources/res/values-fr-v35/strings.xml b/SafetyCenter/Resources/res/values-fr-v35/strings.xml index a1ba13767..b9af6233c 100644 --- a/SafetyCenter/Resources/res/values-fr-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-fr-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sécurité des réseaux mobiles"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Type de réseau, chiffrement, paramètres de notifications"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Confidentialité"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Paramètres de confidentialité"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Autorisations et commandes"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espace privé"</string> <string name="private_space_summary" msgid="529869826714610294">"Configurez votre espace privé et bien plus"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espace privé"</string> diff --git a/SafetyCenter/Resources/res/values-gl-v35/strings.xml b/SafetyCenter/Resources/res/values-gl-v35/strings.xml index 52586da18..4064cbb58 100644 --- a/SafetyCenter/Resources/res/values-gl-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-gl-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Seguranza da rede de telefonía móbil"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de rede, encriptación, controis de notificacións"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidade"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controis de privacidade"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permisos, controis"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espazo privado"</string> <string name="private_space_summary" msgid="529869826714610294">"Configura o espazo privado e moito máis"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espazo privado"</string> diff --git a/SafetyCenter/Resources/res/values-gu-v35/strings.xml b/SafetyCenter/Resources/res/values-gu-v35/strings.xml index 23dfe440a..09246930e 100644 --- a/SafetyCenter/Resources/res/values-gu-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-gu-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"સેલ્યુલર નેટવર્ક સંબંધી સુરક્ષા"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"નેટવર્કનો પ્રકાર, એન્ક્રિપ્શન, નોટિફિકેશનના નિયંત્રણો"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"પ્રાઇવસી"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"પ્રાઇવસીને લગતા નિયંત્રણો"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"પરવાનગીઓ, નિયંત્રણો"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ખાનગી સ્પેસ"</string> <string name="private_space_summary" msgid="529869826714610294">"ખાનગી સ્પેસનું સેટઅપ કરો અને બીજું ઘણું કરો"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ખાનગી સ્પેસ"</string> diff --git a/SafetyCenter/Resources/res/values-hi-v34/strings.xml b/SafetyCenter/Resources/res/values-hi-v34/strings.xml index 3a941dc97..c608d0f9e 100644 --- a/SafetyCenter/Resources/res/values-hi-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-hi-v34/strings.xml @@ -26,7 +26,7 @@ <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"डेटा, डेटा शेयर करना, डेटा शेयर करने के अपडेट, जगह की जानकारी शेयर करने के बारे में अपडेट, शेयर करना"</string> <string name="advanced_title" msgid="6259362998269627310">"बेहतर सेटिंग"</string> <string name="more_settings_title" msgid="9033454654010697185">"सुरक्षा और निजता की ज़्यादा सेटिंग"</string> - <string name="more_settings_summary" msgid="7086620830002515710">"ऑटोमैटिक भरना, सूचनाएं वगैरह"</string> + <string name="more_settings_summary" msgid="7086620830002515710">"जानकारी अपने-आप भरने की सुविधा, सूचनाएं वगैरह"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"आपके ऑफ़िस की नीति के बारे में जानकारी"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-hi-v35/strings.xml b/SafetyCenter/Resources/res/values-hi-v35/strings.xml index ca4b78965..bf822f271 100644 --- a/SafetyCenter/Resources/res/values-hi-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-hi-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"मोबाइल नेटवर्क की सुरक्षा"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"नेटवर्क टाइप, एन्क्रिप्ट करने का तरीका, सूचनाएं कंट्रोल करने की सेटिंग"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"निजता"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"निजता सेटिंग"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"अनुमतियां, कंट्रोल"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"प्राइवेट स्पेस"</string> <string name="private_space_summary" msgid="529869826714610294">"प्राइवेट स्पेस सेटअप करें और अन्य काम करें"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"प्राइवेट स्पेस"</string> diff --git a/SafetyCenter/Resources/res/values-hr-v35/strings.xml b/SafetyCenter/Resources/res/values-hr-v35/strings.xml index 024be31b1..1609a1fc2 100644 --- a/SafetyCenter/Resources/res/values-hr-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-hr-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sigurnost mobilne mreže"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Vrsta mreže, šifriranje, kontrole obavijesti"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatnost"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kontrole privatnosti"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Dopuštenja, kontrole"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privatni prostor"</string> <string name="private_space_summary" msgid="529869826714610294">"Postavljanje privatnog prostora i drugo"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privatni prostor"</string> diff --git a/SafetyCenter/Resources/res/values-hu-v35/strings.xml b/SafetyCenter/Resources/res/values-hu-v35/strings.xml index 0fe083899..b4b92c81b 100644 --- a/SafetyCenter/Resources/res/values-hu-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-hu-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobilhálózat biztonsága"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Hálózattípus, titkosítás, értesítésvezérlők"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Adatvédelem"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Adatvédelmi beállítások"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Engedélyek, vezérlők"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privát terület"</string> <string name="private_space_summary" msgid="529869826714610294">"Privát terület beállítása és egyebek"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privát terület"</string> diff --git a/SafetyCenter/Resources/res/values-hy-v35/strings.xml b/SafetyCenter/Resources/res/values-hy-v35/strings.xml index 54487ffa8..dd5c9e01b 100644 --- a/SafetyCenter/Resources/res/values-hy-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-hy-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Բջջային ցանցի անվտանգություն"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Ցանցի տեսակը, գաղտնագրում, ծանուցումների կառավարում"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Գաղտնիություն"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Գաղտնիության կարգավորումներ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Թույլտվություններ, կարգավորումներ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Անձնական տարածք"</string> - <string name="private_space_summary" msgid="529869826714610294">"Կարգավորեք անձնական տարածքը և ավելին"</string> + <string name="private_space_summary" msgid="529869826714610294">"Կարգավորեք մասնավոր տարածքը և ավելին"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Անձնական տարածք"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-in-v34/strings.xml b/SafetyCenter/Resources/res/values-in-v34/strings.xml index 9d375e022..37061ad80 100644 --- a/SafetyCenter/Resources/res/values-in-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-in-v34/strings.xml @@ -22,11 +22,11 @@ <string name="privacy_sources_summary" msgid="4083646673569677049">"Izin, dasbor, kontrol"</string> <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> <string name="health_connect_search_terms" msgid="4998970586245680829">"Health, Health Connect"</string> - <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Pembaruan berbagi data untuk lokasi"</string> + <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Pembaruan berbagi data lokasi"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"Data, Berbagi data, Pembaruan berbagi data, Pembaruan berbagi data untuk lokasi, berbagi"</string> - <string name="advanced_title" msgid="6259362998269627310">"Setelan lainnya"</string> - <string name="more_settings_title" msgid="9033454654010697185">"Keamanan & privasi lainnya"</string> - <string name="more_settings_summary" msgid="7086620830002515710">"Isi otomatis, notifikasi, dan lainnya"</string> + <string name="advanced_title" msgid="6259362998269627310">"Setelan lain"</string> + <string name="more_settings_title" msgid="9033454654010697185">"Keamanan & privasi lain"</string> + <string name="more_settings_summary" msgid="7086620830002515710">"Isi otomatis, notifikasi, dan lain-lain"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"Info kebijakan profil kerja Anda"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-in-v35/strings.xml b/SafetyCenter/Resources/res/values-in-v35/strings.xml index 2e2554992..fdbb8d8f9 100644 --- a/SafetyCenter/Resources/res/values-in-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-in-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"Ruang Pribadi"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Keamanan jaringan seluler"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Jenis jaringan, enkripsi, kontrol notifikasi"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privasi"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kontrol privasi"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Izin, kontrol"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"Ruang Privasi"</string> <string name="private_space_summary" msgid="529869826714610294">"Menyiapkan Ruang Pribadi, dan lainnya"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"Ruang Pribadi"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"Ruang Privasi"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-is-v35/strings.xml b/SafetyCenter/Resources/res/values-is-v35/strings.xml index d74f29e63..1850194a0 100644 --- a/SafetyCenter/Resources/res/values-is-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-is-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Öryggi farsímakerfis"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tegund netkerfis, dulkóðun, tilkynningastýringar"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Persónuvernd"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Persónuverndarstillingar"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Heimildir, stýringar"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Einkarými"</string> - <string name="private_space_summary" msgid="529869826714610294">"Setja upp einkarými og fleira"</string> + <string name="private_space_summary" msgid="529869826714610294">"Setja upp leynirými og fleira"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Einkarými"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-it-v35/strings.xml b/SafetyCenter/Resources/res/values-it-v35/strings.xml index 26df4d265..693118f31 100644 --- a/SafetyCenter/Resources/res/values-it-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-it-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sicurezza rete mobile"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo di rete, crittografia, controlli di notifica"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controlli per la privacy"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Autorizzazioni, controlli"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Spazio privato"</string> <string name="private_space_summary" msgid="529869826714610294">"Configura lo Spazio privato e altro ancora"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Spazio privato"</string> diff --git a/SafetyCenter/Resources/res/values-iw-v35/strings.xml b/SafetyCenter/Resources/res/values-iw-v35/strings.xml index edb3e2862..d3c8e9905 100644 --- a/SafetyCenter/Resources/res/values-iw-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-iw-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"אבטחת הרשת הסלולרית"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"סוג הרשת, הצפנה, אמצעי בקרה של התראות"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"פרטיות"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"אמצעי בקרה על פרטיות"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"הרשאות, אמצעי בקרה"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"מרחב פרטי"</string> <string name="private_space_summary" msgid="529869826714610294">"הגדרת מרחב פרטי ועוד"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"מרחב פרטי"</string> diff --git a/SafetyCenter/Resources/res/values-ja-v35/strings.xml b/SafetyCenter/Resources/res/values-ja-v35/strings.xml index 4bd389ee3..c95db2cac 100644 --- a/SafetyCenter/Resources/res/values-ja-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ja-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"モバイル ネットワークのセキュリティ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ネットワークの種類、暗号化、通知の管理"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"プライバシー"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"プライバシー管理"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"権限、管理"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"プライベート スペース"</string> <string name="private_space_summary" msgid="529869826714610294">"プライベート スペースの設定、その他"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"プライベート スペース"</string> diff --git a/SafetyCenter/Resources/res/values-ja/strings.xml b/SafetyCenter/Resources/res/values-ja/strings.xml index 6e67998f4..b31b1690a 100644 --- a/SafetyCenter/Resources/res/values-ja/strings.xml +++ b/SafetyCenter/Resources/res/values-ja/strings.xml @@ -30,9 +30,9 @@ <string name="permission_usage_title" msgid="3633779688945350407">"プライバシー ダッシュボード"</string> <string name="permission_usage_summary" msgid="5323079206029964468">"権限を最近使用したアプリが表示されます"</string> <string name="permission_usage_search_terms" msgid="3852343592870257104">"プライバシー, プライバシー ダッシュボード"</string> - <string name="permission_manager_title" msgid="5277347862821255015">"権限マネージャー"</string> + <string name="permission_manager_title" msgid="5277347862821255015">"権限マネージャ"</string> <string name="permission_manager_summary" msgid="8099852107340970790">"アプリのデータアクセスを管理します"</string> - <string name="permission_manager_search_terms" msgid="2895147613099694722">"権限, 権限マネージャー"</string> + <string name="permission_manager_search_terms" msgid="2895147613099694722">"権限, 権限マネージャ"</string> <string name="privacy_controls_title" msgid="5322875777945432395">"プライバシー管理"</string> <string name="privacy_controls_summary" msgid="2402066941190435424">"マイク、カメラなどへのデバイス アクセスを管理します"</string> <string name="privacy_controls_search_terms" msgid="3774472175934304165">"プライバシー, プライバシー管理"</string> diff --git a/SafetyCenter/Resources/res/values-ka-v35/strings.xml b/SafetyCenter/Resources/res/values-ka-v35/strings.xml index 480f7e83c..d5a444deb 100644 --- a/SafetyCenter/Resources/res/values-ka-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ka-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ფიჭური ქსელის უსაფრთხოება"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ქსელის ტიპი, დაშიფვრა, შეტყობინებების მართვის საშუალებები"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"კონფიდენციალურობა"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"კონფიდენციალურობის მართვის პარამეტრები"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ნებართვები, მართვის საშუალებები"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"პირადი სივრცე"</string> <string name="private_space_summary" msgid="529869826714610294">"დააყენეთ პირადი სივრცე და ა.შ."</string> <string name="private_space_search_terms" msgid="4820808478299116258">"პირადი სივრცე"</string> diff --git a/SafetyCenter/Resources/res/values-kk-v34/strings.xml b/SafetyCenter/Resources/res/values-kk-v34/strings.xml index 1efaa3f6b..362a4f700 100644 --- a/SafetyCenter/Resources/res/values-kk-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-kk-v34/strings.xml @@ -18,7 +18,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="lock_screen_sources_title" msgid="5493678510117489865">"Құрылғының құлпын ашу"</string> - <string name="biometrics_title_for_work" msgid="1842284049407771568">"Жұмыс қолданбаларына арналған биометрика"</string> + <string name="biometrics_title_for_work" msgid="1842284049407771568">"Жұмыс қолданбаларына арналған биометрия"</string> <string name="privacy_sources_summary" msgid="4083646673569677049">"Рұқсаттар, бақылау тақтасы, басқару элементтері"</string> <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> <string name="health_connect_search_terms" msgid="4998970586245680829">"Денсаулық, Health Connect"</string> diff --git a/SafetyCenter/Resources/res/values-kk-v35/strings.xml b/SafetyCenter/Resources/res/values-kk-v35/strings.xml index f01ade9b8..bf518eb5c 100644 --- a/SafetyCenter/Resources/res/values-kk-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-kk-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Ұялы желі қауіпсіздігі"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Желі түрі, шифрлауды, хабарландыруды басқару элементтері"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Құпиялық"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Құпиялық параметрлері"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Рұқсаттар, басқару элементтері"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Жеке бөлме"</string> <string name="private_space_summary" msgid="529869826714610294">"Жеке бөлмені реттеу және т.б."</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Жеке бөлме"</string> diff --git a/SafetyCenter/Resources/res/values-km-v35/strings.xml b/SafetyCenter/Resources/res/values-km-v35/strings.xml index 094bcb095..35112e348 100644 --- a/SafetyCenter/Resources/res/values-km-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-km-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"សុវត្ថិភាពបណ្ដាញចល័ត"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ប្រភេទបណ្ដាញ ការអ៊ីនគ្រីប ការគ្រប់គ្រងការជូនដំណឹង"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ឯកជនភាព"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ការគ្រប់គ្រងឯកជនភាព"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ការអនុញ្ញាត ការគ្រប់គ្រង"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"បន្ទប់ឯកជន"</string> <string name="private_space_summary" msgid="529869826714610294">"រៀបចំបន្ទប់ឯកជន និងធ្វើអ្វីៗជាច្រើនទៀត"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"បន្ទប់ឯកជន"</string> diff --git a/SafetyCenter/Resources/res/values-kn-v35/strings.xml b/SafetyCenter/Resources/res/values-kn-v35/strings.xml index 5260029a7..339e522d9 100644 --- a/SafetyCenter/Resources/res/values-kn-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-kn-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್ವರ್ಕ್ ಭದ್ರತೆ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ನೆಟ್ವರ್ಕ್ ಪ್ರಕಾರ, ಎನ್ಕ್ರಿಪ್ಶನ್, ನೋಟಿಫಿಕೇಶನ್ ಕಂಟ್ರೋಲ್ಗಳು"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ಗೌಪ್ಯತೆ"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ಗೌಪ್ಯತೆ ನಿಯಂತ್ರಣಗಳು"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ಅನುಮತಿಗಳು, ನಿಯಂತ್ರಣಗಳು"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string> <string name="private_space_summary" msgid="529869826714610294">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ ಹಾಗೂ ಇನ್ನಷ್ಟನ್ನು ಮಾಡಿ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string> diff --git a/SafetyCenter/Resources/res/values-ko-v35/strings.xml b/SafetyCenter/Resources/res/values-ko-v35/strings.xml index 56fedb178..af2d8bcc6 100644 --- a/SafetyCenter/Resources/res/values-ko-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ko-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"셀룰러 네트워크 보안"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"네트워크 유형, 암호화, 알림 설정"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"개인 정보 보호"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"개인 정보 보호 설정"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"권한, 제어"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"비공개 스페이스"</string> <string name="private_space_summary" msgid="529869826714610294">"비공개 스페이스 설정 등"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"비공개 스페이스"</string> diff --git a/SafetyCenter/Resources/res/values-ky-v35/strings.xml b/SafetyCenter/Resources/res/values-ky-v35/strings.xml index 307c3a532..201099148 100644 --- a/SafetyCenter/Resources/res/values-ky-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ky-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"Жеке чөйрө"</string> - <string name="private_space_summary" msgid="529869826714610294">"Жеке чөйрөнү тууралоо жана башка нерселер"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"Жеке чөйрө"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Мобилдик тармактын коопсуздугу"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тармактын түрү, шифрлөө, билдирмелерди башкаруу элементтери"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Купуялык"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Купуялыкты көзөмөлдөө каражаттары"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Уруксаттар, башкаруу элементтери"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"Жеке мейкиндик"</string> + <string name="private_space_summary" msgid="529869826714610294">"Жеке мейкиндикти тууралоо жана башка нерселер"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"Жеке мейкиндик"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-ky/strings.xml b/SafetyCenter/Resources/res/values-ky/strings.xml index ca605b018..a862dac0d 100644 --- a/SafetyCenter/Resources/res/values-ky/strings.xml +++ b/SafetyCenter/Resources/res/values-ky/strings.xml @@ -31,7 +31,7 @@ <string name="permission_usage_summary" msgid="5323079206029964468">"Уруксаттарды жакында кайсы колдонмолор колдонгонун көрө аласыз"</string> <string name="permission_usage_search_terms" msgid="3852343592870257104">"Купуялык, Купуялык тактасы"</string> <string name="permission_manager_title" msgid="5277347862821255015">"Уруксаттарды башкаргыч"</string> - <string name="permission_manager_summary" msgid="8099852107340970790">"Колдонмолорго маалыматыңыздын жеткиликтүүлүгүн көзөмөлдөйсүз"</string> + <string name="permission_manager_summary" msgid="8099852107340970790">"Колдонмолорго маалыматтарыңызды жеткиликтүү кыласыз"</string> <string name="permission_manager_search_terms" msgid="2895147613099694722">"Уруксаттар, Уруксаттарды башкаргыч"</string> <string name="privacy_controls_title" msgid="5322875777945432395">"Купуялыкты көзөмөлдөө каражаттары"</string> <string name="privacy_controls_summary" msgid="2402066941190435424">"Түзмөктүн микрофонду, камераны жана башкаларды колдонуу мүмкүнчүлүгүн көзөмөлдөө"</string> diff --git a/SafetyCenter/Resources/res/values-lo-v35/strings.xml b/SafetyCenter/Resources/res/values-lo-v35/strings.xml index 381410da3..606339144 100644 --- a/SafetyCenter/Resources/res/values-lo-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-lo-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ຄວາມປອດໄພຂອງເຄືອຂ່າຍມືຖື"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ປະເພດເຄືອຂ່າຍ, ການເຂົ້າລະຫັດ, ການຄວບຄຸມການແຈ້ງເຕືອນ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ຄວາມເປັນສ່ວນຕົວ"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ການຄວບຄຸມຄວາມເປັນສ່ວນຕົວ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ການອະນຸຍາດ, ການຄວບຄຸມ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ພື້ນທີ່ສ່ວນຕົວ"</string> <string name="private_space_summary" msgid="529869826714610294">"ຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ ແລະ ອື່ນໆ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ພື້ນທີ່ສ່ວນຕົວ"</string> diff --git a/SafetyCenter/Resources/res/values-lt-v35/strings.xml b/SafetyCenter/Resources/res/values-lt-v35/strings.xml index b18eda435..03360bfd5 100644 --- a/SafetyCenter/Resources/res/values-lt-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-lt-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobiliojo ryšio tinklo sauga"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tinklo tipas, šifruotė, pranešimų valdikliai"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatumas"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privatumo valdikliai"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Leidimai, valdikliai"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privati erdvė"</string> <string name="private_space_summary" msgid="529869826714610294">"Nustatykite privačią erdvę ir atlikite kitų veiksmų"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privati erdvė"</string> diff --git a/SafetyCenter/Resources/res/values-lv-v35/strings.xml b/SafetyCenter/Resources/res/values-lv-v35/strings.xml index ffb1a7f4b..f26fcccc3 100644 --- a/SafetyCenter/Resources/res/values-lv-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-lv-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobilā tīkla drošība"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tīkla veids, šifrējums, paziņojumu vadīklas"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Konfidencialitāte"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Konfidencialitātes vadīklas"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Atļaujas, vadīklas"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privātā mape"</string> <string name="private_space_summary" msgid="529869826714610294">"Privātās mapes iestatīšana un citas iespējas"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privātā mape"</string> diff --git a/SafetyCenter/Resources/res/values-mk-v35/strings.xml b/SafetyCenter/Resources/res/values-mk-v35/strings.xml index 879a67555..c4fc4bd17 100644 --- a/SafetyCenter/Resources/res/values-mk-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-mk-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Безбедност на мобилната мрежа"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тип мрежа, шифрирање, контроли за известувања"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Приватност"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Контроли на приватноста"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Дозволи, контроли"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Приватен простор"</string> <string name="private_space_summary" msgid="529869826714610294">"Поставување „Приватен простор“ и друго"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Приватен простор"</string> diff --git a/SafetyCenter/Resources/res/values-ml-v35/strings.xml b/SafetyCenter/Resources/res/values-ml-v35/strings.xml index c6e728c4f..a91c131a2 100644 --- a/SafetyCenter/Resources/res/values-ml-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ml-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"സെല്ലുലാർ നെറ്റ്വർക്ക് സുരക്ഷ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"നെറ്റ്വർക്ക് തരം, എൻക്രിപ്ഷൻ, അറിയിപ്പ് നിയന്ത്രണങ്ങൾ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"സ്വകാര്യത"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"സ്വകാര്യതാ നിയന്ത്രണങ്ങൾ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"അനുമതികൾ, നിയന്ത്രണങ്ങൾ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"സ്വകാര്യ Space"</string> <string name="private_space_summary" msgid="529869826714610294">"സ്വകാര്യ Space സജ്ജീകരിക്കുകയും മറ്റും ചെയ്യൂ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"സ്വകാര്യ Space"</string> diff --git a/SafetyCenter/Resources/res/values-mn-v35/strings.xml b/SafetyCenter/Resources/res/values-mn-v35/strings.xml index 290462d37..20ef5b3ad 100644 --- a/SafetyCenter/Resources/res/values-mn-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-mn-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Үүрэн холбооны сүлжээний аюулгүй байдал"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Сүлжээний төрөл, шифрлэлт, мэдэгдлийн тохиргоо"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Нууцлал"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Нууцлалын тохиргоо"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Зөвшөөрөл, тохиргоо"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Хувийн орон зай"</string> <string name="private_space_summary" msgid="529869826714610294">"Хувийн орон зай тохируулах болон илүү ихийг хийх"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Хувийн орон зай"</string> diff --git a/SafetyCenter/Resources/res/values-mr-v34/strings.xml b/SafetyCenter/Resources/res/values-mr-v34/strings.xml index f2d620adc..cf257c396 100644 --- a/SafetyCenter/Resources/res/values-mr-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-mr-v34/strings.xml @@ -26,7 +26,7 @@ <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"डेटा, डेटा शेअरिंग, डेटा शेअरिंगसंबंधित अपडेट, स्थानासाठी डेटा शेअरिंगसंबंधित अपडेट, शेअरिंग"</string> <string name="advanced_title" msgid="6259362998269627310">"इतर सेटिंग्ज"</string> <string name="more_settings_title" msgid="9033454654010697185">"आणखी सुरक्षा आणि गोपनीयता"</string> - <string name="more_settings_summary" msgid="7086620830002515710">"ऑटोफिल, सूचना आणि आणखी बरेच काही"</string> + <string name="more_settings_summary" msgid="7086620830002515710">"ऑटोफिल, नोटिफिकेशन आणि आणखी बरेच काही"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"तुमच्या कामासंबंधित धोरणाची माहिती"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-mr-v35/strings.xml b/SafetyCenter/Resources/res/values-mr-v35/strings.xml index 0ec596e1c..c3c1c1df1 100644 --- a/SafetyCenter/Resources/res/values-mr-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-mr-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"मोबाइल नेटवर्कची सुरक्षा"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"नेटवर्क प्रकार, एन्क्रिप्शन, सूचना नियंत्रणे"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"गोपनीयता"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"गोपनीयता नियंत्रणे"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"परवानग्या, नियंत्रणे"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"खाजगी स्पेस"</string> <string name="private_space_summary" msgid="529869826714610294">"खाजगी स्पेस आणि आणखी बरेच काही सेट करा"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"खाजगी स्पेस"</string> diff --git a/SafetyCenter/Resources/res/values-ms-v34/strings.xml b/SafetyCenter/Resources/res/values-ms-v34/strings.xml index 68102f138..fe204c5ec 100644 --- a/SafetyCenter/Resources/res/values-ms-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-ms-v34/strings.xml @@ -25,7 +25,7 @@ <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Kemaskinian perkongsian data untuk lokasi"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"Data, Perkongsian data, Kemaskinian perkongsian data, Kemaskinian perkongsian data untuk lokasi, perkongsian"</string> <string name="advanced_title" msgid="6259362998269627310">"Tetapan lain"</string> - <string name="more_settings_title" msgid="9033454654010697185">"Lagi sekuriti & privasi"</string> + <string name="more_settings_title" msgid="9033454654010697185">"Lagi keselamatan & privasi"</string> <string name="more_settings_summary" msgid="7086620830002515710">"Autolengkap, pemberitahuan dan banyak lagi"</string> <string name="more_settings_search_terms" msgid="1371913937610933955"></string> <string name="work_policy_title" msgid="915692932391542104">"Maklumat dasar kerja anda"</string> diff --git a/SafetyCenter/Resources/res/values-ms-v35/strings.xml b/SafetyCenter/Resources/res/values-ms-v35/strings.xml index b0694a876..202f7b4e2 100644 --- a/SafetyCenter/Resources/res/values-ms-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ms-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Keselamatan rangkaian selular"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Jenis rangkaian, penyulitan, kawalan pemberitahuan"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privasi"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kawalan privasi"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Kebenaran, kawalan"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Ruang Peribadi"</string> <string name="private_space_summary" msgid="529869826714610294">"Sediakan Ruang Peribadi dan pelbagai lagi"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Ruang Peribadi"</string> diff --git a/SafetyCenter/Resources/res/values-my-v35/strings.xml b/SafetyCenter/Resources/res/values-my-v35/strings.xml index 4141dd6ac..7478848dd 100644 --- a/SafetyCenter/Resources/res/values-my-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-my-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"သီးသန့်ချတ်ခန်း"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ဆယ်လူလာကွန်ရက် လုံခြုံရေး"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ကွန်ရက်အမျိုးအစား၊ အသွင်ဝှက်ခြင်း၊ အကြောင်းကြားချက် သတ်မှတ်ချက်များ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ဆက်တင်များ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ခွင့်ပြုချက်များ၊ သတ်မှတ်ချက်များ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"သီးသန့်နေရာ"</string> <string name="private_space_summary" msgid="529869826714610294">"သီးသန့်ချတ်ခန်း စသည်တို့ကို စနစ်ထည့်သွင်းသည်"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"သီးသန့်ချတ်ခန်း"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"သီးသန့်နေရာ"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-my/strings.xml b/SafetyCenter/Resources/res/values-my/strings.xml index d0d895ddb..6b5f682fc 100644 --- a/SafetyCenter/Resources/res/values-my/strings.xml +++ b/SafetyCenter/Resources/res/values-my/strings.xml @@ -28,12 +28,12 @@ <string name="privacy_sources_title" msgid="4061110826457365957">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု"</string> <string name="privacy_sources_summary" msgid="4089719981155120864">"ဒက်ရှ်ဘုတ်၊ ခွင့်ပြုချက်များ၊ သတ်မှတ်ချက်များ"</string> <string name="permission_usage_title" msgid="3633779688945350407">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ဒက်ရှ်ဘုတ်"</string> - <string name="permission_usage_summary" msgid="5323079206029964468">"ခွင့်ပြုချက်များ မကြာသေးမီကသုံးထားသည့် အက်ပ်များကို ပြသည်"</string> + <string name="permission_usage_summary" msgid="5323079206029964468">"လတ်တလောတွင် ခွင့်ပြုချက်များ အသုံးပြုထားသည့် အက်ပ်များကို ပြသည်"</string> <string name="permission_usage_search_terms" msgid="3852343592870257104">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု၊ ကိုယ်ရေးအချက်အလက် လုံခြုံမှု ဒက်ရှ်ဘုတ်"</string> <string name="permission_manager_title" msgid="5277347862821255015">"ခွင့်ပြုချက် မန်နေဂျာ"</string> <string name="permission_manager_summary" msgid="8099852107340970790">"အက်ပ်၏ သင့်ဒေတာအသုံးပြုခွင့်ကို ထိန်းချုပ်သည်"</string> <string name="permission_manager_search_terms" msgid="2895147613099694722">"ခွင့်ပြုချက်များ၊ ခွင့်ပြုချက်မန်နေဂျာ"</string> - <string name="privacy_controls_title" msgid="5322875777945432395">"ကန့်သတ်ရန် ဆက်တင်များ"</string> + <string name="privacy_controls_title" msgid="5322875777945432395">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ဆက်တင်များ"</string> <string name="privacy_controls_summary" msgid="2402066941190435424">"မိုက်ခရိုဖုန်း၊ ကင်မရာ စသည်တို့ကို စက်ပစ္စည်းက ဝင်သုံးခွင့်အား ထိန်းချုပ်သည်"</string> <string name="privacy_controls_search_terms" msgid="3774472175934304165">"ကိုယ်ရေးအချက်အလက်လုံခြုံမှု၊ ကန့်သတ်ရန် ဆက်တင်များ"</string> <string name="advanced_title" msgid="8745436380690561172">"နောက်ထပ်ဆက်တင်များ"</string> diff --git a/SafetyCenter/Resources/res/values-nb-v35/strings.xml b/SafetyCenter/Resources/res/values-nb-v35/strings.xml index 5575b4d1f..2c38c6671 100644 --- a/SafetyCenter/Resources/res/values-nb-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-nb-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Sikkerhet for mobilnettverk"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Nettverkstype, kryptering, varselskontroller"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Personvern"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Personverninnstillinger"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Tillatelser, kontroller"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Private Space"</string> <string name="private_space_summary" msgid="529869826714610294">"Konfigurer Private Space med mer"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Private Space"</string> diff --git a/SafetyCenter/Resources/res/values-ne-v35/strings.xml b/SafetyCenter/Resources/res/values-ne-v35/strings.xml index 1d96a0c82..23b92803e 100644 --- a/SafetyCenter/Resources/res/values-ne-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ne-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"मोबाइल नेटवर्कको सुरक्षा"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"नेटवर्कको प्रकार, इन्क्रिप्सन, सूचनाका सेटिङ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"गोपनीयता"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"गोपनीयतासम्बन्धी सेटिङ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"अनुमति, सेटिङ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"निजी स्पेस"</string> <string name="private_space_summary" msgid="529869826714610294">"निजी स्पेस सेटअप गर्नुहोस् र अन्य कार्यहरू गर्नुहोस्"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"निजी स्पेस"</string> diff --git a/SafetyCenter/Resources/res/values-nl-v35/strings.xml b/SafetyCenter/Resources/res/values-nl-v35/strings.xml index dc927ade3..c0fa2f4c5 100644 --- a/SafetyCenter/Resources/res/values-nl-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-nl-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Beveiliging van mobiele netwerken"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Netwerktype, versleuteling, beheeropties voor meldingen"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Privacyopties"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Rechten, beheeropties"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privéruimte"</string> <string name="private_space_summary" msgid="529869826714610294">"Privéruimte instellen en meer"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privéruimte"</string> diff --git a/SafetyCenter/Resources/res/values-or-v35/strings.xml b/SafetyCenter/Resources/res/values-or-v35/strings.xml index 85c4fa73c..5023efd4d 100644 --- a/SafetyCenter/Resources/res/values-or-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-or-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ସେଲୁଲାର ନେଟୱାର୍କ ସୁରକ୍ଷା"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ନେଟୱାର୍କ ପ୍ରକାର, ଏନକ୍ରିପସନ, ବିଜ୍ଞପ୍ତି ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ଗୋପନୀୟତା"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ଗୋପନୀୟତା ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ଅନୁମତି, ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string> <string name="private_space_summary" msgid="529869826714610294">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଏବଂ ଆହୁରି ଅନେକ କିଛି ସେଟଅପ କରନ୍ତୁ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string> diff --git a/SafetyCenter/Resources/res/values-pa-v35/strings.xml b/SafetyCenter/Resources/res/values-pa-v35/strings.xml index f1e2dd714..9ea3ee068 100644 --- a/SafetyCenter/Resources/res/values-pa-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-pa-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ ਸੁਰੱਖਿਆ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ, ਇਨਕ੍ਰਿਪਸ਼ਨ, ਸੂਚਨਾ ਕੰਟਰੋਲ"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ਪਰਦੇਦਾਰੀ"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"ਪਰਦੇਦਾਰੀ ਕੰਟਰੋਲ"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"ਇਜਾਜ਼ਤਾਂ, ਕੰਟਰੋਲ"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ਨਿੱਜੀ ਸਪੇਸ"</string> <string name="private_space_summary" msgid="529869826714610294">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਅਤੇ ਹੋਰ ਕੰਮ ਕਰੋ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ਨਿੱਜੀ ਸਪੇਸ"</string> diff --git a/SafetyCenter/Resources/res/values-pl-v35/strings.xml b/SafetyCenter/Resources/res/values-pl-v35/strings.xml index 56c410a05..cc8be7dab 100644 --- a/SafetyCenter/Resources/res/values-pl-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-pl-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Zabezpieczenia sieci komórkowej"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Typ sieci, szyfrowanie, ustawienia powiadomień"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Prywatność"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Ustawienia prywatności"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Uprawnienia, opcje"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Obszar prywatny"</string> <string name="private_space_summary" msgid="529869826714610294">"Skonfiguruj obszar prywatny i inne ustawienia"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Obszar prywatny"</string> diff --git a/SafetyCenter/Resources/res/values-pt-rBR-v35/strings.xml b/SafetyCenter/Resources/res/values-pt-rBR-v35/strings.xml index ef0c3c738..ae08c109b 100644 --- a/SafetyCenter/Resources/res/values-pt-rBR-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-pt-rBR-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Segurança da rede celular"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de rede, criptografia, controles de notificação"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidade"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controles de privacidade"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissões, controles"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espaço particular"</string> <string name="private_space_summary" msgid="529869826714610294">"Configurar Espaço particular e mais"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espaço particular"</string> diff --git a/SafetyCenter/Resources/res/values-pt-rPT-v35/strings.xml b/SafetyCenter/Resources/res/values-pt-rPT-v35/strings.xml index 6e397ccf0..8666b15b2 100644 --- a/SafetyCenter/Resources/res/values-pt-rPT-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-pt-rPT-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Segurança da rede móvel"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de rede, encriptação, controlos de notificação"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidade"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controlos de privacidade"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Autorizações, controlos"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espaço privado"</string> <string name="private_space_summary" msgid="529869826714610294">"Configure o espaço privado e muito mais"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espaço privado"</string> diff --git a/SafetyCenter/Resources/res/values-pt-v35/strings.xml b/SafetyCenter/Resources/res/values-pt-v35/strings.xml index ef0c3c738..ae08c109b 100644 --- a/SafetyCenter/Resources/res/values-pt-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-pt-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Segurança da rede celular"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipo de rede, criptografia, controles de notificação"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacidade"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Controles de privacidade"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permissões, controles"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Espaço particular"</string> <string name="private_space_summary" msgid="529869826714610294">"Configurar Espaço particular e mais"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Espaço particular"</string> diff --git a/SafetyCenter/Resources/res/values-ro-v35/strings.xml b/SafetyCenter/Resources/res/values-ro-v35/strings.xml index 5884075bf..8b8e8bbfa 100644 --- a/SafetyCenter/Resources/res/values-ro-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ro-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Securitatea rețelei de date mobile"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tipul de rețea, criptarea, comenzile pentru notificări"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Confidențialitate"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Opțiuni de confidențialitate"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Permisiuni, comenzi"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Spațiu privat"</string> <string name="private_space_summary" msgid="529869826714610294">"Configurează Spațiul privat și altele"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Spațiu privat"</string> diff --git a/SafetyCenter/Resources/res/values-ru-v35/strings.xml b/SafetyCenter/Resources/res/values-ru-v35/strings.xml index 29a17d7a9..87f9e0572 100644 --- a/SafetyCenter/Resources/res/values-ru-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ru-v35/strings.xml @@ -17,7 +17,14 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="private_space_title" msgid="6158245041481535879">"Личное пространство"</string> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Безопасность мобильной сети"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тип сети, шифрование, управление уведомлениями"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Конфиденциальность"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Настройки конфиденциальности"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Разрешения и параметры"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> + <string name="private_space_title" msgid="6158245041481535879">"Частное пространство"</string> <string name="private_space_summary" msgid="529869826714610294">"Настройка личного пространства и не только"</string> - <string name="private_space_search_terms" msgid="4820808478299116258">"Личное пространство"</string> + <string name="private_space_search_terms" msgid="4820808478299116258">"Частное пространство"</string> </resources> diff --git a/SafetyCenter/Resources/res/values-si-v35/strings.xml b/SafetyCenter/Resources/res/values-si-v35/strings.xml index c3605e2a1..bcff52b2a 100644 --- a/SafetyCenter/Resources/res/values-si-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-si-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"සෙලියුලර් ජාල ආරක්ෂාව"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ජාල වර්ගය, සංකේතනය, දැනුම්දීම් පාලන"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"පෞද්ගලිකත්වය"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"පෞද්ගලිකත්ව පාලන"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"අවසර, පාලන"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"පෞද්ගලික ඉඩ"</string> <string name="private_space_summary" msgid="529869826714610294">"පෞද්ගලික ඉඩ, සහ තවත් දේ පිහිටුවන්න"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"පෞද්ගලික ඉඩ"</string> diff --git a/SafetyCenter/Resources/res/values-sk-v35/strings.xml b/SafetyCenter/Resources/res/values-sk-v35/strings.xml index bed329c6b..e95c443a6 100644 --- a/SafetyCenter/Resources/res/values-sk-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sk-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Zabezpečenie mobilnej siete"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Ovládanie typu siete, šifrovania a upozornení"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Ochrana súkromia"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Nastavenia ochrany súkromia"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Povolenia, ovládanie"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Súkromný priestor"</string> <string name="private_space_summary" msgid="529869826714610294">"Nastavte súkromný priestor a ďalšie možnosti"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Súkromný priestor"</string> diff --git a/SafetyCenter/Resources/res/values-sl-v35/strings.xml b/SafetyCenter/Resources/res/values-sl-v35/strings.xml index aa7a10258..588015c3a 100644 --- a/SafetyCenter/Resources/res/values-sl-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sl-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Varnost mobilnega omrežja"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Vrsta omrežja, šifriranje, kontrolniki obvestil"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Zasebnost"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Nastavitve zasebnosti"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Dovoljenja, nastavitve"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Zasebni prostor"</string> <string name="private_space_summary" msgid="529869826714610294">"Nastavitev zasebnega prostora in drugo"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Zasebni prostor"</string> diff --git a/SafetyCenter/Resources/res/values-sq-v35/strings.xml b/SafetyCenter/Resources/res/values-sq-v35/strings.xml index 63c642f89..cec6e3726 100644 --- a/SafetyCenter/Resources/res/values-sq-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sq-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Siguria e rrjetit celular"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Lloji i rrjetit, enkriptimi, kontrollet e njoftimeve"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privatësia"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Kontrollet e privatësisë"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Lejet, kontrollet"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Hapësira private"</string> <string name="private_space_summary" msgid="529869826714610294">"Konfiguro \"Hapësirën private\" dhe të tjera"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Hapësira private"</string> diff --git a/SafetyCenter/Resources/res/values-sr-v35/strings.xml b/SafetyCenter/Resources/res/values-sr-v35/strings.xml index b2349b10a..65b50b1ce 100644 --- a/SafetyCenter/Resources/res/values-sr-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sr-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Безбедност мобилне мреже"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тип мреже, шифровање, контроле обавештења"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Приватност"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Контроле приватности"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Дозволе, контроле"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Приватни простор"</string> <string name="private_space_summary" msgid="529869826714610294">"Подесите приватни простор и друго"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Приватни простор"</string> diff --git a/SafetyCenter/Resources/res/values-sr/strings.xml b/SafetyCenter/Resources/res/values-sr/strings.xml index 2cd42d24c..af0f51727 100644 --- a/SafetyCenter/Resources/res/values-sr/strings.xml +++ b/SafetyCenter/Resources/res/values-sr/strings.xml @@ -22,7 +22,7 @@ <string name="lock_screen_sources_summary" msgid="7220439741282516496"></string> <string name="lock_screen_title" msgid="4069104894527169877">"Откључавање екрана"</string> <string name="lock_screen_summary_disabled" msgid="354071230916616692">"Још нема информација"</string> - <string name="lock_screen_search_terms" msgid="2678486357779794826">"закључавање уређаја, закључавање екрана, закључани екран, лозинка, PIN, шаблон"</string> + <string name="lock_screen_search_terms" msgid="2678486357779794826">"закључавање уређаја, откључавање екрана, закључани екран, лозинка, PIN, шаблон"</string> <string name="biometrics_title" msgid="5859504610285212938">"Биометрија"</string> <string name="biometrics_search_terms" msgid="6040319118762671981">"отисак прста, прст, додај отисак прста, откључавање лицем, лице"</string> <string name="privacy_sources_title" msgid="4061110826457365957">"Приватност"</string> diff --git a/SafetyCenter/Resources/res/values-sv-v35/strings.xml b/SafetyCenter/Resources/res/values-sv-v35/strings.xml index 85e0e6a7d..77a6de01f 100644 --- a/SafetyCenter/Resources/res/values-sv-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sv-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Säkerhet för mobilnätverk"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Nätverkstyp, kryptering, aviseringsinställningar"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Integritet"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Integritetsinställningar"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Behörigheter, inställningar"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Privat rum"</string> <string name="private_space_summary" msgid="529869826714610294">"Ställ in privat rum med mera"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Privat rum"</string> diff --git a/SafetyCenter/Resources/res/values-sw-v35/strings.xml b/SafetyCenter/Resources/res/values-sw-v35/strings.xml index 9ef8839b5..dc5283636 100644 --- a/SafetyCenter/Resources/res/values-sw-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-sw-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Usalama wa mtandao wa simu"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Aina ya mtandao, usimbaji fiche, vidhibiti vya arifa"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Faragha"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Vidhibiti vya faragha"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Ruhusa, vidhibiti"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Nafasi ya Faragha"</string> <string name="private_space_summary" msgid="529869826714610294">"Weka mipangilio ya Nafasi ya Faragha na zaidi"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Nafasi ya Faragha"</string> diff --git a/SafetyCenter/Resources/res/values-ta-v35/strings.xml b/SafetyCenter/Resources/res/values-ta-v35/strings.xml index 73591d1b0..8eb41ce20 100644 --- a/SafetyCenter/Resources/res/values-ta-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ta-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"மொபைல் நெட்வொர்க் பாதுகாப்பு"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"நெட்வொர்க் வகை, என்க்ரிப்ஷன், அறிவிப்புக் கட்டுப்பாடுகள்"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"தனியுரிமை"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"தனியுரிமைக் கட்டுப்பாடுகள்"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"அனுமதிகள், கட்டுப்பாடுகள்"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"தனிப்பட்ட சேமிப்பிடம்"</string> <string name="private_space_summary" msgid="529869826714610294">"தனிப்பட்ட சேமிப்பிடத்தை அமைக்கலாம் மற்றும் பலவற்றைச் செய்யலாம்"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"தனிப்பட்ட சேமிப்பிடம்"</string> diff --git a/SafetyCenter/Resources/res/values-te-v35/strings.xml b/SafetyCenter/Resources/res/values-te-v35/strings.xml index ffccea816..fb4a0812a 100644 --- a/SafetyCenter/Resources/res/values-te-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-te-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"సెల్యులర్ నెట్వర్క్ సెక్యూరిటీ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"నెట్వర్క్ రకం, ఎన్క్రిప్షన్, నోటిఫికేషన్ కంట్రోల్స్"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"గోప్యత"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"గోప్యతా కంట్రోల్స్"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"అనుమతులు, కంట్రోల్స్"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"ప్రైవేట్ స్పేస్"</string> <string name="private_space_summary" msgid="529869826714610294">"ప్రైవేట్ స్పేస్ను సెటప్ చేయండి, మరెన్నింటినో చేయండి"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"ప్రైవేట్ స్పేస్"</string> diff --git a/SafetyCenter/Resources/res/values-th-v35/strings.xml b/SafetyCenter/Resources/res/values-th-v35/strings.xml index f16443413..193bb5497 100644 --- a/SafetyCenter/Resources/res/values-th-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-th-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"การรักษาความปลอดภัยของเครือข่ายมือถือ"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"ประเภทเครือข่าย การเข้ารหัส ส่วนควบคุมการแจ้งเตือน"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"ความเป็นส่วนตัว"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"การควบคุมความเป็นส่วนตัว"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"สิทธิ์ การควบคุม"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"พื้นที่ส่วนตัว"</string> <string name="private_space_summary" msgid="529869826714610294">"ตั้งค่าพื้นที่ส่วนตัวและอื่นๆ"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"พื้นที่ส่วนตัว"</string> diff --git a/SafetyCenter/Resources/res/values-tl-v35/strings.xml b/SafetyCenter/Resources/res/values-tl-v35/strings.xml index f28f2ba45..c0c43dea9 100644 --- a/SafetyCenter/Resources/res/values-tl-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-tl-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Seguridad ng cellular network"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Network type, pag-encrypt, mga kontrol sa notification"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Privacy"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Mga kontrol sa privacy"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Mga pahintulot, kontrol"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Pribadong Space"</string> <string name="private_space_summary" msgid="529869826714610294">"I-set up ang Pribadong Space, at higit pa"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Pribadong Space"</string> diff --git a/SafetyCenter/Resources/res/values-tr-v35/strings.xml b/SafetyCenter/Resources/res/values-tr-v35/strings.xml index 26977f3d3..89a3a3e0c 100644 --- a/SafetyCenter/Resources/res/values-tr-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-tr-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Hücresel ağ güvenliği"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Ağ türü, şifreleme, bildirim kontrolleri"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Gizlilik"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Gizlilik denetimleri"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"İzinler, denetimler"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Gizli Alan"</string> <string name="private_space_summary" msgid="529869826714610294">"Gizli alan yapılandırma ve daha fazlası"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Gizli Alan"</string> diff --git a/SafetyCenter/Resources/res/values-uk-v35/strings.xml b/SafetyCenter/Resources/res/values-uk-v35/strings.xml index 4478750ab..0decae7b9 100644 --- a/SafetyCenter/Resources/res/values-uk-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-uk-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Безпека мобільної мережі"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Тип мережі, шифрування, налаштування сповіщень"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Конфіденційність"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Налаштування конфіденційності"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Дозволи, налаштування"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Приватний простір"</string> <string name="private_space_summary" msgid="529869826714610294">"Налаштуйте приватний простір тощо"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Приватний простір"</string> diff --git a/SafetyCenter/Resources/res/values-ur-v35/strings.xml b/SafetyCenter/Resources/res/values-ur-v35/strings.xml index c506baa97..d4184bda3 100644 --- a/SafetyCenter/Resources/res/values-ur-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-ur-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"سیلولر نیٹ ورک سیکیورٹی"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"نیٹ ورک کی قسم، مرموز کاری، نوٹیفکیشن کنٹرولز"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"رازداری"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"رازداری سے متعلق کنٹرولز"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"اجازتیں، کنٹرولز"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"نجی اسپیس"</string> <string name="private_space_summary" msgid="529869826714610294">"نجی اسپیس اور بھی بہت کچھ سیٹ اپ کریں"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"نجی اسپیس"</string> diff --git a/SafetyCenter/Resources/res/values-uz-v35/strings.xml b/SafetyCenter/Resources/res/values-uz-v35/strings.xml index d8813cc82..58645fd60 100644 --- a/SafetyCenter/Resources/res/values-uz-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-uz-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Mobil tarmoq xavfsizligi"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Tarmoq turi, shifrlash, bildirishnomalar boshqaruvi"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Maxfiylik"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Maxfiylik sozlamalari"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Ruxsatlar, parametrlar"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Maxfiy joy"</string> <string name="private_space_summary" msgid="529869826714610294">"Maxfiy joyni sozlash"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Maxfiy joy"</string> diff --git a/SafetyCenter/Resources/res/values-v35/strings.xml b/SafetyCenter/Resources/res/values-v35/strings.xml index 620dc8d60..14bccdb93 100644 --- a/SafetyCenter/Resources/res/values-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-v35/strings.xml @@ -16,6 +16,19 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Cellular Network Security --> + <string name="cellular_network_security_title" description="The title of the group of safety settings relating to cellular network security">Cellular network security</string> + <string name="cellular_network_security_summary" description="The summary of the group of safety settings relating to cellular network security, which describes the group contents">Network type, encryption, notification controls</string> + + <!-- Device unlock --> + <string name="biometrics_title_for_private_profile" description="The default title of the setting for managing biometric options on the device for private space"><!-- Empty placeholder--></string> + + <!-- Privacy --> + <string name="privacy_title" description="The title of the group of safety settings relating to privacy">Privacy</string> + <string name="privacy_sources_title" description="The title of the group of safety settings relating to privacy controls">Privacy controls</string> + <string name="privacy_sources_summary" description="The summary of the group of safety settings relating to privacy, which describes the group contents">Permissions, controls</string> + <string name="privacy_additional_title" description="The header, or blank if none wanted, for the additional privacy settings on the main page"></string> + <!-- More settings --> <string name="private_space_title" description="The title of the entry for Private Space">Private Space</string> <string name="private_space_summary" description="The summary of the entry for Private Space settings, which describes the page contents">Setup Private Space, and more</string> diff --git a/SafetyCenter/Resources/res/values-vi-v35/strings.xml b/SafetyCenter/Resources/res/values-vi-v35/strings.xml index b37e81085..9ae5311e9 100644 --- a/SafetyCenter/Resources/res/values-vi-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-vi-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"An ninh mạng di động"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Loại mạng, quy trình mã hoá, quyền kiểm soát thông báo"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Quyền riêng tư"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Chế độ kiểm soát quyền riêng tư"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Quyền truy cập, chế độ kiểm soát"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Không gian riêng tư"</string> <string name="private_space_summary" msgid="529869826714610294">"Thiết lập Không gian riêng tư và các tính năng khác"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Không gian riêng tư"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml b/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml index 5b8a8fe8d..da468fa0e 100644 --- a/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml @@ -20,9 +20,9 @@ <string name="lock_screen_sources_title" msgid="5493678510117489865">"设备解锁"</string> <string name="biometrics_title_for_work" msgid="1842284049407771568">"适用于工作应用的生物识别"</string> <string name="privacy_sources_summary" msgid="4083646673569677049">"权限、信息中心和控件"</string> - <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> - <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, Health, Health Connect"</string> - <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置数据分享方面的更新"</string> + <string name="health_connect_title" msgid="8318152190040327804">"健康数据共享"</string> + <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, 健康数据共享, Health, Health Connect"</string> + <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置数据共享方面的更新"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"数据, 数据分享, 数据分享方面的更新, 位置数据分享方面的更新, 分享, Data, Data sharing, Data sharing updates, Data sharing updates for location, sharing"</string> <string name="advanced_title" msgid="6259362998269627310">"其他设置"</string> <string name="more_settings_title" msgid="9033454654010697185">"更多安全和隐私设置"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rCN-v35/strings.xml b/SafetyCenter/Resources/res/values-zh-rCN-v35/strings.xml index e13cffd8a..a58f0b2d6 100644 --- a/SafetyCenter/Resources/res/values-zh-rCN-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rCN-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"移动网络安全性"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"网络类型、加密、通知控件"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"隐私"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"隐私控制"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"权限、控制"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"私密空间"</string> <string name="private_space_summary" msgid="529869826714610294">"设置私密空间等"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"私密空间"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rHK-v34/strings.xml b/SafetyCenter/Resources/res/values-zh-rHK-v34/strings.xml index a11abbde1..c850335ad 100644 --- a/SafetyCenter/Resources/res/values-zh-rHK-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rHK-v34/strings.xml @@ -21,7 +21,7 @@ <string name="biometrics_title_for_work" msgid="1842284049407771568">"用於工作應用程式的生物識別選項"</string> <string name="privacy_sources_summary" msgid="4083646673569677049">"權限、資訊主頁、控制項"</string> <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> - <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, Health Connect"</string> + <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, 健康資料同步"</string> <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置資料分享更新"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"資料, 資料分享, 資料分享更新, 位置資料分享更新, 分享"</string> <string name="advanced_title" msgid="6259362998269627310">"其他設定"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rHK-v35/strings.xml b/SafetyCenter/Resources/res/values-zh-rHK-v35/strings.xml index 996efe5f3..b234389e1 100644 --- a/SafetyCenter/Resources/res/values-zh-rHK-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rHK-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"流動網絡安全性"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"網絡類型、加密、通知控制項"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"私隱"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"私隱權設定"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"權限、控制項"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"私人空間"</string> <string name="private_space_summary" msgid="529869826714610294">"設定「私人空間」等項目"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"私人空間"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml b/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml index 288a0566c..54bbf0f1c 100644 --- a/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml @@ -20,9 +20,9 @@ <string name="lock_screen_sources_title" msgid="5493678510117489865">"裝置解鎖"</string> <string name="biometrics_title_for_work" msgid="1842284049407771568">"工作應用程式的生物特徵辨識選項"</string> <string name="privacy_sources_summary" msgid="4083646673569677049">"權限、資訊主頁、控制選項"</string> - <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string> - <string name="health_connect_search_terms" msgid="4998970586245680829">"健康、Health Connect"</string> - <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置資料分享更新"</string> + <string name="health_connect_title" msgid="8318152190040327804">"健康資料同步"</string> + <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, 健康資料同步"</string> + <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置資料共用方式更新"</string> <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"資料, 資料分享, 資料分享更新, 位置資料分享更新, 分享"</string> <string name="advanced_title" msgid="6259362998269627310">"其他設定"</string> <string name="more_settings_title" msgid="9033454654010697185">"其他安全性和隱私權設定"</string> diff --git a/SafetyCenter/Resources/res/values-zh-rTW-v35/strings.xml b/SafetyCenter/Resources/res/values-zh-rTW-v35/strings.xml index 36f68819d..8401b9f47 100644 --- a/SafetyCenter/Resources/res/values-zh-rTW-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-zh-rTW-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"行動網路安全性"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"網路類型、加密、通知控制選項"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"隱私權"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"隱私權控制項"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"權限、控制選項"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"私人空間"</string> <string name="private_space_summary" msgid="529869826714610294">"設定私人空間等項目"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"私人空間"</string> diff --git a/SafetyCenter/Resources/res/values-zu-v35/strings.xml b/SafetyCenter/Resources/res/values-zu-v35/strings.xml index 659e1b58d..39053e960 100644 --- a/SafetyCenter/Resources/res/values-zu-v35/strings.xml +++ b/SafetyCenter/Resources/res/values-zu-v35/strings.xml @@ -17,6 +17,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="cellular_network_security_title" msgid="2986431282931510973">"Ukuphepha kwenethiwekhi yeselula"</string> + <string name="cellular_network_security_summary" msgid="7319307247487475572">"Uhlobo lwenethiwekhi, ukubethela, izilawuli zezaziso"</string> + <string name="biometrics_title_for_private_profile" msgid="542819107383037820"></string> + <string name="privacy_title" msgid="7047524783080782769">"Ubumfihlo"</string> + <string name="privacy_sources_title" msgid="309304028326660956">"Izilawuli zobumfihlo"</string> + <string name="privacy_sources_summary" msgid="2165270848857537278">"Izimvume, izilawuli"</string> + <string name="privacy_additional_title" msgid="4239060639056083649"></string> <string name="private_space_title" msgid="6158245041481535879">"Isikhala Esiyimfihlo"</string> <string name="private_space_summary" msgid="529869826714610294">"Setha Isikhala Esiyimfihlo, nokunye"</string> <string name="private_space_search_terms" msgid="4820808478299116258">"Isikhala Esiyimfihlo"</string> diff --git a/SafetyCenter/Resources/shared_res/values-ar/strings.xml b/SafetyCenter/Resources/shared_res/values-ar/strings.xml index 49e16c39c..f20febafd 100644 --- a/SafetyCenter/Resources/shared_res/values-ar/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-ar/strings.xml @@ -20,7 +20,7 @@ <string name="scanning_title" msgid="5424849039854311398">"جارٍ الفحص"</string> <string name="loading_summary" msgid="3740846439782713910">"جارٍ التحقّق من إعدادات الجهاز…"</string> <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"كل شيء على ما يرام"</string> - <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"لم يتم رصد أي مشاكل."</string> + <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"لم يتم رصد أي مشاكل"</string> <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{الاطّلاع على اقتراح}zero{الاطّلاع على اقتراحات}two{الاطّلاع على اقتراحَين}few{الاطّلاع على اقتراحات}many{الاطّلاع على اقتراحات}other{الاطّلاع على اقتراحات}}"</string> <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{الإجراء الذي تم اتخاذه}zero{الإجراءات التي تم اتخاذها}two{الإجراءان اللذان تم اتخاذهما}few{الإجراءات التي تم اتخاذها}many{الإجراءات التي تم اتخاذها}other{الإجراءات التي تم اتخاذها}}"</string> <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"مراجعة الإعدادات"</string> @@ -41,7 +41,7 @@ <string name="redirecting_error" msgid="8146983632878233202">"تعذَّر فتح الصفحة"</string> <string name="resolving_action_error" msgid="371968886143262375">"تعذَّر التعامل بشكل نهائي مع التنبيه"</string> <string name="refresh_error" msgid="656062128422446177">"{count,plural, =1{تعذّر التحقّق من الإعداد.}zero{تعذّر التحقّق من الإعدادات.}two{تعذّر التحقّق من الإعدادَين.}few{تعذّر التحقّق من الإعدادات.}many{تعذّر التحقّق من الإعدادات.}other{تعذّر التحقّق من الإعدادات.}}"</string> - <string name="work_profile_paused" msgid="7037400224040869079">"تم إيقاف الملف الشخصي للعمل مؤقتًا"</string> + <string name="work_profile_paused" msgid="7037400224040869079">"تم إيقاف ملف العمل مؤقتًا"</string> <string name="group_unknown_summary" msgid="6951386960814105641">"ما مِن معلومات بعد."</string> <string name="notification_channel_group_name" msgid="7155072032524876859">"الأمان والخصوصية"</string> <string name="notification_channel_name_information" msgid="2966444432152990166">"الاقتراحات"</string> diff --git a/SafetyCenter/Resources/shared_res/values-ca/strings.xml b/SafetyCenter/Resources/shared_res/values-ca/strings.xml index 640a723c1..a2d8b0f35 100644 --- a/SafetyCenter/Resources/shared_res/values-ca/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-ca/strings.xml @@ -26,7 +26,7 @@ <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Revisa la configuració"</string> <string name="overall_severity_level_ok_review_summary" msgid="7743619617413076275">"Comprova la llista d\'opcions de configuració"</string> <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"El dispositiu pot estar en perill"</string> - <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"Dispositiu en perill"</string> + <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"El dispositiu està en perill"</string> <string name="overall_severity_level_data_recommendation_title" msgid="1424269714861655302">"Les dades poden estar en perill"</string> <string name="overall_severity_level_critical_data_warning_title" msgid="1012704126634698604">"Les dades estan en perill"</string> <string name="overall_severity_level_passwords_recommendation_title" msgid="8625105570296877719">"Contrasenyes en perill (antigues)"</string> diff --git a/SafetyCenter/Resources/shared_res/values-hi/strings.xml b/SafetyCenter/Resources/shared_res/values-hi/strings.xml index 6fe62b414..f9d5e34af 100644 --- a/SafetyCenter/Resources/shared_res/values-hi/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-hi/strings.xml @@ -18,7 +18,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="scanning_title" msgid="5424849039854311398">"स्कैन किया जा रहा है"</string> - <string name="loading_summary" msgid="3740846439782713910">"डिवाइस सेटिंग की जांच हो रही है…"</string> + <string name="loading_summary" msgid="3740846439782713910">"डिवाइस की सेटिंग की जांच की जा रही है…"</string> <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"डिवाइस सुरक्षित लग रहा है"</string> <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"कोई समस्या नहीं मिली"</string> <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{सुझाव देखें}one{सुझाव देखें}other{सुझावों को देखें}}"</string> diff --git a/SafetyCenter/Resources/shared_res/values-kk/strings.xml b/SafetyCenter/Resources/shared_res/values-kk/strings.xml index 9226d4fcb..386a0d465 100644 --- a/SafetyCenter/Resources/shared_res/values-kk/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-kk/strings.xml @@ -25,7 +25,7 @@ <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{Әрекет жасалды.}other{Әрекеттер жасалды.}}"</string> <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Параметрлерді тексерy"</string> <string name="overall_severity_level_ok_review_summary" msgid="7743619617413076275">"Параметрлер тізімін тексеріңіз."</string> - <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"Құрылғыға қауіп төнген болуы мүмкін"</string> + <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"Құрылғыға қауіп төнген сияқты"</string> <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"Құрылғыға қауіп төніп тұр"</string> <string name="overall_severity_level_data_recommendation_title" msgid="1424269714861655302">"Деректерге қауіп төнген сияқты"</string> <string name="overall_severity_level_critical_data_warning_title" msgid="1012704126634698604">"Деректерге қауіп төніп тұр"</string> diff --git a/SafetyCenter/Resources/shared_res/values-mn/strings.xml b/SafetyCenter/Resources/shared_res/values-mn/strings.xml index 88f75f648..90ddca44a 100644 --- a/SafetyCenter/Resources/shared_res/values-mn/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-mn/strings.xml @@ -43,7 +43,7 @@ <string name="refresh_error" msgid="656062128422446177">"{count,plural, =1{Тохиргоог шалгаж чадсангүй}other{Тохиргоог шалгаж чадсангүй}}"</string> <string name="work_profile_paused" msgid="7037400224040869079">"Ажлын профайлыг түр зогсоосон"</string> <string name="group_unknown_summary" msgid="6951386960814105641">"Мэдээлэл хараахан алга"</string> - <string name="notification_channel_group_name" msgid="7155072032524876859">"Аюулгүй байдал & нууцлал"</string> + <string name="notification_channel_group_name" msgid="7155072032524876859">"Аюулгүй байдал ба нууцлал"</string> <string name="notification_channel_name_information" msgid="2966444432152990166">"Зөвлөмж"</string> <string name="notification_channel_name_recommendation" msgid="7847408286580217922">"Сануулга"</string> <string name="notification_channel_name_critical_warning" msgid="5994320322108351769">"Ноцтой сануулга"</string> diff --git a/SafetyCenter/Resources/shared_res/values-nl/strings.xml b/SafetyCenter/Resources/shared_res/values-nl/strings.xml index ab8edda5d..4b1000112 100644 --- a/SafetyCenter/Resources/shared_res/values-nl/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-nl/strings.xml @@ -18,7 +18,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="scanning_title" msgid="5424849039854311398">"Scannen"</string> - <string name="loading_summary" msgid="3740846439782713910">"Apparaatinstellingen checken…"</string> + <string name="loading_summary" msgid="3740846439782713910">"Apparaatinstellingen controleren…"</string> <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"Dat ziet er goed uit"</string> <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Geen problemen gevonden"</string> <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{Aanbeveling bekijken}other{Aanbevelingen bekijken}}"</string> diff --git a/SafetyCenter/Resources/shared_res/values-pa/strings.xml b/SafetyCenter/Resources/shared_res/values-pa/strings.xml index 54aad5cbb..8b17156df 100644 --- a/SafetyCenter/Resources/shared_res/values-pa/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-pa/strings.xml @@ -39,7 +39,7 @@ <string name="overall_severity_level_critical_account_warning_title" msgid="1913235490583842004">"ਖਾਤਾ ਜੋਖਮ ਵਿੱਚ ਹੈ"</string> <string name="overall_severity_n_alerts_summary" msgid="3262010942295408403">"{count,plural, =1{ਅਲਰਟ ਦੇਖੋ}one{ਅਲਰਟ ਦੇਖੋ}other{ਅਲਰਟ ਦੇਖੋ}}"</string> <string name="redirecting_error" msgid="8146983632878233202">"ਪੰਨਾ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"</string> - <string name="resolving_action_error" msgid="371968886143262375">"ਸੁਚੇਤਨਾ ਦਾ ਹੱਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string> + <string name="resolving_action_error" msgid="371968886143262375">"ਅਲਰਟ ਦਾ ਹੱਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string> <string name="refresh_error" msgid="656062128422446177">"{count,plural, =1{ਸੈਟਿੰਗ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕੇ}one{ਸੈਟਿੰਗ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕੇ}other{ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕੇ}}"</string> <string name="work_profile_paused" msgid="7037400224040869079">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ"</string> <string name="group_unknown_summary" msgid="6951386960814105641">"ਅਜੇ ਕੋਈ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ"</string> diff --git a/SafetyCenter/Resources/shared_res/values-ru/strings.xml b/SafetyCenter/Resources/shared_res/values-ru/strings.xml index b72d9b0f0..7e8e9f822 100644 --- a/SafetyCenter/Resources/shared_res/values-ru/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-ru/strings.xml @@ -43,7 +43,7 @@ <string name="refresh_error" msgid="656062128422446177">"{count,plural, =1{Не удалось проверить параметр}one{Не удалось проверить параметры}few{Не удалось проверить параметры}many{Не удалось проверить параметры}other{Не удалось проверить параметры}}"</string> <string name="work_profile_paused" msgid="7037400224040869079">"Действие рабочего профиля приостановлено."</string> <string name="group_unknown_summary" msgid="6951386960814105641">"Данных пока нет"</string> - <string name="notification_channel_group_name" msgid="7155072032524876859">"Защита и конфиденциальность"</string> + <string name="notification_channel_group_name" msgid="7155072032524876859">"Безопасность и конфиденциальность"</string> <string name="notification_channel_name_information" msgid="2966444432152990166">"Рекомендации"</string> <string name="notification_channel_name_recommendation" msgid="7847408286580217922">"Предупреждения"</string> <string name="notification_channel_name_critical_warning" msgid="5994320322108351769">"Важные предупреждения"</string> diff --git a/SafetyCenter/Resources/shared_res/values-vi/strings.xml b/SafetyCenter/Resources/shared_res/values-vi/strings.xml index 8bbffeb1b..ba9183e54 100644 --- a/SafetyCenter/Resources/shared_res/values-vi/strings.xml +++ b/SafetyCenter/Resources/shared_res/values-vi/strings.xml @@ -20,7 +20,7 @@ <string name="scanning_title" msgid="5424849039854311398">"Quét"</string> <string name="loading_summary" msgid="3740846439782713910">"Đang kiểm tra chế độ cài đặt của thiết bị…"</string> <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"Có vẻ ổn"</string> - <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Không phát hiện thấy sự cố nào"</string> + <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Không phát hiện thấy vấn đề nào"</string> <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{Xem đề xuất}other{Xem các đề xuất}}"</string> <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{Hành động đã thực hiện}other{Hành động đã thực hiện}}"</string> <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Xem lại các chế độ cài đặt"</string> diff --git a/TEST_MAPPING b/TEST_MAPPING index e1bfdde7c..524d02af5 100644 --- a/TEST_MAPPING +++ b/TEST_MAPPING @@ -53,6 +53,9 @@ "name" : "CtsPermissionMultiUserTestCases" }, { + "name" : "CtsPermissionMultiDeviceTestCases" + }, + { "name": "CtsBackupTestCases", "options": [ { diff --git a/flags/Android.bp b/flags/Android.bp index 675c4a166..bd711fb16 100644 --- a/flags/Android.bp +++ b/flags/Android.bp @@ -28,39 +28,15 @@ aconfig_declarations { java_aconfig_library { name: "permissions-aconfig-flags-lib", aconfig_declarations: "permissions-aconfig-flags", - sdk_version: "system_current", + sdk_version: "module_current", min_sdk_version: "30", apex_available: [ "com.android.permission", "test_com.android.permission", ], installable: false, + libs: ["framework-configinfrastructure"], visibility: [ "//packages/modules/Permission:__subpackages__", ], } - -java_library { - name: "permissions-flags-lib", - sdk_version: "system_current", - min_sdk_version: "30", - target_sdk_version: "34", - srcs: [ - "java/**/*.java", - ], - static_libs: [ - "permissions-aconfig-flags-lib", - ], - libs: [ - "androidx.annotation_annotation", - "framework-annotations-lib", - ], - apex_available: [ - "com.android.permission", - "test_com.android.permission", - ], - installable: false, - visibility: [ - "//packages/modules/Permission:__subpackages__", - ], -}
\ No newline at end of file diff --git a/flags/flags.aconfig b/flags/flags.aconfig index ab1ee47b5..7ffabd45d 100644 --- a/flags/flags.aconfig +++ b/flags/flags.aconfig @@ -2,22 +2,42 @@ package: "com.android.permission.flags" container: "com.android.permission" flag { - name: "voice_activation_op_enabled" + name: "private_profile_supported" namespace: "permissions" - description: "This flag is used to support hotword activation events in privacy dashboard" - bug: "287264308" + description: "This flag is used to support private profile in safety center" + bug: "286539356" + is_fixed_read_only: true } flag { - name: "device_aware_permission_grant" + name: "private_profile_title_api" + is_exported: true namespace: "permissions" - description: "Enables device aware grant permission flow" - bug: "292252664" + description: "This flag is used to guard the private profile title api in safety center" + bug: "286539356" + is_fixed_read_only: true } flag { - name: "wear_privacy_dashboard_enabled" + name: "wear_privacy_dashboard_enabled_read_only" namespace: "wear_security" description: "This flag is used to support Privacy dashboard for Wear" bug: "309721061" -}
\ No newline at end of file + is_fixed_read_only: true +} + +flag { + name: "archiving_read_only" + namespace: "permissions" + description: "Feature flag to enable the archiving feature." + bug: "278553670" + is_fixed_read_only: true +} + +flag { + name: "add_banners_to_privacy_sensitive_apps_for_aaos" + namespace: "permissions" + description: "Flag to display warning banners to privacy sensitive apps in AAOS." + bug: "327489942" + is_fixed_read_only: true +} diff --git a/framework-s/Android.bp b/framework-s/Android.bp index 850c53f1a..54a760e22 100644 --- a/framework-s/Android.bp +++ b/framework-s/Android.bp @@ -81,6 +81,7 @@ java_sdk_library { "framework-permission-s-shared", "modules-utils-build", "android.permission.flags-aconfig-java", + "permissions-aconfig-flags-lib", ], apex_available: [ "com.android.permission", @@ -94,15 +95,16 @@ java_sdk_library { ], installable: true, jarjar_rules: "jarjar-rules.txt", - lint: { - strict_updatability_linting: true, - baseline_filename: "lint-baseline.xml", - }, min_sdk_version: "31", permitted_packages: [ "android.permission", "android.app.role", + "android.app.ecm", "android.safetycenter", "android.safetylabel", ], + aconfig_declarations: [ + "android.permission.flags-aconfig", + "permissions-aconfig-flags", + ], } diff --git a/framework-s/api/current.txt b/framework-s/api/current.txt index d54af92f5..d943a03a1 100644 --- a/framework-s/api/current.txt +++ b/framework-s/api/current.txt @@ -14,6 +14,7 @@ package android.app.role { field public static final String ROLE_HOME = "android.app.role.HOME"; field public static final String ROLE_NOTES = "android.app.role.NOTES"; field public static final String ROLE_SMS = "android.app.role.SMS"; + field @FlaggedApi("android.permission.flags.wallet_role_enabled") public static final String ROLE_WALLET = "android.app.role.WALLET"; } } diff --git a/framework-s/api/module-lib-current.txt b/framework-s/api/module-lib-current.txt index 80f1cde45..97a8623b3 100644 --- a/framework-s/api/module-lib-current.txt +++ b/framework-s/api/module-lib-current.txt @@ -1,4 +1,12 @@ // Signature format: 2.0 +package android.app.ecm { + + @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public class EnhancedConfirmationFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + package android.app.role { public class RoleFrameworkInitializer { @@ -7,6 +15,7 @@ package android.app.role { public final class RoleManager { method @Nullable public String getBrowserRoleHolder(int); + method @FlaggedApi("android.permission.flags.get_emergency_role_holder_api_enabled") @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getEmergencyRoleHolder(int); method @Nullable public String getSmsRoleHolder(int); method @Nullable @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public boolean setBrowserRoleHolder(@Nullable String, int); } diff --git a/framework-s/api/system-current.txt b/framework-s/api/system-current.txt index b5c379937..e15887576 100644 --- a/framework-s/api/system-current.txt +++ b/framework-s/api/system-current.txt @@ -1,4 +1,17 @@ // Signature format: 2.0 +package android.app.ecm { + + @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public final class EnhancedConfirmationManager { + method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void clearRestriction(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @NonNull public android.content.Intent createRestrictedSettingDialogIntent(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isRestricted(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void setClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException; + field public static final String ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG = "android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG"; + } + +} + package android.app.role { public interface OnRoleHoldersChangedListener { @@ -558,6 +571,7 @@ package android.safetycenter.config { method public int getProfile(); method @StringRes public int getSearchTermsResId(); method @StringRes public int getSummaryResId(); + method @FlaggedApi("com.android.permission.flags.private_profile_title_api") @StringRes public int getTitleForPrivateProfileResId(); method @StringRes public int getTitleForWorkResId(); method @StringRes public int getTitleResId(); method public int getType(); @@ -593,6 +607,7 @@ package android.safetycenter.config { method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean); method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int); method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int); + method @FlaggedApi("com.android.permission.flags.private_profile_title_api") @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForPrivateProfileResId(@StringRes int); method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int); method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int); } diff --git a/framework-s/jarjar-rules.txt b/framework-s/jarjar-rules.txt index 39f2ad3b7..da8f5a5f1 100644 --- a/framework-s/jarjar-rules.txt +++ b/framework-s/jarjar-rules.txt @@ -1,5 +1,8 @@ rule android.os.HandlerExecutor android.permission.jarjar.@0 -rule android.permission.flags.** android.permission.jarjar.@0 +rule android.permission.flags.*Flags* android.permission.jarjar.@0 +rule android.permission.flags.Flags android.permission.jarjar.@0 rule android.util.IndentingPrintWriter android.permission.jarjar.@0 rule com.android.internal.** android.permission.jarjar.@0 rule com.android.modules.** android.permission.jarjar.@0 +rule com.android.permission.flags.*Flags* android.permission.jarjar.@0 +rule com.android.permission.flags.Flags android.permission.jarjar.@0 diff --git a/framework-s/java/android/app/ecm/EnhancedConfirmationFrameworkInitializer.java b/framework-s/java/android/app/ecm/EnhancedConfirmationFrameworkInitializer.java new file mode 100644 index 000000000..1a42f7ee2 --- /dev/null +++ b/framework-s/java/android/app/ecm/EnhancedConfirmationFrameworkInitializer.java @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2023 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 android.app.ecm; + +import android.annotation.FlaggedApi; +import android.annotation.SystemApi; +import android.annotation.TargetApi; +import android.app.SystemServiceRegistry; +import android.content.Context; +import android.os.Build; +import android.permission.flags.Flags; + +/** + * Class holding initialization code for enhanced confirmation code in the permission module. + * + * @hide + */ +@FlaggedApi(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) +@TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) +public class EnhancedConfirmationFrameworkInitializer { + private EnhancedConfirmationFrameworkInitializer() {} + + /** + * Called by {@link SystemServiceRegistry}'s static initializer and registers + * {@link EnhancedConfirmationManager} to {@link Context}, so that + * {@link Context#getSystemService} can return it. + * + * <p>If this is called from other places, it throws a {@link IllegalStateException}. + */ + public static void registerServiceWrappers() { + SystemServiceRegistry.registerContextAwareService(Context.ECM_ENHANCED_CONFIRMATION_SERVICE, + EnhancedConfirmationManager.class, + (context, serviceBinder) -> new EnhancedConfirmationManager(context, + IEnhancedConfirmationManager.Stub.asInterface(serviceBinder))); + } +} diff --git a/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java b/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java new file mode 100644 index 000000000..74062165e --- /dev/null +++ b/framework-s/java/android/app/ecm/EnhancedConfirmationManager.java @@ -0,0 +1,356 @@ +/* + * Copyright (C) 2023 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 android.app.ecm; + +import static android.annotation.SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION; + +import android.annotation.FlaggedApi; +import android.annotation.IntDef; +import android.annotation.RequiresPermission; +import android.annotation.SdkConstant; +import android.annotation.SystemApi; +import android.annotation.SystemService; +import android.annotation.TargetApi; +import android.app.AppOpsManager; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.os.Build; +import android.os.RemoteException; +import android.permission.flags.Flags; +import android.util.ArraySet; + +import androidx.annotation.NonNull; + +import java.lang.annotation.Retention; + +/** + * This class provides the core API for ECM (Enhanced Confirmation Mode). ECM is a feature that + * restricts access to protected **settings** (i.e., sensitive resources) by restricted **apps** + * (apps from from dangerous sources, such as sideloaded packages or packages downloaded from a web + * browser). + * + * <p>Specifically, this class provides the ability to: + * + * <ol> + * <li>Check whether a setting is restricted from an app ({@link #isRestricted}) + * <li>Get an intent that will open the "Restricted setting" dialog ({@link + * #createRestrictedSettingDialogIntent}) (a dialog that informs the user that the operation + * they've attempted to perform is restricted) + * <li>Check whether an app is eligible to have its restriction status cleared ({@link + * #isClearRestrictionAllowed}) + * <li>Clear an app's restriction status (i.e., un-restrict it). ({@link #clearRestriction}) + * </ol> + * + * <p>Methods of this class will generally accept an app (identified by a packageName and a user) + * and a "setting" (a string representing the "sensitive resource") as arguments. ECM's exact + * behavior will generally depend on what restriction state ECM considers each setting and app. For + * example: + * + * <ol> + * <li>A setting may be considered by ECM to be either **protected** or **not protected**. In + * general, this should be considered hardcoded into ECM's implementation: nothing can + * "protect" or "unprotect" a setting. + * <li>An app may be considered as being **not restricted** or **restricted**. A restricted app + * will be restricted from accessing all protected settings. Whether ECM considers any + * particular app restricted is an implementation detail of ECM. However, the user is able to + * clear any restricted app's restriction status (i.e, un-restrict it), after which ECM will + * consider the app **not restricted**. + * </ol> + * + * Why is ECM needed? Consider the following (pre-ECM) scenario: + * + * <ol> + * <li>The user downloads and installs an apk file from a browser. + * <li>The user opens Settings -> Accessibility + * <li>The user tries to register the app as an accessibility service. + * <li>The user is shown a permission prompt "Allow _ to have full control of your device?" + * <li>The user clicks "Allow" + * <li>The downloaded app now has full control of the device. + * </ol> + * + * The purpose of ECM is to add more friction to this scenario. + * + * <p>With ECM, this scenario becomes: + * + * <ol> + * <li>The user downloads and installs an apk file from a browser. + * <li>The user goes into Settings -> Accessibility. + * <li>The user tries to register the app as an accessibility service. + * <li>The user is presented with a "Restricted setting" dialog explaining that the attempted + * action has been restricted. (No "allow" button is shown, but a link is given to a screen + * with intentionally-obscure instructions on how to proceed.) + * <li>The user must now navigate to Settings -> Apps -> [app] + * <li>The user then must click on "..." (top-right corner hamburger menu), then click "Allow + * restricted settings" + * <li>The user goes (again) into Settings -> Accessibility and (again) tries to register the app + * as an accessibility service. + * <li>The user is shown a permission prompt "Allow _ to have full control of your device?" + * <li>The user clicks "Allow" + * <li>The downloaded app now has full control of the device. + * </ol> + * + * And, expanding on the above scenario, the role that this class plays is as follows: + * + * <ol> + * <li>The user downloads and installs an apk file from a browser. + * <li>The user goes into Settings -> Accessibility. + * <p>**This screen then calls {@link #isRestricted}, which checks whether each app listed + * on-screen is restricted from the accessibility service setting. It uses this to visually + * "gray out" restricted apps.** + * <li>The user tries to register the app as an accessibility service. + * <p>**This screen then calls {@link #createRestrictedSettingDialogIntent} and starts the + * intent. This opens the "Restricted setting" dialog.** + * <li>The user is presented with a "Restricted setting" dialog explaining that the attempted + * action is restricted. (No "allow" button is shown, but a link is given to a screen with + * intentionally-obscure instructions on how to proceed.) + * <p>**Upon opening, this dialog marks the app as eligible to have its restriction status + * cleared.** + * <li>The user must now navigate to Settings -> Apps -> [app]. + * <p>**This screen calls {@link #isClearRestrictionAllowed} to check whether the app is + * eligible to have its restriction status cleared. If this returns {@code true}, this screen + * should then show a "Allow restricted setting" button inside the top-right hamburger menu.** + * <li>The user then must click on "..." (top-right corner hamburger menu), then click "Allow + * restricted settings". + * <p>**In response, this screen should now call {@link #clearRestriction}.** + * <li>The user goes (again) into Settings -> Accessibility and (again) tries to register the app + * as an accessibility service. + * <li>The user is shown a permission prompt "Allow _ to have full control of your device?" + * <li>The user clicks "Allow" + * <li>The downloaded app now has full control of the device. + * </ol> + * + * @hide + */ +@SystemApi +@FlaggedApi(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) +@TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +@SystemService(Context.ECM_ENHANCED_CONFIRMATION_SERVICE) +public final class EnhancedConfirmationManager { + /* + * At the API level, we use the following terminology: + * + * - The capability of an app to access a setting may be considered (by ECM) to be *restricted* + * or *not restricted*. + * - A setting may be considered (by ECM) to be *protected* or *not protected*. + * - The state of an app may be considered (by ECM) to be *restricted* or *not restricted* + * + * In this implementation, however, the state of an app is considered either **guarded** or + * **not guarded**; these terms can generally be considered synonymous with **restricted** and + * **not restricted**. (Keeping in mind that, the capability of any app to access any + * non-protected setting will always be considered "not restricted", even if the state of the + * app is considered "restricted".). An app can also be in a third state: **guarded and + * acknowledged**, which corresponds with an app that is restricted and is eligible to have its + * restriction status cleared. + * + * Currently, the ECM state of any given app is stored in the OP_ACCESS_RESTRICTED_SETTINGS + * appop (though this may change in the future): + * + * - MODE_ALLOWED means the app is explicitly **not guarded**. (U- default) + * - MODE_ERRORED means the app is explicitly **guarded**. (Only settable in U-.) + * - MODE_IGNORED means the app is explicitly **guarded and acknowledged**. (An app enters this + * state as soon as the "Restricted setting" dialog has been shown to the user. If an app is + * in this state, Settings is now allowed to provide the user with the option to clear the + * restriction.) + * - MODE_DEFAULT means the app's ECM state should be decided lazily. (V+ default) (That is, + * each time a caller checks whether or not an app is considered guarded by ECM, we'll run an + * heuristic to determine this.) + * + * Some notes on compatibility: + * + * - On U-, MODE_ALLOWED is the default mode of OP_ACCESS_RESTRICTED_SETTINGS. On both U- and + * V+, this is also the mode after the app's restriction has been cleared. + * - In U-, the mode needed to be explicitly set (for example, by a browser that allows a + * dangerous app to be installed) to MODE_ERRORED to indicate that an app is guarded. In V+, + * we no longer allow an app to be placed into MODE_ERRORED, but for compatibility, we still + * recognize MODE_ERRORED to indicate that an app is explicitly guarded. + * - In V+, the default mode is MODE_DEFAULT. Unlike U-, this potentially affects *all* apps, + * not just the ones which have been explicitly marked as **guarded**. + * + * Regarding ECM "setting"s: a setting may be any abstract resource identified by a string. ECM + * may consider any particular setting **protected** or **not protected**. For now, the set of + * protected settings is hardcoded, but this may evolve in the future. + * + * TODO(b/320512579): These methods currently enforce UPDATE_APP_OPS_STATS, + * UPDATE_APP_OPS_STATS, and, for setter methods, MANAGE_APP_OPS_MODES. We should add + * RequiresPermission annotations, but we can't, because some of these permissions are hidden + * API. Either upgrade these to SystemApi or enforce a different permission, then add the + * appropriate RequiresPermission annotation. + */ + + /** + * Shows the "Restricted setting" dialog. Opened when a setting is blocked. + */ + @SdkConstant(BROADCAST_INTENT_ACTION) + public static final String ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG = + "android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG"; + + /** A map of ECM states to their corresponding app op states */ + @Retention(java.lang.annotation.RetentionPolicy.SOURCE) + @IntDef(prefix = {"ECM_STATE_"}, value = {EcmState.ECM_STATE_NOT_GUARDED, + EcmState.ECM_STATE_GUARDED, EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED, + EcmState.ECM_STATE_IMPLICIT}) + private @interface EcmState { + int ECM_STATE_NOT_GUARDED = AppOpsManager.MODE_ALLOWED; + int ECM_STATE_GUARDED = AppOpsManager.MODE_ERRORED; + int ECM_STATE_GUARDED_AND_ACKNOWLEDGED = AppOpsManager.MODE_IGNORED; + int ECM_STATE_IMPLICIT = AppOpsManager.MODE_DEFAULT; + } + + private static final String LOG_TAG = EnhancedConfirmationManager.class.getSimpleName(); + + private static final ArraySet<String> PROTECTED_SETTINGS = new ArraySet<>(); + + static { + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE); + // TODO(b/310654015): Add other explicitly protected settings + } + + private final @NonNull Context mContext; + private final PackageManager mPackageManager; + + private final @NonNull IEnhancedConfirmationManager mService; + + /** + * @hide + */ + public EnhancedConfirmationManager(@NonNull Context context, + @NonNull IEnhancedConfirmationManager service) { + mContext = context; + mPackageManager = context.getPackageManager(); + mService = service; + } + + /** + * Check whether a setting is restricted from an app. + * + * <p>This is {@code true} when the setting is a protected setting (i.e., a sensitive resource), + * and the app is restricted (i.e., considered dangerous), and the user has not yet cleared the + * app's restriction status (i.e., by clicking "Allow restricted settings" for this app). + * + * @param packageName package name of the application to check for + * @param settingIdentifier identifier of the resource to check to check for + * @return {@code true} if the setting is restricted from the app + * @throws NameNotFoundException if the provided package was not found + */ + @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) + public boolean isRestricted(@NonNull String packageName, @NonNull String settingIdentifier) + throws NameNotFoundException { + try { + return mService.isRestricted(packageName, settingIdentifier, + mContext.getUser().getIdentifier()); + } catch (IllegalArgumentException e) { + throw new NameNotFoundException(packageName); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Clear an app's restriction status (i.e., un-restrict it). + * + * <p>After this is called, the app will no longer be restricted from accessing any protected + * setting by ECM. This method should be called when the user clicks "Allow restricted settings" + * for the app. + * + * @param packageName package name of the application to remove protection from + * @throws NameNotFoundException if the provided package was not found + */ + @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) + public void clearRestriction(@NonNull String packageName) throws NameNotFoundException { + try { + mService.clearRestriction(packageName, mContext.getUser().getIdentifier()); + } catch (IllegalArgumentException e) { + throw new NameNotFoundException(packageName); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Check whether the provided app is eligible to have its restriction status cleared (i.e., the + * app is restricted, and the "Restricted setting" dialog has been presented to the user). + * + * <p>The Settings UI should use method this to check whether to present the user with the + * "Allow restricted settings" button. + * + * @param packageName package name of the application to check for + * @return {@code true} if the settings UI should present the user with the ability to clear + * restrictions from the provided app + * @throws NameNotFoundException if the provided package was not found + */ + @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) + public boolean isClearRestrictionAllowed(@NonNull String packageName) + throws NameNotFoundException { + try { + return mService.isClearRestrictionAllowed(packageName, + mContext.getUser().getIdentifier()); + } catch (IllegalArgumentException e) { + throw new NameNotFoundException(packageName); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Mark the app as eligible to have its restriction status cleared. + * + * <p>This should be called from the "Restricted setting" dialog (which {@link + * #createRestrictedSettingDialogIntent} directs to) upon being presented to the user. + * + * @param packageName package name of the application which should be considered acknowledged + * @throws NameNotFoundException if the provided package was not found + */ + @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) + public void setClearRestrictionAllowed(@NonNull String packageName) + throws NameNotFoundException { + try { + mService.setClearRestrictionAllowed(packageName, mContext.getUser().getIdentifier()); + } catch (IllegalArgumentException e) { + throw new NameNotFoundException(packageName); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** + * Gets an intent that will open the "Restricted setting" dialog for the specified package + * and setting. + * + * <p>The "Restricted setting" dialog is a dialog that informs the user that the operation + * they've attempted to perform is restricted, and provides them with a link explaining how to + * proceed. + * + * @param packageName package name of the restricted application + * @param settingIdentifier identifier of the restricted setting + * @throws NameNotFoundException if the provided package was not found + */ + public @NonNull Intent createRestrictedSettingDialogIntent(@NonNull String packageName, + @NonNull String settingIdentifier) throws NameNotFoundException { + Intent intent = new Intent(ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG); + intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName); + intent.putExtra(Intent.EXTRA_UID, getPackageUid(packageName)); + intent.putExtra(Intent.EXTRA_SUBJECT, settingIdentifier); + return intent; + } + + private int getPackageUid(String packageName) throws NameNotFoundException { + return mPackageManager.getApplicationInfoAsUser(packageName, /* flags */ 0, + mContext.getUser()).uid; + } +} diff --git a/framework-s/java/android/app/ecm/IEnhancedConfirmationManager.aidl b/framework-s/java/android/app/ecm/IEnhancedConfirmationManager.aidl new file mode 100644 index 000000000..5149daa49 --- /dev/null +++ b/framework-s/java/android/app/ecm/IEnhancedConfirmationManager.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2024 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 android.app.ecm; + +import android.os.RemoteCallback; + +/** + * @hide + */ +interface IEnhancedConfirmationManager { + + boolean isRestricted(in String packageName, in String settingIdentifier, int userId); + + void clearRestriction(in String packageName, int userId); + + boolean isClearRestrictionAllowed(in String packageName, int userId); + + void setClearRestrictionAllowed(in String packageName, int userId); +} diff --git a/framework-s/java/android/app/role/IRoleManager.aidl b/framework-s/java/android/app/role/IRoleManager.aidl index 0aef871e6..522967630 100644 --- a/framework-s/java/android/app/role/IRoleManager.aidl +++ b/framework-s/java/android/app/role/IRoleManager.aidl @@ -74,6 +74,8 @@ interface IRoleManager { String getSmsRoleHolder(int userId); + String getEmergencyRoleHolder(int userId); + boolean isRoleVisibleAsUser(in String roleName, int userId); boolean isApplicationVisibleForRoleAsUser(in String roleName, in String packageName, diff --git a/framework-s/java/android/app/role/RoleControllerManager.java b/framework-s/java/android/app/role/RoleControllerManager.java index 57da2ccd0..72228c7ca 100644 --- a/framework-s/java/android/app/role/RoleControllerManager.java +++ b/framework-s/java/android/app/role/RoleControllerManager.java @@ -50,10 +50,15 @@ import java.util.function.Consumer; public class RoleControllerManager { /** - * Bundle key for getting legacy fallback disabled roles + * Bundle key for the payload of RoleController APIs */ - public static final String KEY_LEGACY_FALLBACK_DISABLED_ROLES = - "LEGACY_FALLBACK_DISABLED_ROLES"; + public static final String KEY_RESULT = RoleControllerManager.class.getName() + ".key.RESULT"; + + /** + * Bundle key for the error of RoleController APIs + */ + public static final String KEY_EXCEPTION = RoleControllerManager.class.getName() + + ".key.EXCEPTION"; private static final String LOG_TAG = RoleControllerManager.class.getSimpleName(); @@ -145,9 +150,9 @@ public class RoleControllerManager { */ public void grantDefaultRoles(@NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); - service.grantDefaultRoles(new RemoteCallback(future::complete)); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); + service.grantDefaultRoles(createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "grantDefaultRoles", executor, callback); @@ -160,10 +165,10 @@ public class RoleControllerManager { */ public void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName, @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); service.onAddRoleHolder(roleName, packageName, flags, - new RemoteCallback(future::complete)); + createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "onAddRoleHolder", callback); @@ -176,10 +181,10 @@ public class RoleControllerManager { */ public void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName, @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); service.onRemoveRoleHolder(roleName, packageName, flags, - new RemoteCallback(future::complete)); + createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "onRemoveRoleHolder", callback); @@ -192,9 +197,9 @@ public class RoleControllerManager { */ public void onClearRoleHolders(@NonNull String roleName, @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); - service.onClearRoleHolders(roleName, flags, new RemoteCallback(future::complete)); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); + service.onClearRoleHolders(roleName, flags, createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "onClearRoleHolders", callback); @@ -208,10 +213,10 @@ public class RoleControllerManager { @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS) public void isApplicationVisibleForRole(@NonNull String roleName, @NonNull String packageName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); service.isApplicationVisibleForRole(roleName, packageName, - new RemoteCallback(future::complete)); + createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "isApplicationVisibleForRole", executor, callback); @@ -225,9 +230,9 @@ public class RoleControllerManager { @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS) public void isRoleVisible(@NonNull String roleName, @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) { - AndroidFuture<Bundle> operation = mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); - service.isRoleVisible(roleName, new RemoteCallback(future::complete)); + AndroidFuture<Boolean> operation = mRemoteService.postAsync(service -> { + AndroidFuture<Boolean> future = new AndroidFuture<>(); + service.isRoleVisible(roleName, createBooleanRemoteCallback(future)); return future; }); propagateCallback(operation, "isRoleVisible", executor, callback); @@ -241,8 +246,15 @@ public class RoleControllerManager { public void getLegacyFallbackDisabledRoles(@NonNull @CallbackExecutor Executor executor, @NonNull Consumer<List<String>> callback) { mRemoteService.postAsync(service -> { - AndroidFuture<Bundle> future = new AndroidFuture<>(); - service.getLegacyFallbackDisabledRoles(new RemoteCallback(future::complete)); + AndroidFuture<List<String>> future = new AndroidFuture<>(); + service.getLegacyFallbackDisabledRoles(new RemoteCallback(result -> { + Exception exception = (Exception) result.getSerializable(KEY_EXCEPTION); + if (exception != null) { + future.completeExceptionally(exception); + } else { + future.complete(result.getStringArrayList(KEY_RESULT)); + } + })); return future; }).orTimeout(REQUEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS) .whenComplete((res, err) -> executor.execute(() -> { @@ -253,8 +265,7 @@ public class RoleControllerManager { err); callback.accept(null); } else { - callback.accept(res.getStringArrayList( - KEY_LEGACY_FALLBACK_DISABLED_ROLES)); + callback.accept(res); } } finally { Binder.restoreCallingIdentity(token); @@ -262,7 +273,19 @@ public class RoleControllerManager { })); } - private void propagateCallback(AndroidFuture<Bundle> operation, String opName, + @NonNull + private RemoteCallback createBooleanRemoteCallback(@NonNull AndroidFuture<Boolean> future) { + return new RemoteCallback(result -> { + Exception exception = (Exception) result.getSerializable(KEY_EXCEPTION); + if (exception != null) { + future.completeExceptionally(exception); + } else { + future.complete(result.getBoolean(KEY_RESULT)); + } + }); + } + + private void propagateCallback(AndroidFuture<Boolean> operation, String opName, @CallbackExecutor @NonNull Executor executor, Consumer<Boolean> destination) { operation.orTimeout(REQUEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS) @@ -273,7 +296,7 @@ public class RoleControllerManager { Log.e(LOG_TAG, "Error calling " + opName + "()", err); destination.accept(false); } else { - destination.accept(res != null); + destination.accept(res); } } finally { Binder.restoreCallingIdentity(token); @@ -281,7 +304,7 @@ public class RoleControllerManager { })); } - private void propagateCallback(AndroidFuture<Bundle> operation, String opName, + private void propagateCallback(AndroidFuture<Boolean> operation, String opName, RemoteCallback destination) { operation.orTimeout(REQUEST_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS) .whenComplete((res, err) -> { @@ -291,7 +314,7 @@ public class RoleControllerManager { Log.e(LOG_TAG, "Error calling " + opName + "()", err); destination.sendResult(null); } else { - destination.sendResult(res); + destination.sendResult(res ? Bundle.EMPTY : null); } } finally { Binder.restoreCallingIdentity(token); diff --git a/framework-s/java/android/app/role/RoleControllerService.java b/framework-s/java/android/app/role/RoleControllerService.java index 60a13f7ba..2155ee4eb 100644 --- a/framework-s/java/android/app/role/RoleControllerService.java +++ b/framework-s/java/android/app/role/RoleControllerService.java @@ -33,6 +33,7 @@ import android.os.Process; import android.os.RemoteCallback; import android.os.UserHandle; import android.permission.flags.Flags; +import android.util.Log; import com.android.internal.util.Preconditions; @@ -56,6 +57,7 @@ import java.util.concurrent.Executor; @Deprecated @SystemApi public abstract class RoleControllerService extends Service { + private static final String LOG_TAG = RoleControllerService.class.getSimpleName(); /** * The {@link Intent} that must be declared as handled by the service. @@ -89,7 +91,6 @@ public abstract class RoleControllerService extends Service { @Override public void grantDefaultRoles(RemoteCallback callback) { enforceCallerSystemUid("grantDefaultRoles"); - Objects.requireNonNull(callback, "callback cannot be null"); mWorkerHandler.post(() -> RoleControllerService.this.grantDefaultRoles(callback)); @@ -99,10 +100,6 @@ public abstract class RoleControllerService extends Service { public void onAddRoleHolder(String roleName, String packageName, int flags, RemoteCallback callback) { enforceCallerSystemUid("onAddRoleHolder"); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); - Preconditions.checkStringNotEmpty(packageName, - "packageName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); mWorkerHandler.post(() -> RoleControllerService.this.onAddRoleHolder(roleName, @@ -113,10 +110,6 @@ public abstract class RoleControllerService extends Service { public void onRemoveRoleHolder(String roleName, String packageName, int flags, RemoteCallback callback) { enforceCallerSystemUid("onRemoveRoleHolder"); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); - Preconditions.checkStringNotEmpty(packageName, - "packageName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); mWorkerHandler.post(() -> RoleControllerService.this.onRemoveRoleHolder(roleName, @@ -126,8 +119,6 @@ public abstract class RoleControllerService extends Service { @Override public void onClearRoleHolders(String roleName, int flags, RemoteCallback callback) { enforceCallerSystemUid("onClearRoleHolders"); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); mWorkerHandler.post(() -> RoleControllerService.this.onClearRoleHolders(roleName, @@ -145,39 +136,54 @@ public abstract class RoleControllerService extends Service { public void isApplicationQualifiedForRole(String roleName, String packageName, RemoteCallback callback) { enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); - Preconditions.checkStringNotEmpty(packageName, - "packageName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); - boolean qualified = onIsApplicationQualifiedForRole(roleName, packageName); - callback.sendResult(qualified ? Bundle.EMPTY : null); + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + Preconditions.checkStringNotEmpty(packageName, + "packageName cannot be null or empty"); + boolean qualified = onIsApplicationQualifiedForRole(roleName, packageName); + result.putBoolean(RoleControllerManager.KEY_RESULT, qualified); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } @Override public void isApplicationVisibleForRole(String roleName, String packageName, RemoteCallback callback) { enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); - Preconditions.checkStringNotEmpty(packageName, - "packageName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); - boolean visible = onIsApplicationVisibleForRole(roleName, packageName); - callback.sendResult(visible ? Bundle.EMPTY : null); + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + Preconditions.checkStringNotEmpty(packageName, + "packageName cannot be null or empty"); + boolean visible = onIsApplicationVisibleForRole(roleName, packageName); + result.putBoolean(RoleControllerManager.KEY_RESULT, visible); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } @Override public void isRoleVisible(String roleName, RemoteCallback callback) { enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null); - - Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); Objects.requireNonNull(callback, "callback cannot be null"); - boolean visible = onIsRoleVisible(roleName); - callback.sendResult(visible ? Bundle.EMPTY : null); + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + boolean visible = onIsRoleVisible(roleName); + result.putBoolean(RoleControllerManager.KEY_RESULT, visible); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } @Override @@ -186,36 +192,71 @@ public abstract class RoleControllerService extends Service { Objects.requireNonNull(callback, "callback cannot be null"); - List<String> legacyFallbackDisabledRoles = onGetLegacyFallbackDisabledRoles(); Bundle result = new Bundle(); - result.putStringArrayList(RoleControllerManager.KEY_LEGACY_FALLBACK_DISABLED_ROLES, - new ArrayList<>(legacyFallbackDisabledRoles)); + try { + List<String> legacyFallbackDisabledRoles = onGetLegacyFallbackDisabledRoles(); + result.putStringArrayList(RoleControllerManager.KEY_RESULT, + new ArrayList<>(legacyFallbackDisabledRoles)); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } callback.sendResult(result); } }; } - private void grantDefaultRoles(@NonNull RemoteCallback callback) { - boolean successful = onGrantDefaultRoles(); - callback.sendResult(successful ? Bundle.EMPTY : null); + private void grantDefaultRoles(RemoteCallback callback) { + Bundle result = new Bundle(); + try { + boolean successful = onGrantDefaultRoles(); + result.putBoolean(RoleControllerManager.KEY_RESULT, successful); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } private void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName, - @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - boolean successful = onAddRoleHolder(roleName, packageName, flags); - callback.sendResult(successful ? Bundle.EMPTY : null); + @RoleManager.ManageHoldersFlags int flags, RemoteCallback callback) { + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + Preconditions.checkStringNotEmpty(packageName, + "packageName cannot be null or empty"); + boolean successful = onAddRoleHolder(roleName, packageName, flags); + result.putBoolean(RoleControllerManager.KEY_RESULT, successful); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } private void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName, - @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - boolean successful = onRemoveRoleHolder(roleName, packageName, flags); - callback.sendResult(successful ? Bundle.EMPTY : null); + @RoleManager.ManageHoldersFlags int flags, RemoteCallback callback) { + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + Preconditions.checkStringNotEmpty(packageName, + "packageName cannot be null or empty"); + boolean successful = onRemoveRoleHolder(roleName, packageName, flags); + result.putBoolean(RoleControllerManager.KEY_RESULT, successful); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } private void onClearRoleHolders(@NonNull String roleName, - @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) { - boolean successful = onClearRoleHolders(roleName, flags); - callback.sendResult(successful ? Bundle.EMPTY : null); + @RoleManager.ManageHoldersFlags int flags, RemoteCallback callback) { + Bundle result = new Bundle(); + try { + Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty"); + boolean successful = onClearRoleHolders(roleName, flags); + result.putBoolean(RoleControllerManager.KEY_RESULT, successful); + } catch (Exception e) { + result.putSerializable(RoleControllerManager.KEY_EXCEPTION, e); + } + callback.sendResult(result); } /** @@ -327,6 +368,8 @@ public abstract class RoleControllerService extends Service { @FlaggedApi(Flags.FLAG_SYSTEM_SERVER_ROLE_CONTROLLER_ENABLED) @NonNull public List<String> onGetLegacyFallbackDisabledRoles() { + Log.wtf(LOG_TAG, "onGetLegacyFallbackDisabledRoles is unsupported by this version of" + + " PermissionController"); throw new UnsupportedOperationException(); } } diff --git a/framework-s/java/android/app/role/RoleManager.java b/framework-s/java/android/app/role/RoleManager.java index 3cf1e94ba..4b8c9b388 100644 --- a/framework-s/java/android/app/role/RoleManager.java +++ b/framework-s/java/android/app/role/RoleManager.java @@ -146,6 +146,15 @@ public final class RoleManager { public static final String ROLE_NOTES = "android.app.role.NOTES"; /** + * The name of the Wallet role. + * + * @see android.nfc.cardemulation.CardEmulation + */ + @FlaggedApi(Flags.FLAG_WALLET_ROLE_ENABLED) + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + public static final String ROLE_WALLET = "android.app.role.WALLET"; + + /** * The name of the system wellbeing role. * * @hide @@ -966,6 +975,28 @@ public final class RoleManager { } /** + * Allows getting the role holder for {@link #ROLE_EMERGENCY} without requiring + * {@link Manifest.permission#OBSERVE_ROLE_HOLDERS}. + * + * @param userId the user ID to get the default emergency package for + * @return the package name of the default emergency app, or {@code null} if none + * + * @hide + */ + @FlaggedApi(Flags.FLAG_GET_EMERGENCY_ROLE_HOLDER_API_ENABLED) + @RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) + @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE) + @Nullable + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public String getEmergencyRoleHolder(@UserIdInt int userId) { + try { + return mService.getEmergencyRoleHolder(userId); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * Check whether a role should be visible to user. * * @param roleName name of the role to check for diff --git a/framework-s/java/android/app/role/TEST_MAPPING b/framework-s/java/android/app/role/TEST_MAPPING index 01d04bea0..46b148e68 100644 --- a/framework-s/java/android/app/role/TEST_MAPPING +++ b/framework-s/java/android/app/role/TEST_MAPPING @@ -26,6 +26,23 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsRoleTestCases", + "options": [ + // TODO(b/238677748): These two tests currently fails on R base image + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#openDefaultAppListThenIsNotDefaultAppInList" + }, + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#removeSmsRoleHolderThenPermissionIsRevoked" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsRoleTestCases" diff --git a/framework-s/java/android/safetycenter/config/SafetySource.java b/framework-s/java/android/safetycenter/config/SafetySource.java index 8aa897850..ff0c66e24 100644 --- a/framework-s/java/android/safetycenter/config/SafetySource.java +++ b/framework-s/java/android/safetycenter/config/SafetySource.java @@ -18,9 +18,11 @@ package android.safetycenter.config; import static android.os.Build.VERSION_CODES.TIRAMISU; import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE; +import static android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM; import static java.util.Objects.requireNonNull; +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -34,6 +36,7 @@ import android.util.ArraySet; import androidx.annotation.RequiresApi; import com.android.modules.utils.build.SdkLevel; +import com.android.permission.flags.Flags; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -182,6 +185,9 @@ public final class SafetySource implements Parcelable { builder.addPackageCertificateHash(certs.get(i)); } } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + builder.setTitleForPrivateProfileResId(in.readInt()); + } return builder.build(); } @@ -207,6 +213,7 @@ public final class SafetySource implements Parcelable { private final boolean mNotificationsAllowed; @Nullable final String mDeduplicationGroup; @NonNull private final Set<String> mPackageCertificateHashes; + @StringRes private final int mTitleForPrivateProfileResId; private SafetySource( @SafetySourceType int type, @@ -224,7 +231,8 @@ public final class SafetySource implements Parcelable { boolean refreshOnPageOpenAllowed, boolean notificationsAllowed, @Nullable String deduplicationGroup, - @NonNull Set<String> packageCertificateHashes) { + @NonNull Set<String> packageCertificateHashes, + @StringRes int titleForPrivateProfileResId) { mType = type; mId = id; mPackageName = packageName; @@ -241,6 +249,7 @@ public final class SafetySource implements Parcelable { mNotificationsAllowed = notificationsAllowed; mDeduplicationGroup = deduplicationGroup; mPackageCertificateHashes = Set.copyOf(packageCertificateHashes); + mTitleForPrivateProfileResId = titleForPrivateProfileResId; } /** Returns the type of this safety source. */ @@ -347,6 +356,37 @@ public final class SafetySource implements Parcelable { } /** + * Returns the resource id of the title for private profile of this safety source. + * + * <p>The id refers to a string resource that is either accessible from any resource context or + * that is accessible from the same resource context that was used to load the Safety Center + * configuration. The id is {@link Resources#ID_NULL} when a title for private profile is not + * provided. + * + * @throws UnsupportedOperationException if the source is of type {@link + * SafetySource#SAFETY_SOURCE_TYPE_ISSUE_ONLY} or if the profile property of the source is + * set to {@link SafetySource#PROFILE_PRIMARY} + */ + @FlaggedApi(Flags.FLAG_PRIVATE_PROFILE_TITLE_API) + @RequiresApi(VANILLA_ICE_CREAM) + @StringRes + public int getTitleForPrivateProfileResId() { + if (!SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException( + "getTitleForPrivateProfileResId unsupported for SDKs lower than V"); + } + if (mType == SAFETY_SOURCE_TYPE_ISSUE_ONLY) { + throw new UnsupportedOperationException( + "getTitleForPrivateProfileResId unsupported for issue-only safety source"); + } + if (mProfile == PROFILE_PRIMARY) { + throw new UnsupportedOperationException( + "getTitleForPrivateProfileResId unsupported for primary profile safety source"); + } + return mTitleForPrivateProfileResId; + } + + /** * Returns the resource id of the summary of this safety source. * * <p>The id refers to a string resource that is either accessible from any resource context or @@ -554,7 +594,8 @@ public final class SafetySource implements Parcelable { && mRefreshOnPageOpenAllowed == that.mRefreshOnPageOpenAllowed && mNotificationsAllowed == that.mNotificationsAllowed && Objects.equals(mDeduplicationGroup, that.mDeduplicationGroup) - && Objects.equals(mPackageCertificateHashes, that.mPackageCertificateHashes); + && Objects.equals(mPackageCertificateHashes, that.mPackageCertificateHashes) + && mTitleForPrivateProfileResId == that.mTitleForPrivateProfileResId; } @Override @@ -575,7 +616,8 @@ public final class SafetySource implements Parcelable { mRefreshOnPageOpenAllowed, mNotificationsAllowed, mDeduplicationGroup, - mPackageCertificateHashes); + mPackageCertificateHashes, + mTitleForPrivateProfileResId); } @Override @@ -613,6 +655,8 @@ public final class SafetySource implements Parcelable { + mDeduplicationGroup + ", mPackageCertificateHashes=" + mPackageCertificateHashes + + ", mTitleForPrivateProfileResId=" + + mTitleForPrivateProfileResId + '}'; } @@ -641,6 +685,9 @@ public final class SafetySource implements Parcelable { dest.writeString(mDeduplicationGroup); dest.writeStringList(List.copyOf(mPackageCertificateHashes)); } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + dest.writeInt(mTitleForPrivateProfileResId); + } } /** Builder class for {@link SafetySource}. */ @@ -662,6 +709,7 @@ public final class SafetySource implements Parcelable { @Nullable private Boolean mNotificationsAllowed; @Nullable private String mDeduplicationGroup; @NonNull private final ArraySet<String> mPackageCertificateHashes = new ArraySet<>(); + @Nullable @StringRes private Integer mTitleForPrivateProfileResId; /** Creates a {@link Builder} for a {@link SafetySource}. */ public Builder(@SafetySourceType int type) { @@ -692,6 +740,7 @@ public final class SafetySource implements Parcelable { mNotificationsAllowed = safetySource.mNotificationsAllowed; mDeduplicationGroup = safetySource.mDeduplicationGroup; mPackageCertificateHashes.addAll(safetySource.mPackageCertificateHashes); + mTitleForPrivateProfileResId = safetySource.mTitleForPrivateProfileResId; } /** @@ -759,6 +808,32 @@ public final class SafetySource implements Parcelable { } /** + * Sets the resource id of the title for private profile of this safety source. + * + * <p>The id must refer to a string resource that is either accessible from any resource + * context or that is accessible from the same resource context that was used to load the + * Safety Center configuration. The id defaults to {@link Resources#ID_NULL} when a title + * for private profile is not provided. + * + * <p>The title for private profile is required if the profile property of the source is set + * to {@link SafetySource#PROFILE_ALL} and either the source is of type static or the source + * is a source of type dynamic that is not hidden and that does not provide search terms. + * The title for private profile is prohibited for sources of type issue-only and if the + * profile property of the source is not set to {@link SafetySource#PROFILE_ALL}. + */ + @FlaggedApi(Flags.FLAG_PRIVATE_PROFILE_TITLE_API) + @RequiresApi(VANILLA_ICE_CREAM) + @NonNull + public Builder setTitleForPrivateProfileResId(@StringRes int titleForPrivateProfileResId) { + if (!SdkLevel.isAtLeastV()) { + throw new UnsupportedOperationException( + "setTitleForPrivateProfileResId unsupported for SDKs lower than V"); + } + mTitleForPrivateProfileResId = titleForPrivateProfileResId; + return this; + } + + /** * Sets the resource id of the summary of this safety source. * * <p>The id must refer to a string resource that is either accessible from any resource @@ -984,7 +1059,7 @@ public final class SafetySource implements Parcelable { PROFILE_NONE, PROFILE_PRIMARY, PROFILE_ALL); - boolean hasWork = profile == PROFILE_ALL; + boolean hasAllProfiles = profile == PROFILE_ALL; int searchTermsResId = BuilderUtils.validateResId( @@ -1000,8 +1075,8 @@ public final class SafetySource implements Parcelable { BuilderUtils.validateResId( mTitleForWorkResId, "titleForWork", - hasWork && titleRequired, - !hasWork || isIssueOnly); + hasAllProfiles && titleRequired, + !hasAllProfiles || isIssueOnly); int summaryResId = BuilderUtils.validateResId( @@ -1052,6 +1127,16 @@ public final class SafetySource implements Parcelable { packageCertificateHashes, "packageCertificateHashes", false, isStatic); } + int titleForPrivateProfileResId = Resources.ID_NULL; + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + titleForPrivateProfileResId = + BuilderUtils.validateResId( + mTitleForPrivateProfileResId, + "titleForPrivateProfile", + hasAllProfiles && titleRequired, + !hasAllProfiles || isIssueOnly); + } + return new SafetySource( type, id, @@ -1068,7 +1153,8 @@ public final class SafetySource implements Parcelable { refreshOnPageOpenAllowed, notificationsAllowed, deduplicationGroup, - packageCertificateHashes); + packageCertificateHashes, + titleForPrivateProfileResId); } } } diff --git a/framework-s/java/android/safetycenter/config/safety_center_config-v35.xsd b/framework-s/java/android/safetycenter/config/safety_center_config-v35.xsd new file mode 100644 index 000000000..20b1e7655 --- /dev/null +++ b/framework-s/java/android/safetycenter/config/safety_center_config-v35.xsd @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright (C) 2021 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. + --> +<!-- This file contains comments that define constraints that cannot be covered by the XSD language --> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + version="1.0"> + + <xsd:element name="safety-center-config" type="safety-center-config"/> + + <xsd:complexType name="safety-center-config"> + <xsd:sequence> + <xsd:element name="safety-sources-config" type="safety-sources-config"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="safety-sources-config"> + <xsd:sequence> + <xsd:element + name="safety-sources-group" type="safety-sources-group" + minOccurs="1" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="safety-sources-group"> + <xsd:choice minOccurs="1" maxOccurs="unbounded"> + <xsd:element name="dynamic-safety-source" type="dynamic-safety-source"/> + <xsd:element name="static-safety-source" type="static-safety-source"/> + <xsd:element name="issue-only-safety-source" type="issue-only-safety-source"/> + </xsd:choice> + <!-- id must be unique among safety sources groups --> + <xsd:attribute name="id" type="idOrStringResourceName" use="required"/> + <!-- title is required unless the group contains issue only and/or internal sources --> + <xsd:attribute name="title" type="runtimeStringResourceName"/> + <xsd:attribute name="summary" type="runtimeStringResourceName"/> + <xsd:attribute name="statelessIconType" type="statelessIconTypeOrStringResourceName" + default="none"/> + <!-- type is inferred from other attributes and the group content if omitted --> + <xsd:attribute name="type" type="groupTypeOrStringResourceName"/> + </xsd:complexType> + + <xsd:complexType name="dynamic-safety-source"> + <!-- id must be unique among safety sources --> + <xsd:attribute name="id" type="idOrStringResourceName" use="required"/> + <xsd:attribute name="packageName" type="stringOrStringResourceName" use="required"/> + <!-- optional comma-separated set of certificate hashes, if provided will be used for validation. --> + <xsd:attribute name="packageCertificateHashes" type="stringOrStringResourceName"/> + <!-- title is required if initialDisplayState is not set to hidden or if searchTerms are provided --> + <xsd:attribute name="title" type="runtimeStringResourceName"/> + <!-- titleForWork is required if profile is set to all_profiles, and initialDisplayState is not set to hidden or if searchTerms are provided --> + <!-- titleForWork is prohibited if profile is set to primary_profile_only --> + <xsd:attribute name="titleForWork" type="runtimeStringResourceName"/> + <!-- titleForPrivateProfile is required if profile is set to all_profiles, and initialDisplayState is not set to hidden or if searchTerms are provided --> + <!-- titleForPrivateProfile is prohibited if profile is set to primary_profile_only --> + <xsd:attribute name="titleForPrivateProfile" type="runtimeStringResourceName"/> + <!-- summary is required if initialDisplayState is not set to hidden --> + <xsd:attribute name="summary" type="runtimeStringResourceName"/> + <!-- intentAction is required if initialDisplayState is set to enabled --> + <xsd:attribute name="intentAction" type="stringOrStringResourceName"/> + <xsd:attribute name="profile" type="profile" use="required"/> + <xsd:attribute name="initialDisplayState" type="initialDisplayStateOrStringResourceName" + default="enabled"/> + <xsd:attribute name="maxSeverityLevel" type="intOrStringResourceName" default="2147483647"/> + <xsd:attribute name="searchTerms" type="runtimeStringResourceName"/> + <xsd:attribute name="loggingAllowed" type="booleanOrStringResourceName" default="true"/> + <xsd:attribute name="refreshOnPageOpenAllowed" type="booleanOrStringResourceName" + default="false"/> + <xsd:attribute name="notificationsAllowed" type="booleanOrStringResourceName" + default="false"/> + <xsd:attribute name="deduplicationGroup" type="stringOrStringResourceName"/> + </xsd:complexType> + + <xsd:complexType name="issue-only-safety-source"> + <!-- id must be unique among safety sources --> + <xsd:attribute name="id" type="idOrStringResourceName" use="required"/> + <xsd:attribute name="packageName" type="stringOrStringResourceName" use="required"/> + <!-- optional comma-separated set of certificate hashes, if provided will be used for validation. --> + <xsd:attribute name="packageCertificateHashes" type="stringOrStringResourceName"/> + <xsd:attribute name="profile" type="profileOrStringResourceName" use="required"/> + <xsd:attribute name="maxSeverityLevel" type="intOrStringResourceName" default="2147483647"/> + <xsd:attribute name="loggingAllowed" type="booleanOrStringResourceName" default="true"/> + <xsd:attribute name="refreshOnPageOpenAllowed" type="booleanOrStringResourceName" + default="false"/> + <xsd:attribute name="notificationsAllowed" type="booleanOrStringResourceName" + default="false"/> + <xsd:attribute name="deduplicationGroup" type="stringOrStringResourceName"/> + </xsd:complexType> + + <xsd:complexType name="static-safety-source"> + <!-- id must be unique among safety sources --> + <xsd:attribute name="id" type="idOrStringResourceName" use="required"/> + <xsd:attribute name="packageName" type="stringOrStringResourceName"/> + <xsd:attribute name="title" type="runtimeStringResourceName" use="required"/> + <!-- titleForWork is required if profile is set to all_profiles --> + <!-- titleForWork is prohibited if profile is set to primary_profile_only --> + <xsd:attribute name="titleForWork" type="runtimeStringResourceName"/> + <!-- titleForPrivateProfile is required if profile is set to all_profiles --> + <!-- titleForPrivateProfile is prohibited if profile is set to primary_profile_only --> + <xsd:attribute name="titleForPrivateProfile" type="runtimeStringResourceName"/> + <xsd:attribute name="summary" type="runtimeStringResourceName"/> + <xsd:attribute name="intentAction" type="stringOrStringResourceName" use="required"/> + <xsd:attribute name="profile" type="profileOrStringResourceName" use="required"/> + <xsd:attribute name="searchTerms" type="runtimeStringResourceName"/> + </xsd:complexType> + + <xsd:simpleType name="intOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type xsd:int. --> + <xsd:union memberTypes="stringResourceName xsd:int"/> + </xsd:simpleType> + + <xsd:simpleType name="booleanOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type xsd:boolean. --> + <xsd:union memberTypes="stringResourceName xsd:boolean"/> + </xsd:simpleType> + + <xsd:simpleType name="stringOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type xsd:string. --> + <xsd:union memberTypes="stringResourceName xsd:string"/> + </xsd:simpleType> + + <xsd:simpleType name="idOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type xsd:string. --> + <xsd:union memberTypes="stringResourceName id"/> + </xsd:simpleType> + + <xsd:simpleType name="id"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="[0-9a-zA-Z_-]+"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="statelessIconTypeOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type statelessIconType. --> + <xsd:union memberTypes="stringResourceName statelessIconType"/> + </xsd:simpleType> + + <xsd:simpleType name="statelessIconType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="none"/> + <xsd:enumeration value="privacy"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="profileOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type profile. --> + <xsd:union memberTypes="stringResourceName profile"/> + </xsd:simpleType> + + <xsd:simpleType name="profile"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="primary_profile_only"/> + <xsd:enumeration value="all_profiles"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="initialDisplayStateOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type initialDisplayState. --> + <xsd:union memberTypes="stringResourceName initialDisplayState"/> + </xsd:simpleType> + + <xsd:simpleType name="initialDisplayState"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="enabled"/> + <xsd:enumeration value="disabled"/> + <xsd:enumeration value="hidden"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="groupTypeOrStringResourceName"> + <!-- String resource names will be resolved only once at parse time. --> + <!-- Locale changes and device config changes will be ignored. --> + <!-- The value of the string resource must be of type groupType. --> + <xsd:union memberTypes="stringResourceName groupType"/> + </xsd:simpleType> + + <xsd:simpleType name="groupType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="stateless"/> + <xsd:enumeration value="stateful"/> + <xsd:enumeration value="hidden"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="runtimeStringResourceName"> + <!-- String resource names will be resolved at runtime whenever the string value is used. --> + <xsd:union memberTypes="stringResourceName"/> + </xsd:simpleType> + + <!-- String resource names will be ignored for any attribute not directly or indirectly marked as stringResourceName. --> + <!-- A stringResourceName is a fully qualified resource name of the form "@package:string/entry". Package is required. --> + <xsd:simpleType name="stringResourceName"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="@([a-z]+\.)*[a-z]+:string/.+"/> + </xsd:restriction> + </xsd:simpleType> + +</xsd:schema> diff --git a/framework-s/lint-baseline.xml b/framework-s/lint-baseline.xml index b91b959e4..eb4ed1796 100644 --- a/framework-s/lint-baseline.xml +++ b/framework-s/lint-baseline.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev"> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.content.Context#getUser`" - errorLine1=" .append(String.valueOf(mContext.getUser().getIdentifier())).println();" - errorLine2=" ~~~~~~~"> + message="Call requires API level 33 (current min is 30): `android.util.Slog#e`" + errorLine1=' Slog.e(LOG_TAG, "Failed to unbind: " + e);' + errorLine2=" ~"> <location file="frameworks/base/core/java/com/android/internal/infra/ServiceConnector.java" - line="707" - column="53"/> + line="576" + column="26"/> </issue> <issue @@ -25,13 +25,13 @@ <issue id="NewApi" - message="Call requires API level 33 (current min is 30): `android.util.Slog#e`" - errorLine1=' Slog.e(LOG_TAG, "Failed to unbind: " + e);' - errorLine2=" ~"> + message="Call requires API level 31 (current min is 30): `android.content.Context#getUser`" + errorLine1=" .append(String.valueOf(mContext.getUser().getIdentifier())).println();" + errorLine2=" ~~~~~~~"> <location file="frameworks/base/core/java/com/android/internal/infra/ServiceConnector.java" - line="576" - column="26"/> + line="707" + column="53"/> </issue> </issues>
\ No newline at end of file diff --git a/framework/java/android/permission/PermissionState.java b/framework/java/android/permission/PermissionStateUnused.java index e810db8ec..21b21cc27 100644 --- a/framework/java/android/permission/PermissionState.java +++ b/framework/java/android/permission/PermissionStateUnused.java @@ -19,4 +19,4 @@ package android.permission; /** * @hide */ -public class PermissionState {} +public class PermissionStateUnused {} diff --git a/permissions/com.android.permissioncontroller.xml b/permissions/com.android.permissioncontroller.xml index 957a29ee0..60484e24e 100644 --- a/permissions/com.android.permissioncontroller.xml +++ b/permissions/com.android.permissioncontroller.xml @@ -34,5 +34,6 @@ <permission name="android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS" /> <permission name="android.permission.START_TASKS_FROM_RECENTS" /> <permission name="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" /> + <permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" /> </privapp-permissions> </permissions> diff --git a/service/Android.bp b/service/Android.bp index 64f0dd5e2..712aed793 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -45,9 +45,6 @@ java_library { "com.android.permission", "test_com.android.permission", ], - lint: { - baseline_filename: "lint-baseline.xml", - }, } java_library { @@ -66,9 +63,6 @@ java_library { installable: false, min_sdk_version: "30", sdk_version: "system_server_current", - lint: { - baseline_filename: "lint-baseline.xml", - }, } java_sdk_library { @@ -115,8 +109,10 @@ java_sdk_library { "safety-center-resources-lib", "service-permission-shared", "service-permission-statsd", + "permissioncontroller-statsd", "service-permission-proto-stream", "android.permission.flags-aconfig-java", + "permissions-aconfig-flags-lib", ], errorprone: { javacflags: ["-Xep:GuardedBy:ERROR"], @@ -131,7 +127,6 @@ java_sdk_library { "-Xno-receiver-assertions", ], lint: { - strict_updatability_linting: true, baseline_filename: "lint-baseline.xml", }, min_sdk_version: "30", @@ -143,6 +138,7 @@ java_sdk_library { installable: true, permitted_packages: [ "com.android.access", + "com.android.ecm", "com.android.permission", "com.android.role", "com.android.safetycenter", @@ -151,6 +147,9 @@ java_sdk_library { proguard_compatibility: false, // TODO(b/215530220): remove when this is default behavior proguard_flags_files: ["proguard.flags"], }, + aconfig_declarations: [ + "permissions-aconfig-flags", + ], } genrule { @@ -176,7 +175,4 @@ java_library { ], min_sdk_version: "30", sdk_version: "system_server_current", - lint: { - baseline_filename: "lint-baseline.xml", - }, } diff --git a/service/jarjar-rules.txt b/service/jarjar-rules.txt index a3fd75930..5bba54616 100644 --- a/service/jarjar-rules.txt +++ b/service/jarjar-rules.txt @@ -1,8 +1,11 @@ rule android.os.HandlerExecutor com.android.permission.jarjar.@0 -rule android.permission.flags.** com.android.permission.jarjar.@0 +rule android.permission.flags.*Flags* com.android.permission.jarjar.@0 +rule android.permission.flags.Flags com.android.permission.jarjar.@0 rule android.util.IndentingPrintWriter com.android.permission.jarjar.@0 rule com.android.internal.** com.android.permission.jarjar.@0 rule com.android.modules.** com.android.permission.jarjar.@0 +rule com.android.permission.flags.*Flags* com.android.permission.jarjar.@0 +rule com.android.permission.flags.Flags com.android.permission.jarjar.@0 rule com.android.role.*Proto com.android.permission.jarjar.@0 # TODO(b/236200992): Revisit addition of rule com.android.safetycenter.annotations, # com.android.safetycenter.internaldata, com.android.safetycenter.pendingintents and @@ -13,3 +16,4 @@ rule com.android.safetycenter.pendingintents.** com.android.permission.jarjar.@0 rule com.android.safetycenter.resources.** com.android.permission.jarjar.@0 rule com.google.protobuf.** com.android.permission.jarjar.@0 rule kotlin.** com.android.permission.jarjar.@0 +rule com.android.permissioncontroller.PermissionControllerStatsLog com.android.permission.jarjar.@0
\ No newline at end of file diff --git a/service/java/com/android/ecm/EnhancedConfirmationService.java b/service/java/com/android/ecm/EnhancedConfirmationService.java new file mode 100644 index 000000000..566de23ca --- /dev/null +++ b/service/java/com/android/ecm/EnhancedConfirmationService.java @@ -0,0 +1,405 @@ +/* + * Copyright (C) 2024 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.ecm; + +import android.Manifest; +import android.annotation.FlaggedApi; +import android.annotation.IntDef; +import android.annotation.UserIdInt; +import android.app.AppOpsManager; +import android.app.ecm.EnhancedConfirmationManager; +import android.app.ecm.IEnhancedConfirmationManager; +import android.app.role.RoleManager; +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.InstallSourceInfo; +import android.content.pm.PackageInstaller; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.SignedPackage; +import android.os.Binder; +import android.os.Build; +import android.os.SystemConfigManager; +import android.os.UserHandle; +import android.permission.flags.Flags; +import android.util.ArrayMap; +import android.util.ArraySet; +import android.util.Log; + +import androidx.annotation.Keep; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; + +import com.android.internal.util.Preconditions; +import com.android.permission.util.UserUtils; +import com.android.server.SystemService; + +import java.lang.annotation.Retention; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + + +/** + * Service for ECM (Enhanced Confirmation Mode). + * + * @see EnhancedConfirmationManager + * + * @hide + */ +@Keep +@FlaggedApi(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) +@RequiresApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) +public class EnhancedConfirmationService extends SystemService { + private static final String LOG_TAG = EnhancedConfirmationService.class.getSimpleName(); + + private Map<String, List<byte[]>> mTrustedPackageCertDigests; + private Map<String, List<byte[]>> mTrustedInstallerCertDigests; + + public EnhancedConfirmationService(@NonNull Context context) { + super(context); + } + + @Override + public void onStart() { + Context context = getContext(); + SystemConfigManager systemConfigManager = context.getSystemService( + SystemConfigManager.class); + mTrustedPackageCertDigests = toTrustedPackageMap( + systemConfigManager.getEnhancedConfirmationTrustedPackages()); + mTrustedInstallerCertDigests = toTrustedPackageMap( + systemConfigManager.getEnhancedConfirmationTrustedInstallers()); + + publishBinderService(Context.ECM_ENHANCED_CONFIRMATION_SERVICE, new Stub()); + } + + private Map<String, List<byte[]>> toTrustedPackageMap(Set<SignedPackage> signedPackages) { + ArrayMap<String, List<byte[]>> trustedPackageMap = new ArrayMap<>(); + for (SignedPackage signedPackage : signedPackages) { + ArrayList<byte[]> certDigests = (ArrayList<byte[]>) trustedPackageMap.computeIfAbsent( + signedPackage.getPackageName(), packageName -> new ArrayList<>(1)); + certDigests.add(signedPackage.getCertificateDigest()); + } + return trustedPackageMap; + } + + private class Stub extends IEnhancedConfirmationManager.Stub { + + /** A map of ECM states to their corresponding app op states */ + @Retention(java.lang.annotation.RetentionPolicy.SOURCE) + @IntDef(prefix = {"ECM_STATE_"}, value = {EcmState.ECM_STATE_NOT_GUARDED, + EcmState.ECM_STATE_GUARDED, EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED, + EcmState.ECM_STATE_IMPLICIT}) + private @interface EcmState { + int ECM_STATE_NOT_GUARDED = AppOpsManager.MODE_ALLOWED; + int ECM_STATE_GUARDED = AppOpsManager.MODE_ERRORED; + int ECM_STATE_GUARDED_AND_ACKNOWLEDGED = AppOpsManager.MODE_IGNORED; + int ECM_STATE_IMPLICIT = AppOpsManager.MODE_DEFAULT; + } + + private static final ArraySet<String> PROTECTED_SETTINGS = new ArraySet<>(); + + static { + // Runtime permissions + // TODO(b/310654818): Construct this list by permission group instead of by permission + PROTECTED_SETTINGS.add(Manifest.permission.READ_PHONE_STATE); + PROTECTED_SETTINGS.add(Manifest.permission.READ_PHONE_NUMBERS); + PROTECTED_SETTINGS.add(Manifest.permission.CALL_PHONE); + PROTECTED_SETTINGS.add(Manifest.permission.ADD_VOICEMAIL); + PROTECTED_SETTINGS.add(Manifest.permission.USE_SIP); + PROTECTED_SETTINGS.add(Manifest.permission.ANSWER_PHONE_CALLS); + PROTECTED_SETTINGS.add(Manifest.permission.ACCEPT_HANDOVER); + PROTECTED_SETTINGS.add(Manifest.permission_group.PHONE); + + PROTECTED_SETTINGS.add(Manifest.permission.SEND_SMS); + PROTECTED_SETTINGS.add(Manifest.permission.RECEIVE_SMS); + PROTECTED_SETTINGS.add(Manifest.permission.READ_SMS); + PROTECTED_SETTINGS.add(Manifest.permission.RECEIVE_MMS); + PROTECTED_SETTINGS.add(Manifest.permission.RECEIVE_WAP_PUSH); + PROTECTED_SETTINGS.add(Manifest.permission.READ_CELL_BROADCASTS); + PROTECTED_SETTINGS.add(Manifest.permission_group.SMS); + + PROTECTED_SETTINGS.add(Manifest.permission.BIND_DEVICE_ADMIN); + // TODO(b/310654818): Add other explicitly protected runtime permissions + // App ops + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE); + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_ACCESS_NOTIFICATIONS); + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_SYSTEM_ALERT_WINDOW); + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_GET_USAGE_STATS); + PROTECTED_SETTINGS.add(AppOpsManager.OPSTR_LOADER_USAGE_STATS); + // Default application roles. + PROTECTED_SETTINGS.add(RoleManager.ROLE_DIALER); + PROTECTED_SETTINGS.add(RoleManager.ROLE_SMS); + // TODO(b/310654015): Add other explicitly protected settings + } + + private final @NonNull Context mContext; + private final String mAttributionTag; + private final AppOpsManager mAppOpsManager; + private final PackageManager mPackageManager; + + Stub() { + Context context = getContext(); + mContext = context; + mAttributionTag = context.getAttributionTag(); + mAppOpsManager = context.getSystemService(AppOpsManager.class); + mPackageManager = context.getPackageManager(); + } + + public boolean isRestricted(@NonNull String packageName, @NonNull String settingIdentifier, + @UserIdInt int userId) { + enforcePermissions("isRestricted", userId); + if (!UserUtils.isUserExistent(userId, getContext())) { + Log.e(LOG_TAG, "user " + userId + " does not exist"); + return false; + } + + Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty"); + Preconditions.checkStringNotEmpty(settingIdentifier, + "settingIdentifier cannot be null or empty"); + + try { + return isSettingEcmProtected(settingIdentifier) && isPackageEcmGuarded(packageName, + userId); + } catch (NameNotFoundException e) { + throw new IllegalArgumentException(e); + } + } + + public void clearRestriction(@NonNull String packageName, @UserIdInt int userId) { + enforcePermissions("clearRestriction", userId); + if (!UserUtils.isUserExistent(userId, getContext())) { + return; + } + + Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty"); + + try { + int state = getAppEcmState(packageName, userId); + boolean isAllowed = state == EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED; + if (!isAllowed) { + throw new IllegalStateException("Clear restriction attempted but not allowed"); + } + setAppEcmState(packageName, EcmState.ECM_STATE_NOT_GUARDED, userId); + EnhancedConfirmationStatsLogUtils.INSTANCE.logRestrictionCleared( + getPackageUid(packageName, userId)); + } catch (NameNotFoundException e) { + throw new IllegalArgumentException(e); + } + } + + public boolean isClearRestrictionAllowed(@NonNull String packageName, + @UserIdInt int userId) { + enforcePermissions("isClearRestrictionAllowed", userId); + if (!UserUtils.isUserExistent(userId, getContext())) { + return false; + } + + Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty"); + + try { + int state = getAppEcmState(packageName, userId); + return state == EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED; + } catch (NameNotFoundException e) { + throw new IllegalArgumentException(e); + } + } + + public void setClearRestrictionAllowed(@NonNull String packageName, @UserIdInt int userId) { + enforcePermissions("setClearRestrictionAllowed", userId); + if (!UserUtils.isUserExistent(userId, getContext())) { + return; + } + + Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty"); + + try { + if (isPackageEcmGuarded(packageName, userId)) { + setAppEcmState(packageName, EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED, + userId); + } + } catch (NameNotFoundException e) { + throw new IllegalArgumentException(e); + } + } + + private void enforcePermissions(@NonNull String methodName, @UserIdInt int userId) { + UserUtils.enforceCrossUserPermission(userId, false, methodName, mContext); + mContext.enforceCallingOrSelfPermission( + android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES, methodName); + } + + private boolean isPackageEcmGuarded(@NonNull String packageName, @UserIdInt int userId) + throws NameNotFoundException { + ApplicationInfo applicationInfo = getApplicationInfoAsUser(packageName, userId); + // Always trust allow-listed and pre-installed packages + if (isAllowlistedPackage(packageName) || isAllowlistedInstaller(packageName) + || isPackagePreinstalled(applicationInfo)) { + return false; + } + + // If the package already has an explicitly-set state, use that + @EcmState int ecmState = getAppEcmState(packageName, userId); + if (ecmState == EcmState.ECM_STATE_GUARDED + || ecmState == EcmState.ECM_STATE_GUARDED_AND_ACKNOWLEDGED) { + return true; + } + if (ecmState == EcmState.ECM_STATE_NOT_GUARDED) { + return false; + } + + // Otherwise, lazily decide whether the app is considered guarded. + InstallSourceInfo installSource; + try { + installSource = mContext.createContextAsUser(UserHandle.of(userId), 0) + .getPackageManager() + .getInstallSourceInfo(packageName); + } catch (NameNotFoundException e) { + Log.w(LOG_TAG, "Package not found: " + packageName); + return false; + } + + // These install sources are always considered dangerous. + // PackageInstallers that are trusted can use these as a signal that the + // packages they've installed aren't as trusted as themselves. + int packageSource = installSource.getPackageSource(); + if (packageSource == PackageInstaller.PACKAGE_SOURCE_LOCAL_FILE + || packageSource == PackageInstaller.PACKAGE_SOURCE_DOWNLOADED_FILE) { + return true; + } + String installingPackageName = installSource.getInstallingPackageName(); + ApplicationInfo installingApplicationInfo = + getApplicationInfoAsUser(installingPackageName, userId); + // TODO(b/330927429): We might need a long-term solution to persist the installer's + // targetSdkVersion if it is uninstalled. + if (packageSource == PackageInstaller.PACKAGE_SOURCE_UNSPECIFIED + && installingApplicationInfo != null + && installingApplicationInfo.targetSdkVersion + >= Build.VERSION_CODES.VANILLA_ICE_CREAM) { + return true; + } + + // ECM doesn't consider a transitive chain of trust for install sources. + // If this package hasn't been explicitly handled by this point + // then it is exempt from ECM if the immediate parent is a trusted installer + return !(trustPackagesInstalledViaNonAllowlistedInstallers() + || isPackagePreinstalled(installingApplicationInfo) + || isAllowlistedInstaller(installingPackageName)); + } + + private boolean isAllowlistedPackage(String packageName) { + return isPackageSignedWithAnyOf(packageName, + mTrustedPackageCertDigests.get(packageName)); + } + + private boolean isAllowlistedInstaller(String packageName) { + return isPackageSignedWithAnyOf(packageName, + mTrustedInstallerCertDigests.get(packageName)); + } + + private boolean isPackageSignedWithAnyOf(String packageName, List<byte[]> certDigests) { + if (packageName != null && certDigests != null) { + for (int i = 0, count = certDigests.size(); i < count; i++) { + byte[] trustedCertDigest = certDigests.get(i); + if (mPackageManager.hasSigningCertificate(packageName, trustedCertDigest, + PackageManager.CERT_INPUT_SHA256)) { + return true; + } + } + } + return false; + } + + /** + * @return {@code true} if zero {@code <enhanced-confirmation-trusted-installer>} entries + * are defined in {@code frameworks/base/data/etc/enhanced-confirmation.xml}; in this case, + * we treat all installers as trusted. + */ + private boolean trustPackagesInstalledViaNonAllowlistedInstallers() { + return mTrustedInstallerCertDigests.isEmpty(); + } + + private boolean isPackagePreinstalled(@Nullable ApplicationInfo applicationInfo) { + if (applicationInfo == null) { + return false; + } + return (applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0; + } + + private void setAppEcmState(@NonNull String packageName, @EcmState int ecmState, + @UserIdInt int userId) throws NameNotFoundException { + int packageUid = getPackageUid(packageName, userId); + final long identityToken = Binder.clearCallingIdentity(); + try { + mAppOpsManager.setMode(AppOpsManager.OPSTR_ACCESS_RESTRICTED_SETTINGS, packageUid, + packageName, ecmState); + } finally { + Binder.restoreCallingIdentity(identityToken); + } + } + + private @EcmState int getAppEcmState(@NonNull String packageName, @UserIdInt int userId) + throws NameNotFoundException { + int packageUid = getPackageUid(packageName, userId); + final long identityToken = Binder.clearCallingIdentity(); + try { + return mAppOpsManager.noteOpNoThrow(AppOpsManager.OPSTR_ACCESS_RESTRICTED_SETTINGS, + packageUid, packageName, mAttributionTag, /* message */ null); + } finally { + Binder.restoreCallingIdentity(identityToken); + } + } + + private boolean isSettingEcmProtected(@NonNull String settingIdentifier) { + if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK) + || mPackageManager.hasSystemFeature(PackageManager.FEATURE_WATCH) + || mPackageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { + return false; + } + + if (PROTECTED_SETTINGS.contains(settingIdentifier)) { + return true; + } + // TODO(b/310218979): Add role selections as protected settings + return false; + } + + @Nullable + private ApplicationInfo getApplicationInfoAsUser(@Nullable String packageName, + @UserIdInt int userId) { + if (packageName == null) { + Log.w(LOG_TAG, "The packageName should not be null."); + return null; + } + try { + return mPackageManager.getApplicationInfoAsUser(packageName, /* flags */ 0, + UserHandle.of(userId)); + } catch (NameNotFoundException e) { + Log.w(LOG_TAG, "Package not found: " + packageName, e); + return null; + } + } + + private int getPackageUid(@NonNull String packageName, @UserIdInt int userId) + throws NameNotFoundException { + return mPackageManager.getApplicationInfoAsUser(packageName, /* flags */ 0, + UserHandle.of(userId)).uid; + } + } +} diff --git a/service/java/com/android/ecm/EnhancedConfirmationStatsLogUtils.kt b/service/java/com/android/ecm/EnhancedConfirmationStatsLogUtils.kt new file mode 100644 index 000000000..5bf925fc7 --- /dev/null +++ b/service/java/com/android/ecm/EnhancedConfirmationStatsLogUtils.kt @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2024 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.ecm + +import android.permission.flags.Flags +import android.util.Log +import com.android.internal.annotations.Keep +import com.android.modules.utils.build.SdkLevel +import com.android.permissioncontroller.PermissionControllerStatsLog + +/** + * Provides ECM-related metrics logging for Permission APEX services. + * + * @hide + */ +@Keep +object EnhancedConfirmationStatsLogUtils { + private val LOG_TAG = EnhancedConfirmationStatsLogUtils::class.java.simpleName + + fun logRestrictionCleared(uid: Int) { + if (!SdkLevel.isAtLeastV() || !Flags.enhancedConfirmationModeApisEnabled()) { + return + } + Log.v(LOG_TAG, "ENHANCED_CONFIRMATION_RESTRICTION_CLEARED: uid='$uid'") + + PermissionControllerStatsLog.write( + PermissionControllerStatsLog.ENHANCED_CONFIRMATION_RESTRICTION_CLEARED, + uid + ) + } +} diff --git a/service/java/com/android/permission/util/UserUtils.java b/service/java/com/android/permission/util/UserUtils.java index 8205be239..33389a88f 100644 --- a/service/java/com/android/permission/util/UserUtils.java +++ b/service/java/com/android/permission/util/UserUtils.java @@ -25,7 +25,9 @@ import android.os.UserHandle; import android.os.UserManager; import com.android.internal.util.Preconditions; +import com.android.modules.utils.build.SdkLevel; import com.android.permission.compat.UserHandleCompat; +import com.android.permission.flags.Flags; import java.util.List; @@ -92,6 +94,39 @@ public final class UserUtils { } /** + * Returns whether the given {@code userId} is a private profile. Note that private profiles are + * allowed from Android V+ only, so this method will return false on Sdk levels below that. + */ + public static boolean isPrivateProfile(@UserIdInt int userId, @NonNull Context context) { + if (!isPrivateProfileSupported()) { + return false; + } + // It's needed to clear the calling identity because we are going to query the UserManager + // for isPrivateProfile() and Context for createContextAsUser, which requires one of the + // following permissions: + // MANAGE_USERS, QUERY_USERS, or INTERACT_ACROSS_USERS. + final long identity = Binder.clearCallingIdentity(); + try { + Context userContext = context + .createContextAsUser(UserHandle.of(userId), /* flags= */ 0); + UserManager userManager = userContext.getSystemService(UserManager.class); + return userManager != null && userManager.isPrivateProfile(); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + + + /** + * Returns whether private profile's allowed to exist. This can be true iff the SdkLevel is at + * least V AND the permission module's private profile feature flag is enabled. + */ + public static boolean isPrivateProfileSupported() { + //TODO(b/286539356) add the os feature flag protection when available. + return SdkLevel.isAtLeastV() && Flags.privateProfileSupported(); + } + + /** * Returns whether a given {@code userId} corresponds to a running managed profile, i.e. the * user is running and the quiet mode is not enabled. */ diff --git a/service/java/com/android/role/RoleService.java b/service/java/com/android/role/RoleService.java index 2524627eb..8348d4064 100644 --- a/service/java/com/android/role/RoleService.java +++ b/service/java/com/android/role/RoleService.java @@ -100,15 +100,22 @@ public class RoleService extends SystemService implements RoleUserState.Callback private static final long GRANT_DEFAULT_ROLES_INTERVAL_MILLIS = 1000; - private static final String[] DEFAULT_APPLICATION_ROLES = { - RoleManager.ROLE_ASSISTANT, - RoleManager.ROLE_BROWSER, - RoleManager.ROLE_CALL_REDIRECTION, - RoleManager.ROLE_CALL_SCREENING, - RoleManager.ROLE_DIALER, - RoleManager.ROLE_HOME, - RoleManager.ROLE_SMS, - }; + private static final String[] DEFAULT_APPLICATION_ROLES; + + static { + List<String> defaultApplicationRoles = new ArrayList<>(); + defaultApplicationRoles.add(RoleManager.ROLE_ASSISTANT); + defaultApplicationRoles.add(RoleManager.ROLE_BROWSER); + defaultApplicationRoles.add(RoleManager.ROLE_CALL_REDIRECTION); + defaultApplicationRoles.add(RoleManager.ROLE_CALL_SCREENING); + defaultApplicationRoles.add(RoleManager.ROLE_DIALER); + defaultApplicationRoles.add(RoleManager.ROLE_HOME); + defaultApplicationRoles.add(RoleManager.ROLE_SMS); + if (SdkLevel.isAtLeastV()) { + defaultApplicationRoles.add(RoleManager.ROLE_WALLET); + } + DEFAULT_APPLICATION_ROLES = defaultApplicationRoles.toArray(new String[0]); + } @NonNull private final AppOpsManager mAppOpsManager; @@ -313,6 +320,11 @@ public class RoleService extends SystemService implements RoleUserState.Callback @AnyThread @NonNull private AndroidFuture<Void> maybeGrantDefaultRolesInternal(@UserIdInt int userId) { + if (!UserUtils.isUserExistent(userId, getContext())) { + Log.w(LOG_TAG, "User " + userId + " does not exist"); + return AndroidFuture.completedFuture(null); + } + RoleUserState userState = getOrCreateUserState(userId); String oldPackagesHash = userState.getPackagesHash(); String newPackagesHash = mPlatformHelper.computePackageStateHash(userId); @@ -923,6 +935,33 @@ public class RoleService extends SystemService implements RoleUserState.Callback } @Override + public String getEmergencyRoleHolder(int userId) { + final Context context = getContext(); + UserUtils.enforceCrossUserPermission(userId, false, "getEmergencyRoleHolder", context); + if (!UserUtils.isUserExistent(userId, getContext())) { + Log.e(LOG_TAG, "user " + userId + " does not exist"); + return null; + } + + getContext().enforceCallingOrSelfPermission( + Manifest.permission.READ_PRIVILEGED_PHONE_STATE, "getEmergencyRoleHolder"); + + final String packageName; + final long identity = Binder.clearCallingIdentity(); + try { + packageName = CollectionUtils.firstOrNull(getRoleHoldersAsUser( + RoleManager.ROLE_EMERGENCY, userId)); + } finally { + Binder.restoreCallingIdentity(identity); + } + if (packageName != null && !PackageUtils.canCallingOrSelfPackageQuery(packageName, + userId, context)) { + return null; + } + return packageName; + } + + @Override public boolean isRoleVisibleAsUser(@NonNull String roleName, @UserIdInt int userId) { UserUtils.enforceCrossUserPermission(userId, false, "isRoleVisibleAsUser", getContext()); diff --git a/service/java/com/android/role/TEST_MAPPING b/service/java/com/android/role/TEST_MAPPING index 45cf62ff7..e0e1160d8 100644 --- a/service/java/com/android/role/TEST_MAPPING +++ b/service/java/com/android/role/TEST_MAPPING @@ -34,6 +34,23 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsRoleTestCases", + "options": [ + // TODO(b/238677748): These two tests currently fails on R base image + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#openDefaultAppListThenIsNotDefaultAppInList" + }, + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#removeSmsRoleHolderThenPermissionIsRevoked" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsAppSecurityHostTestCases", diff --git a/service/java/com/android/safetycenter/SafetyCenterBroadcastDispatcher.java b/service/java/com/android/safetycenter/SafetyCenterBroadcastDispatcher.java index a36beb2d3..5c9dfa664 100644 --- a/service/java/com/android/safetycenter/SafetyCenterBroadcastDispatcher.java +++ b/service/java/com/android/safetycenter/SafetyCenterBroadcastDispatcher.java @@ -49,6 +49,7 @@ import androidx.annotation.Nullable; import com.android.permission.util.PackageUtils; import com.android.safetycenter.SafetyCenterConfigReader.Broadcast; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.data.SafetyCenterDataManager; import java.time.Duration; @@ -334,37 +335,35 @@ final class SafetyCenterBroadcastDispatcher { * lists of source IDs. * * <p>The set of user IDs (keys) is the profile parent user ID of {@code userProfileGroup} plus - * the (possibly empty) set of running managed profile user IDs in that group. - * + * all the other types of running profiles: + * <ol> + * <li>The (possibly empty) set of running managed profile user IDs in that group. + * <li>The (possibly empty) set of running private profile user ID in that group. + * </ol> * <p>Every value present is a non-empty list, but the overall result may be empty. */ private SparseArray<List<String>> getUserIdsToSourceIds( Broadcast broadcast, UserProfileGroup userProfileGroup, @RefreshReason int refreshReason) { - int[] managedProfileIds = userProfileGroup.getManagedRunningProfilesUserIds(); - SparseArray<List<String>> result = new SparseArray<>(managedProfileIds.length + 1); - List<String> profileParentSources = - getSourceIdsForRefreshReason( - refreshReason, - broadcast.getSourceIdsForProfileParent(), - broadcast.getSourceIdsForProfileParentOnPageOpen(), - userProfileGroup.getProfileParentUserId()); - - if (!profileParentSources.isEmpty()) { - result.put(userProfileGroup.getProfileParentUserId(), profileParentSources); - } - - for (int i = 0; i < managedProfileIds.length; i++) { - List<String> managedProfileSources = - getSourceIdsForRefreshReason( - refreshReason, - broadcast.getSourceIdsForManagedProfiles(), - broadcast.getSourceIdsForManagedProfilesOnPageOpen(), - managedProfileIds[i]); - - if (!managedProfileSources.isEmpty()) { - result.put(managedProfileIds[i], managedProfileSources); + SparseArray<List<String>> result = + new SparseArray<>(userProfileGroup.getNumRunningProfiles()); + for (int profilTypeIdx = 0; + profilTypeIdx < ProfileType.ALL_PROFILE_TYPES.length; + ++profilTypeIdx) { + @ProfileType int profileType = ProfileType.ALL_PROFILE_TYPES[profilTypeIdx]; + int[] runningProfiles = userProfileGroup.getRunningProfilesOfType(profileType); + for (int profileIdx = 0; profileIdx < runningProfiles.length; ++profileIdx) { + List<String> profileSources = + getSourceIdsForRefreshReason( + refreshReason, + broadcast.getSourceIdsForProfileType(profileType), + broadcast.getSourceIdsOnPageOpenForProfileType(profileType), + runningProfiles[profileIdx]); + + if (!profileSources.isEmpty()) { + result.put(runningProfiles[profileIdx], profileSources); + } } } diff --git a/service/java/com/android/safetycenter/SafetyCenterConfigReader.java b/service/java/com/android/safetycenter/SafetyCenterConfigReader.java index c473ad916..641c242f1 100644 --- a/service/java/com/android/safetycenter/SafetyCenterConfigReader.java +++ b/service/java/com/android/safetycenter/SafetyCenterConfigReader.java @@ -16,6 +16,11 @@ package com.android.safetycenter; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_MANAGED; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIMARY; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIVATE; + +import static java.util.Collections.emptyList; import static java.util.Collections.unmodifiableList; import static java.util.Objects.requireNonNull; @@ -28,6 +33,7 @@ import android.util.Log; import androidx.annotation.Nullable; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.config.ParseException; import com.android.safetycenter.config.SafetyCenterConfigParser; import com.android.safetycenter.resources.SafetyCenterResourcesApk; @@ -410,7 +416,7 @@ public final class SafetyCenterConfigReader { broadcast.mSourceIdsForProfileParentOnPageOpen.add(safetySource.getId()); } boolean needsManagedProfilesBroadcast = - SafetySources.supportsManagedProfiles(safetySource); + SafetySources.supportsProfileType(safetySource, PROFILE_TYPE_MANAGED); if (needsManagedProfilesBroadcast) { broadcast.mSourceIdsForManagedProfiles.add(safetySource.getId()); if (safetySource.isRefreshOnPageOpenAllowed()) { @@ -418,6 +424,19 @@ public final class SafetyCenterConfigReader { safetySource.getId()); } } + + // TODO(b/317378205): think about generalising these fields in Broadcast so that + // we are not duplicating the code - it can be a source of confusion and errors + // in future. + boolean needsPrivateProfileBroadcast = + SafetySources.supportsProfileType(safetySource, PROFILE_TYPE_PRIVATE); + if (needsPrivateProfileBroadcast) { + broadcast.mSourceIdsForPrivateProfile.add(safetySource.getId()); + if (safetySource.isRefreshOnPageOpenAllowed()) { + broadcast.mSourceIdsForPrivateProfileOnPageOpen.add( + safetySource.getId()); + } + } } } @@ -486,6 +505,8 @@ public final class SafetyCenterConfigReader { private final List<String> mSourceIdsForProfileParentOnPageOpen = new ArrayList<>(); private final List<String> mSourceIdsForManagedProfiles = new ArrayList<>(); private final List<String> mSourceIdsForManagedProfilesOnPageOpen = new ArrayList<>(); + private final List<String> mSourceIdsForPrivateProfile = new ArrayList<>(); + private final List<String> mSourceIdsForPrivateProfileOnPageOpen = new ArrayList<>(); private Broadcast(String packageName) { mPackageName = packageName; @@ -497,41 +518,42 @@ public final class SafetyCenterConfigReader { } /** - * Returns the safety source ids associated with this broadcast in the profile owner. - * - * <p>If this list is empty, there are no sources to dispatch to in the profile owner. - */ - List<String> getSourceIdsForProfileParent() { - return unmodifiableList(mSourceIdsForProfileParent); - } - - /** - * Returns the safety source ids associated with this broadcast in the profile owner that - * have refreshOnPageOpenAllowed set to true in the XML config. + * Returns the safety source ids associated with this broadcast in the given profile type. * - * <p>If this list is empty, there are no sources to dispatch to in the profile owner. + * <p>If this list is empty, there are no sources to dispatch to in the given profile type. */ - List<String> getSourceIdsForProfileParentOnPageOpen() { - return unmodifiableList(mSourceIdsForProfileParentOnPageOpen); - } - - /** - * Returns the safety source ids associated with this broadcast in the managed profile(s). - * - * <p>If this list is empty, there are no sources to dispatch to in the managed profile(s). - */ - List<String> getSourceIdsForManagedProfiles() { - return unmodifiableList(mSourceIdsForManagedProfiles); + List<String> getSourceIdsForProfileType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return unmodifiableList(mSourceIdsForProfileParent); + case PROFILE_TYPE_MANAGED: + return unmodifiableList(mSourceIdsForManagedProfiles); + case PROFILE_TYPE_PRIVATE: + return unmodifiableList(mSourceIdsForPrivateProfile); + default: + Log.w(TAG, "source ids asked for unexpected profile " + profileType); + return emptyList(); + } } /** - * Returns the safety source ids associated with this broadcast in the managed profile(s) + * Returns the safety source ids associated with this broadcast in the given profile type * that have refreshOnPageOpenAllowed set to true in the XML config. * - * <p>If this list is empty, there are no sources to dispatch to in the managed profile(s). + * <p>If this list is empty, there are no sources to dispatch to in the given profile type. */ - List<String> getSourceIdsForManagedProfilesOnPageOpen() { - return unmodifiableList(mSourceIdsForManagedProfilesOnPageOpen); + List<String> getSourceIdsOnPageOpenForProfileType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return unmodifiableList(mSourceIdsForProfileParentOnPageOpen); + case PROFILE_TYPE_MANAGED: + return unmodifiableList(mSourceIdsForManagedProfilesOnPageOpen); + case PROFILE_TYPE_PRIVATE: + return unmodifiableList(mSourceIdsForPrivateProfileOnPageOpen); + default: + Log.w(TAG, "source ids asked for unexpected profile " + profileType); + return emptyList(); + } } @Override @@ -545,7 +567,10 @@ public final class SafetyCenterConfigReader { that.mSourceIdsForProfileParentOnPageOpen) && mSourceIdsForManagedProfiles.equals(that.mSourceIdsForManagedProfiles) && mSourceIdsForManagedProfilesOnPageOpen.equals( - that.mSourceIdsForManagedProfilesOnPageOpen); + that.mSourceIdsForManagedProfilesOnPageOpen) + && mSourceIdsForPrivateProfile.equals(that.mSourceIdsForPrivateProfile) + && mSourceIdsForPrivateProfileOnPageOpen.equals( + that.mSourceIdsForPrivateProfileOnPageOpen); } @Override @@ -555,7 +580,9 @@ public final class SafetyCenterConfigReader { mSourceIdsForProfileParent, mSourceIdsForProfileParentOnPageOpen, mSourceIdsForManagedProfiles, - mSourceIdsForManagedProfilesOnPageOpen); + mSourceIdsForManagedProfilesOnPageOpen, + mSourceIdsForPrivateProfile, + mSourceIdsForPrivateProfileOnPageOpen); } @Override @@ -571,6 +598,10 @@ public final class SafetyCenterConfigReader { + mSourceIdsForManagedProfiles + ", mSourceIdsForManagedProfilesOnPageOpen=" + mSourceIdsForManagedProfilesOnPageOpen + + ", mSourceIdsForPrivateProfile=" + + mSourceIdsForPrivateProfile + + ", mSourceIdsForPrivateProfileOnPageOpen=" + + mSourceIdsForPrivateProfileOnPageOpen + '}'; } } diff --git a/service/java/com/android/safetycenter/SafetyCenterDataFactory.java b/service/java/com/android/safetycenter/SafetyCenterDataFactory.java index d74d160f4..7c7ade3f1 100644 --- a/service/java/com/android/safetycenter/SafetyCenterDataFactory.java +++ b/service/java/com/android/safetycenter/SafetyCenterDataFactory.java @@ -17,7 +17,11 @@ package com.android.safetycenter; import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE; +import static android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_MANAGED; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIMARY; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIVATE; import static com.android.safetycenter.internaldata.SafetyCenterBundles.ISSUES_TO_GROUPS_BUNDLE_KEY; import static com.android.safetycenter.internaldata.SafetyCenterBundles.STATIC_ENTRIES_TO_IDS_BUNDLE_KEY; @@ -53,7 +57,8 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.modules.utils.build.SdkLevel; -import com.android.permission.util.UserUtils; +import com.android.permission.flags.Flags; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.data.SafetyCenterDataManager; import com.android.safetycenter.internaldata.SafetyCenterBundles; import com.android.safetycenter.internaldata.SafetyCenterEntryId; @@ -387,42 +392,36 @@ public final class SafetyCenterDataFactory { List<SafetySource> safetySources = safetySourcesGroup.getSafetySources(); List<SafetyCenterEntry> entries = new ArrayList<>(safetySources.size()); - for (int i = 0; i < safetySources.size(); i++) { - SafetySource safetySource = safetySources.get(i); - - groupSafetyCenterEntryLevel = - mergeSafetyCenterEntrySeverityLevels( - groupSafetyCenterEntryLevel, - addSafetyCenterEntry( - safetyCenterOverallState, - entries, - safetySource, - defaultPackageName, - userProfileGroup.getProfileParentUserId(), - /* isUserManaged= */ false, - /* isManagedUserRunning= */ false)); - - if (!SafetySources.supportsManagedProfiles(safetySource)) { - continue; - } - - int[] managedProfilesUserIds = userProfileGroup.getManagedProfilesUserIds(); - for (int j = 0; j < managedProfilesUserIds.length; j++) { - int managedProfileUserId = managedProfilesUserIds[j]; - boolean isManagedUserRunning = - userProfileGroup.isManagedUserRunning(managedProfileUserId); + for (int safetySourceIdx = 0; safetySourceIdx < safetySources.size(); ++safetySourceIdx) { + SafetySource safetySource = safetySources.get(safetySourceIdx); + for (int profileTypeIdx = 0; + profileTypeIdx < ProfileType.ALL_PROFILE_TYPES.length; + ++profileTypeIdx) { + @ProfileType int profileType = ProfileType.ALL_PROFILE_TYPES[profileTypeIdx]; + if (!SafetySources.supportsProfileType(safetySource, profileType)) { + continue; + } - groupSafetyCenterEntryLevel = - mergeSafetyCenterEntrySeverityLevels( - groupSafetyCenterEntryLevel, - addSafetyCenterEntry( - safetyCenterOverallState, - entries, - safetySource, - defaultPackageName, - managedProfileUserId, - /* isUserManaged= */ true, - isManagedUserRunning)); + int[] profileIds = userProfileGroup.getProfilesOfType(profileType); + for (int profileIdx = 0; profileIdx < profileIds.length; profileIdx++) { + int profileId = profileIds[profileIdx]; + boolean isUserRunning = + userProfileGroup.containsRunningUserId(profileId, profileType); + if (profileType == PROFILE_TYPE_PRIVATE && !isUserRunning) { + continue; + } + groupSafetyCenterEntryLevel = + mergeSafetyCenterEntrySeverityLevels( + groupSafetyCenterEntryLevel, + addSafetyCenterEntry( + safetyCenterOverallState, + entries, + safetySource, + defaultPackageName, + profileId, + profileType, + isUserRunning)); + } } } @@ -534,7 +533,8 @@ public final class SafetyCenterDataFactory { SafetyCenterEntry entry = entries.get(i); SafetyCenterEntryId entryId = SafetyCenterIds.entryIdFromString(entry.getId()); - if (UserUtils.isManagedProfile(entryId.getUserId(), mContext)) { + if (UserProfileGroup.getProfileTypeOfUser(entryId.getUserId(), mContext) + != PROFILE_TYPE_PRIMARY) { continue; } @@ -558,15 +558,15 @@ public final class SafetyCenterDataFactory { SafetySource safetySource, String defaultPackageName, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { SafetyCenterEntry safetyCenterEntry = toSafetyCenterEntry( safetySource, defaultPackageName, userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); if (safetyCenterEntry == null) { return SafetyCenterEntry.ENTRY_SEVERITY_LEVEL_UNSPECIFIED; } @@ -584,8 +584,8 @@ public final class SafetyCenterDataFactory { SafetySource safetySource, String defaultPackageName, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { switch (safetySource.getType()) { case SafetySource.SAFETY_SOURCE_TYPE_ISSUE_ONLY: return null; @@ -594,7 +594,7 @@ public final class SafetyCenterDataFactory { SafetySourceStatus safetySourceStatus = getSafetySourceStatus( mSafetyCenterDataManager.getSafetySourceDataInternal(key)); - boolean inQuietMode = isUserManaged && !isManagedUserRunning; + boolean inQuietMode = (PROFILE_TYPE_MANAGED == profileType) && !isUserRunning; if (safetySourceStatus == null) { int severityLevel = inQuietMode @@ -606,8 +606,8 @@ public final class SafetyCenterDataFactory { severityLevel, SafetyCenterEntry.SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION, userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); } PendingIntent sourceProvidedPendingIntent = inQuietMode ? null : safetySourceStatus.getPendingIntent(); @@ -665,8 +665,8 @@ public final class SafetyCenterDataFactory { SafetyCenterEntry.ENTRY_SEVERITY_LEVEL_UNSPECIFIED, SafetyCenterEntry.SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON, userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); } Log.w( TAG, @@ -681,8 +681,8 @@ public final class SafetyCenterDataFactory { @SafetyCenterEntry.EntrySeverityLevel int entrySeverityLevel, @SafetyCenterEntry.SeverityUnspecifiedIconType int severityUnspecifiedIconType, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { if (SafetySources.isDefaultEntryHidden(safetySource)) { return null; } @@ -692,7 +692,7 @@ public final class SafetyCenterDataFactory { .setSafetySourceId(safetySource.getId()) .setUserId(userId) .build(); - boolean isQuietModeEnabled = isUserManaged && !isManagedUserRunning; + boolean isQuietModeEnabled = (PROFILE_TYPE_MANAGED == profileType) && !isUserRunning; PendingIntent pendingIntent = mPendingIntentFactory.getPendingIntent( safetySource.getId(), @@ -702,13 +702,7 @@ public final class SafetyCenterDataFactory { isQuietModeEnabled); boolean enabled = pendingIntent != null && !SafetySources.isDefaultEntryDisabled(safetySource); - CharSequence title = - isUserManaged - ? DevicePolicyResources.getSafetySourceWorkString( - mSafetyCenterResourcesApk, - safetySource.getId(), - safetySource.getTitleForWorkResId()) - : mSafetyCenterResourcesApk.getString(safetySource.getTitleResId()); + CharSequence title = getTitleForProfileType(profileType, safetySource); CharSequence summary = mSafetyCenterDataManager.sourceHasError( SafetySourceKey.of(safetySource.getId(), userId)) @@ -738,38 +732,33 @@ public final class SafetyCenterDataFactory { UserProfileGroup userProfileGroup) { List<SafetySource> safetySources = safetySourcesGroup.getSafetySources(); List<SafetyCenterStaticEntry> staticEntries = new ArrayList<>(safetySources.size()); - for (int i = 0; i < safetySources.size(); i++) { - SafetySource safetySource = safetySources.get(i); - - addSafetyCenterStaticEntry( - staticEntriesToIds, - safetyCenterOverallState, - staticEntries, - safetySource, - defaultPackageName, - userProfileGroup.getProfileParentUserId(), - /* isUserManaged= */ false, - /* isManagedUserRunning= */ false); - - if (!SafetySources.supportsManagedProfiles(safetySource)) { - continue; - } - - int[] managedProfilesUserIds = userProfileGroup.getManagedProfilesUserIds(); - for (int j = 0; j < managedProfilesUserIds.length; j++) { - int managedProfileUserId = managedProfilesUserIds[j]; - boolean isManagedUserRunning = - userProfileGroup.isManagedUserRunning(managedProfileUserId); - - addSafetyCenterStaticEntry( - staticEntriesToIds, - safetyCenterOverallState, - staticEntries, - safetySource, - defaultPackageName, - managedProfileUserId, - /* isUserManaged= */ true, - isManagedUserRunning); + for (int safetySourceIdx = 0; safetySourceIdx < safetySources.size(); safetySourceIdx++) { + SafetySource safetySource = safetySources.get(safetySourceIdx); + for (int profileTypeIdx = 0; + profileTypeIdx < ProfileType.ALL_PROFILE_TYPES.length; + ++profileTypeIdx) { + @ProfileType int profileType = ProfileType.ALL_PROFILE_TYPES[profileTypeIdx]; + if (!SafetySources.supportsProfileType(safetySource, profileType)) { + continue; + } + int[] profileIds = userProfileGroup.getProfilesOfType(profileType); + for (int profileIdx = 0; profileIdx < profileIds.length; ++profileIdx) { + int profileId = profileIds[profileIdx]; + boolean isUserRunning = + userProfileGroup.containsRunningUserId(profileId, profileType); + if (profileType == PROFILE_TYPE_PRIVATE && !isUserRunning) { + continue; + } + addSafetyCenterStaticEntry( + staticEntriesToIds, + safetyCenterOverallState, + staticEntries, + safetySource, + defaultPackageName, + profileId, + profileType, + isUserRunning); + } } } @@ -790,15 +779,15 @@ public final class SafetyCenterDataFactory { SafetySource safetySource, String defaultPackageName, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { SafetyCenterStaticEntry staticEntry = toSafetyCenterStaticEntry( safetySource, defaultPackageName, userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); if (staticEntry == null) { return; } @@ -826,8 +815,8 @@ public final class SafetyCenterDataFactory { SafetySource safetySource, String defaultPackageName, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { switch (safetySource.getType()) { case SafetySource.SAFETY_SOURCE_TYPE_ISSUE_ONLY: return null; @@ -836,7 +825,7 @@ public final class SafetyCenterDataFactory { SafetySourceStatus safetySourceStatus = getSafetySourceStatus( mSafetyCenterDataManager.getSafetySourceDataInternal(key)); - boolean inQuietMode = isUserManaged && !isManagedUserRunning; + boolean inQuietMode = (profileType == PROFILE_TYPE_MANAGED) && !isUserRunning; if (safetySourceStatus != null) { PendingIntent sourceProvidedPendingIntent = inQuietMode ? null : safetySourceStatus.getPendingIntent(); @@ -867,15 +856,15 @@ public final class SafetyCenterDataFactory { safetySource, safetySource.getPackageName(), userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); case SafetySource.SAFETY_SOURCE_TYPE_STATIC: return toDefaultSafetyCenterStaticEntry( safetySource, getStaticSourcePackageNameOrDefault(safetySource, defaultPackageName), userId, - isUserManaged, - isManagedUserRunning); + profileType, + isUserRunning); } Log.w(TAG, "Unknown safety source type found in rigid group: " + safetySource.getType()); return null; @@ -886,12 +875,12 @@ public final class SafetyCenterDataFactory { SafetySource safetySource, String packageName, @UserIdInt int userId, - boolean isUserManaged, - boolean isManagedUserRunning) { + @ProfileType int profileType, + boolean isUserRunning) { if (SafetySources.isDefaultEntryHidden(safetySource)) { return null; } - boolean isQuietModeEnabled = isUserManaged && !isManagedUserRunning; + boolean isQuietModeEnabled = (profileType == PROFILE_TYPE_MANAGED) && !isUserRunning; PendingIntent pendingIntent = mPendingIntentFactory.getPendingIntent( safetySource.getId(), @@ -905,13 +894,7 @@ public final class SafetyCenterDataFactory { return null; } - CharSequence title = - isUserManaged - ? DevicePolicyResources.getSafetySourceWorkString( - mSafetyCenterResourcesApk, - safetySource.getId(), - safetySource.getTitleForWorkResId()) - : mSafetyCenterResourcesApk.getString(safetySource.getTitleResId()); + CharSequence title = getTitleForProfileType(profileType, safetySource); CharSequence summary = mSafetyCenterDataManager.sourceHasError( SafetySourceKey.of(safetySource.getId(), userId)) @@ -1242,6 +1225,29 @@ public final class SafetyCenterDataFactory { return null; } + private CharSequence getTitleForProfileType( + @ProfileType int profileType, SafetySource safetySource) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return mSafetyCenterResourcesApk.getString(safetySource.getTitleResId()); + case PROFILE_TYPE_MANAGED: + return DevicePolicyResources.getSafetySourceWorkString( + mSafetyCenterResourcesApk, + safetySource.getId(), + safetySource.getTitleForWorkResId()); + case PROFILE_TYPE_PRIVATE: + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + return mSafetyCenterResourcesApk.getString( + safetySource.getTitleForPrivateProfileResId()); + } + Log.w(TAG, "unsupported private profile type encountered"); + return mSafetyCenterResourcesApk.getString(safetySource.getTitleResId()); + default: + Log.w(TAG, "unexpected value for the profile type " + profileType); + return mSafetyCenterResourcesApk.getString(safetySource.getTitleResId()); + } + } + private static SafetySourceKey toSafetySourceKey(String safetyCenterEntryIdString) { SafetyCenterEntryId id = SafetyCenterIds.entryIdFromString(safetyCenterEntryIdString); return SafetySourceKey.of(id.getSafetySourceId(), id.getUserId()); diff --git a/service/java/com/android/safetycenter/SafetyCenterFlags.java b/service/java/com/android/safetycenter/SafetyCenterFlags.java index 67c4d25d6..e51d3a1cf 100644 --- a/service/java/com/android/safetycenter/SafetyCenterFlags.java +++ b/service/java/com/android/safetycenter/SafetyCenterFlags.java @@ -123,6 +123,9 @@ public final class SafetyCenterFlags { private static final String RESURFACE_ISSUE_DELAYS_DEFAULT = ""; private static final Duration RESURFACE_ISSUE_DELAYS_DEFAULT_DURATION = Duration.ofDays(180); + private static final ArraySet<String> sAllowedNotificationSourcesUPlus = + new ArraySet<>(new String[] {"GoogleBackupAndRestore"}); + private static volatile String sUntrackedSourcesDefault = "AndroidAccessibility,AndroidBackgroundLocation," + "AndroidNotificationListener,AndroidPermissionAutoRevoke"; @@ -175,7 +178,10 @@ public final class SafetyCenterFlags { fout.println("FLAGS"); printFlag(fout, PROPERTY_SAFETY_CENTER_ENABLED, getSafetyCenterEnabled()); printFlag(fout, PROPERTY_NOTIFICATIONS_ENABLED, getNotificationsEnabled()); - printFlag(fout, PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES, getNotificationsAllowedSourceIds()); + printFlag( + fout, + PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES, + getNotificationsAllowedSourceIdsFlag()); printFlag(fout, PROPERTY_NOTIFICATIONS_MIN_DELAY, getNotificationsMinDelay()); printFlag( fout, @@ -244,6 +250,20 @@ public final class SafetyCenterFlags { * and therefore this is the only way to enable notifications for sources on Android T. */ public static ArraySet<String> getNotificationsAllowedSourceIds() { + ArraySet<String> sources = getNotificationsAllowedSourceIdsFlag(); + if (SdkLevel.isAtLeastU()) { + // This is a hack to update the flag value via mainline update. Reasons why we can't do + // this via: + // remote flag update - these are generally avoided and considered risky + // XML config - it would break GTS tests for OEMs that have a separate config copy + // default flag value - it would also require a remote flag update + sources.addAll(sAllowedNotificationSourcesUPlus); + } + + return sources; + } + + private static ArraySet<String> getNotificationsAllowedSourceIdsFlag() { return getCommaSeparatedStrings(PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES); } diff --git a/service/java/com/android/safetycenter/SafetyCenterListeners.java b/service/java/com/android/safetycenter/SafetyCenterListeners.java index 5f89f46ff..091daa0a6 100644 --- a/service/java/com/android/safetycenter/SafetyCenterListeners.java +++ b/service/java/com/android/safetycenter/SafetyCenterListeners.java @@ -87,7 +87,7 @@ final class SafetyCenterListeners { */ void deliverDataForUserProfileGroup(UserProfileGroup userProfileGroup) { ArrayMap<String, SafetyCenterData> safetyCenterDataCache = new ArrayMap<>(); - int[] relevantUserIds = userProfileGroup.getProfileParentAndManagedRunningProfilesUserIds(); + int[] relevantUserIds = userProfileGroup.getAllRunningProfilesUserIds(); for (int i = 0; i < relevantUserIds.length; i++) { deliverUpdateForUser( relevantUserIds[i], @@ -105,7 +105,7 @@ final class SafetyCenterListeners { void deliverErrorForUserProfileGroup( UserProfileGroup userProfileGroup, SafetyCenterErrorDetails safetyCenterErrorDetails) { ArrayMap<String, SafetyCenterData> safetyCenterDataCache = new ArrayMap<>(); - int[] relevantUserIds = userProfileGroup.getProfileParentAndManagedRunningProfilesUserIds(); + int[] relevantUserIds = userProfileGroup.getAllRunningProfilesUserIds(); for (int i = 0; i < relevantUserIds.length; i++) { deliverUpdateForUser( relevantUserIds[i], diff --git a/service/java/com/android/safetycenter/SafetyCenterRefreshTracker.java b/service/java/com/android/safetycenter/SafetyCenterRefreshTracker.java index d98127300..cc23b4e02 100644 --- a/service/java/com/android/safetycenter/SafetyCenterRefreshTracker.java +++ b/service/java/com/android/safetycenter/SafetyCenterRefreshTracker.java @@ -34,7 +34,6 @@ import android.util.Log; import androidx.annotation.Nullable; -import com.android.permission.util.UserUtils; import com.android.safetycenter.logging.SafetyCenterStatsdLogger; import java.io.PrintWriter; @@ -175,7 +174,7 @@ public final class SafetyCenterRefreshTracker { SafetyCenterStatsdLogger.writeSourceRefreshSystemEvent( requestType, safetySourceKey.getSourceId(), - UserUtils.isManagedProfile(safetySourceKey.getUserId(), mContext), + UserProfileGroup.getProfileTypeOfUser(safetySourceKey.getUserId(), mContext), duration, sourceResult, refreshReason, @@ -284,7 +283,7 @@ public final class SafetyCenterRefreshTracker { SafetyCenterStatsdLogger.writeSourceRefreshSystemEvent( requestType, sourceKey.getSourceId(), - UserUtils.isManagedProfile(sourceKey.getUserId(), mContext), + UserProfileGroup.getProfileTypeOfUser(sourceKey.getUserId(), mContext), duration, SAFETY_CENTER_SYSTEM_EVENT_REPORTED__RESULT__TIMEOUT, refreshReason, diff --git a/service/java/com/android/safetycenter/SafetyCenterService.java b/service/java/com/android/safetycenter/SafetyCenterService.java index 62d0a0d78..c9a5e1c03 100644 --- a/service/java/com/android/safetycenter/SafetyCenterService.java +++ b/service/java/com/android/safetycenter/SafetyCenterService.java @@ -74,6 +74,7 @@ import androidx.annotation.RequiresApi; import com.android.internal.annotations.GuardedBy; import com.android.modules.utils.BackgroundThread; import com.android.modules.utils.build.SdkLevel; +import com.android.permission.flags.Flags; import com.android.permission.util.ForegroundThread; import com.android.permission.util.UserUtils; import com.android.safetycenter.data.SafetyCenterDataManager; @@ -1076,10 +1077,21 @@ public final class SafetyCenterService extends SystemService { IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_USER_SWITCHED); filter.addAction(Intent.ACTION_USER_REMOVED); - filter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED); - filter.addAction(Intent.ACTION_MANAGED_PROFILE_REMOVED); - filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE); - filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE); + if (SdkLevel.isAtLeastV() && Flags.privateProfileSupported()) { + // These intents are available on V+ only, and are called for managed and other + // profile(s). + filter.addAction(Intent.ACTION_PROFILE_ADDED); + filter.addAction(Intent.ACTION_PROFILE_REMOVED); + filter.addAction(Intent.ACTION_PROFILE_AVAILABLE); + filter.addAction(Intent.ACTION_PROFILE_UNAVAILABLE); + } else { + // Only these intents are available in T and U, but that's okay because only managed + // profiles are supported by Safety Center on these SDK versions. + filter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED); + filter.addAction(Intent.ACTION_MANAGED_PROFILE_REMOVED); + filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE); + filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE); + } context.registerReceiverForAllUsers( /* receiver= */ this, filter, @@ -1108,50 +1120,86 @@ public final class SafetyCenterService extends SystemService { int userId = userHandle.getIdentifier(); Log.d(TAG, "Received action: " + action + ", for user id: " + userId); - if (!UserProfileGroup.isSupported(userId, context)) { - Log.i( - TAG, - "Received broadcast for user id: " - + userId - + ", which is an unsupported user"); + + if (!isUserIdValidForAction(action, userId, context)) { return; } - switch (action) { - case Intent.ACTION_USER_REMOVED: - case Intent.ACTION_MANAGED_PROFILE_REMOVED: - removeUserAndData(userId); - break; - case Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE: - removeUser(userId); - break; - case Intent.ACTION_USER_SWITCHED: - if (userId != ActivityManager.getCurrentUser()) { - Log.w( - TAG, - "Received broadcast for user id: " - + userId - + ", which is not the current user"); - return; - } - // Fall through - case Intent.ACTION_MANAGED_PROFILE_ADDED: - case Intent.ACTION_MANAGED_PROFILE_AVAILABLE: - if (!UserUtils.isUserExistent(userId, getContext())) { - Log.w( - TAG, - "Received broadcast for user id: " - + userId - + ", which does not exist"); - return; - } - synchronized (mApiLock) { - startRefreshingSafetySourcesLocked(REFRESH_REASON_OTHER, userId); - mNotificationChannels.createAllChannelsForUser(getContext(), userHandle); - } - break; + if (isUserOrProfileRemoved(action)) { + removeUserAndData(userId); + return; + } + + if (isProfileUnavailable(action)) { + removeUser(userId); + return; + } + + if (Intent.ACTION_USER_SWITCHED.equals(action) || isProfileAddedOrAvailable(action)) { + synchronized (mApiLock) { + startRefreshingSafetySourcesLocked(REFRESH_REASON_OTHER, userId); + mNotificationChannels.createAllChannelsForUser(getContext(), userHandle); + } + return; } + Log.w(TAG, "Received unexpected broadcast with action: " + action); + } + } + + private static boolean isUserIdValidForAction( + String action, @UserIdInt int userId, Context context) { + if (!UserProfileGroup.isSupported(userId, context)) { + Log.i( + TAG, + "Received broadcast for user id: " + + userId + + ", which is an unsupported user"); + return false; + } + if (Intent.ACTION_USER_SWITCHED.equals(action) + && userId != ActivityManager.getCurrentUser()) { + Log.w( + TAG, + "Received broadcast for user id: " + + userId + + ", which is not the current user"); + return false; + } + if (isProfileAddedOrAvailable(action) && !UserUtils.isUserExistent(userId, context)) { + Log.w( + TAG, + "Received broadcast for user id: " + + userId + + ", which does not exist"); + return false; + } + return true; + } + + private static boolean isUserOrProfileRemoved(String action) { + if (Intent.ACTION_USER_REMOVED.equals(action)) { + return true; + } + if (SdkLevel.isAtLeastV() && Flags.privateProfileSupported()) { + return Intent.ACTION_PROFILE_REMOVED.equals(action); + } + return Intent.ACTION_MANAGED_PROFILE_REMOVED.equals(action); + } + + private static boolean isProfileUnavailable(String action) { + if (SdkLevel.isAtLeastV() && Flags.privateProfileSupported()) { + return Intent.ACTION_PROFILE_UNAVAILABLE.equals(action); + } + return Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE.equals(action); + } + + private static boolean isProfileAddedOrAvailable(String action) { + if (SdkLevel.isAtLeastV() && Flags.privateProfileSupported()) { + return Intent.ACTION_PROFILE_AVAILABLE.equals(action) + || Intent.ACTION_PROFILE_ADDED.equals(action); } + return Intent.ACTION_MANAGED_PROFILE_ADDED.equals(action) + || Intent.ACTION_MANAGED_PROFILE_AVAILABLE.equals(action); } private void removeUserAndData(@UserIdInt int userId) { diff --git a/service/java/com/android/safetycenter/SafetySources.java b/service/java/com/android/safetycenter/SafetySources.java index 02d83d27b..7be0ef00e 100644 --- a/service/java/com/android/safetycenter/SafetySources.java +++ b/service/java/com/android/safetycenter/SafetySources.java @@ -20,6 +20,8 @@ import android.safetycenter.SafetySourceData; import android.safetycenter.config.SafetySource; import android.util.Log; +import com.android.safetycenter.UserProfileGroup.ProfileType; + /** * A helper class to facilitate working with {@link SafetySource} objects. * @@ -48,6 +50,23 @@ public final class SafetySources { /** Returns whether a {@link SafetySource} supports managed profiles. */ public static boolean supportsManagedProfiles(SafetySource safetySource) { + return supportsAllProfiles(safetySource); + } + + /** + * Returns whether a {@link SafetySource} supports the profile of the given type + * {@code profileType}. + */ + public static boolean supportsProfileType( + SafetySource safetySource, @ProfileType int profileType) { + if (UserProfileGroup.PROFILE_TYPE_PRIMARY == profileType) { + return true; + } + return supportsAllProfiles(safetySource); + } + + /** Returns whether a {@link SafetySource} supports all profiles. */ + private static boolean supportsAllProfiles(SafetySource safetySource) { int safetySourceProfile = safetySource.getProfile(); switch (safetySourceProfile) { case SafetySource.PROFILE_PRIMARY: diff --git a/service/java/com/android/safetycenter/UserProfileGroup.java b/service/java/com/android/safetycenter/UserProfileGroup.java index 74b9b136f..46a440bf7 100644 --- a/service/java/com/android/safetycenter/UserProfileGroup.java +++ b/service/java/com/android/safetycenter/UserProfileGroup.java @@ -18,6 +18,7 @@ package com.android.safetycenter; import static java.util.Objects.requireNonNull; +import android.annotation.IntDef; import android.annotation.UserIdInt; import android.content.Context; import android.content.pm.PackageManager; @@ -31,6 +32,8 @@ import androidx.annotation.Nullable; import com.android.permission.util.UserUtils; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -42,21 +45,47 @@ import java.util.Objects; * * @hide */ +//TODO(b/286539356) Do not expose the private profile when it's not running. public final class UserProfileGroup { private static final String TAG = "UserProfileGroup"; + // UserHandle#USER_NULL is a @TestApi so it cannot be accessed from the mainline module. + public static final @UserIdInt int USER_NULL = -10000; @UserIdInt private final int mProfileParentUserId; private final int[] mManagedProfilesUserIds; private final int[] mManagedRunningProfilesUserIds; + @UserIdInt private final int mPrivateProfileUserId; + private final boolean mPrivateProfileRunning; + + /** Respresents the profile type of the primary user. */ + public static final int PROFILE_TYPE_PRIMARY = 0; + /** Respresents the profile type of the managed profile. */ + public static final int PROFILE_TYPE_MANAGED = 1; + /** Respresents the profile type of the private profile. */ + public static final int PROFILE_TYPE_PRIVATE = 2; + + @Retention(RetentionPolicy.SOURCE) + @IntDef(value = {PROFILE_TYPE_PRIMARY, PROFILE_TYPE_MANAGED, PROFILE_TYPE_PRIVATE}) + public @interface ProfileType { + // This array needs to cover all profile types. So whenever a new entry is added above then + // please remember to include it in this array as well. + int[] ALL_PROFILE_TYPES = + {PROFILE_TYPE_PRIMARY, PROFILE_TYPE_MANAGED, PROFILE_TYPE_PRIVATE}; + } + private UserProfileGroup( @UserIdInt int profileParentUserId, int[] managedProfilesUserIds, - int[] managedRunningProfilesUserIds) { + int[] managedRunningProfilesUserIds, + @UserIdInt int privateProfileUserId, + boolean privateProfileRunning) { mProfileParentUserId = profileParentUserId; mManagedProfilesUserIds = managedProfilesUserIds; mManagedRunningProfilesUserIds = managedRunningProfilesUserIds; + mPrivateProfileUserId = privateProfileUserId; + mPrivateProfileRunning = privateProfileRunning; } /** Returns all the alive {@link UserProfileGroup}s. */ @@ -117,6 +146,10 @@ public final class UserProfileGroup { int[] managedRunningProfilesUserIds = new int[userProfiles.size()]; int managedProfilesUserIdsLen = 0; int managedRunningProfilesUserIdsLen = 0; + + int privateProfileUserId = USER_NULL; + boolean privateProfileRunning = false; + for (int i = 0; i < userProfiles.size(); i++) { UserHandle userProfileHandle = userProfiles.get(i); int userProfileId = userProfileHandle.getIdentifier(); @@ -127,15 +160,19 @@ public final class UserProfileGroup { managedRunningProfilesUserIds[managedRunningProfilesUserIdsLen++] = userProfileId; } + } else if (UserUtils.isPrivateProfile(userProfileId, context)) { + privateProfileUserId = userProfileId; + privateProfileRunning = UserUtils.isProfileRunning(userProfileId, context); } } - UserProfileGroup userProfileGroup = - new UserProfileGroup( - profileParentUserId, - Arrays.copyOf(managedProfilesUserIds, managedProfilesUserIdsLen), - Arrays.copyOf( - managedRunningProfilesUserIds, managedRunningProfilesUserIdsLen)); + UserProfileGroup userProfileGroup = new UserProfileGroup( + profileParentUserId, + Arrays.copyOf(managedProfilesUserIds, managedProfilesUserIdsLen), + Arrays.copyOf(managedRunningProfilesUserIds, managedRunningProfilesUserIdsLen), + privateProfileUserId, + privateProfileRunning + ); if (!userProfileGroup.contains(userId)) { Log.i( TAG, @@ -150,7 +187,8 @@ public final class UserProfileGroup { if (!isProfile(userId, context)) { return true; } - return UserUtils.isManagedProfile(userId, context); + return UserUtils.isManagedProfile(userId, context) + || UserUtils.isPrivateProfile(userId, context); } private static UserManager getUserManagerForUser(@UserIdInt int userId, Context context) { @@ -208,32 +246,141 @@ public final class UserProfileGroup { return mProfileParentUserId; } - /** Returns the managed profile user ids of the {@link UserProfileGroup}. */ - public int[] getManagedProfilesUserIds() { - return mManagedProfilesUserIds; - } + /** + * A convenience method to get all the profile ids of all the users of all profile types. So, in + * essence, this is equivalent to iterating through all the profile types using + * {@link ProfileType#ALL_PROFILE_TYPES} and getting all the users for each of the profile type + * using {@link #getProfilesOfType(int profileType)} + */ + public int[] getAllProfilesUserIds() { + int[] allProfileIds = new int[getNumProfiles()]; + allProfileIds[0] = mProfileParentUserId; + System.arraycopy( + mManagedProfilesUserIds, + /* srcPos= */ 0, + allProfileIds, + /* destPos= */ 1, + mManagedProfilesUserIds.length); - /** Returns the running managed profile user ids of the {@link UserProfileGroup}. */ - public int[] getManagedRunningProfilesUserIds() { - return mManagedRunningProfilesUserIds; + if (mPrivateProfileUserId != USER_NULL) { + allProfileIds[allProfileIds.length - 1] = mPrivateProfileUserId; + } + + return allProfileIds; } /** - * Convenience method that combines the results of {@link - * UserProfileGroup#getProfileParentUserId()} and {@link - * UserProfileGroup#getManagedRunningProfilesUserIds()}. + * A convenience method to get all the profile ids of all the users (that are currently running) + * of all profile types. So, in essence, this is equivalent to iterating through all the profile + * {types using {@link ProfileType#ALL_PROFILE_TYPES} and getting all the users for each of the + * profile type using {@link #getProfilesOfType(int profileType)} only if they are running. */ - public int[] getProfileParentAndManagedRunningProfilesUserIds() { - int[] profileParentAndManagedRunningProfilesUserIds = - new int[mManagedRunningProfilesUserIds.length + 1]; - profileParentAndManagedRunningProfilesUserIds[0] = mProfileParentUserId; + public int[] getAllRunningProfilesUserIds() { + int[] allRunningProfileIds = new int[getNumRunningProfiles()]; + allRunningProfileIds[0] = mProfileParentUserId; System.arraycopy( mManagedRunningProfilesUserIds, /* srcPos= */ 0, - profileParentAndManagedRunningProfilesUserIds, + allRunningProfileIds, /* destPos= */ 1, mManagedRunningProfilesUserIds.length); - return profileParentAndManagedRunningProfilesUserIds; + + if (mPrivateProfileRunning) { + allRunningProfileIds[allRunningProfileIds.length - 1] = mPrivateProfileUserId; + } + + return allRunningProfileIds; + } + + /** + * Returns the profiles of the specified type. Returns an empty array if no profile of the + * specified type exists. + */ + public int[] getProfilesOfType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return new int[] {mProfileParentUserId}; + case PROFILE_TYPE_MANAGED: + return mManagedProfilesUserIds; + case PROFILE_TYPE_PRIVATE: + return mPrivateProfileUserId != USER_NULL + ? new int[]{mPrivateProfileUserId} : new int[]{}; + default: + Log.w(TAG, "profiles requested for unexpected profile type " + profileType); + return new int[] {}; + } + } + + /** + * Returns the running profiles of the specified type. Returns an empty array if no profile of + * the specified type exists. + */ + public int[] getRunningProfilesOfType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return new int[] {mProfileParentUserId}; + case PROFILE_TYPE_MANAGED: + return mManagedRunningProfilesUserIds; + case PROFILE_TYPE_PRIVATE: + //TODO(b/286539356) add the new feature flag protection when available. + return mPrivateProfileRunning + ? new int[] {mPrivateProfileUserId} : new int[] {}; + default: + Log.w(TAG, "Unexpected profile type " + profileType); + return new int[] {}; + } + } + + /** Returns the total number of running profiles in this user profile group */ + public int getNumRunningProfiles() { + return 1 + + mManagedRunningProfilesUserIds.length + + (mPrivateProfileRunning ? 1 : 0); + } + + /** Returns the total number of profiles in this user profile group */ + private int getNumProfiles() { + return 1 + + mManagedProfilesUserIds.length + + (mPrivateProfileUserId == USER_NULL ? 0 : 1); + } + + /** + * Returns the {@link ProfileType} for the provided {@code userId}. Note that the provided + * {@code userId} must be supported by the {@link UserProfileGroup} i.e. + * {@link #isSupported(int, Context)} should return true for {@code userId}. + */ + public static @ProfileType int getProfileTypeOfUser(@UserIdInt int userId, Context context) { + if (UserUtils.isManagedProfile(userId, context)) { + return PROFILE_TYPE_MANAGED; + } + if (UserUtils.isPrivateProfile(userId, context)) { + return PROFILE_TYPE_PRIVATE; + } + return PROFILE_TYPE_PRIMARY; + } + + /** + * Returns true iff the given userId is contained in this {@link UserProfileGroup} and it's + * running. + */ + boolean containsRunningUserId(@UserIdInt int userId, @ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return true; + case PROFILE_TYPE_MANAGED: + for (int i = 0; i < mManagedRunningProfilesUserIds.length; i++) { + if (mManagedRunningProfilesUserIds[i] == userId) { + return true; + } + } + return false; + case PROFILE_TYPE_PRIVATE: + return mPrivateProfileRunning; + default: + Log.w(TAG, "Unexpected profile type " + profileType); + return false; + } } /** Returns whether the {@link UserProfileGroup} contains the given {@code userId}. */ @@ -248,17 +395,7 @@ public final class UserProfileGroup { } } - return false; - } - - /** Returns whether the given {@code userId} is associated with a running managed profile. */ - boolean isManagedUserRunning(@UserIdInt int userId) { - for (int i = 0; i < mManagedRunningProfilesUserIds.length; i++) { - if (userId == mManagedRunningProfilesUserIds[i]) { - return true; - } - } - return false; + return USER_NULL != mPrivateProfileUserId && userId == mPrivateProfileUserId; } @Override @@ -269,7 +406,9 @@ public final class UserProfileGroup { return mProfileParentUserId == that.mProfileParentUserId && Arrays.equals(mManagedProfilesUserIds, that.mManagedProfilesUserIds) && Arrays.equals( - mManagedRunningProfilesUserIds, that.mManagedRunningProfilesUserIds); + mManagedRunningProfilesUserIds, that.mManagedRunningProfilesUserIds) + && mPrivateProfileUserId == that.mPrivateProfileUserId + && mPrivateProfileRunning == that.mPrivateProfileRunning; } @Override @@ -277,7 +416,9 @@ public final class UserProfileGroup { return Objects.hash( mProfileParentUserId, Arrays.hashCode(mManagedProfilesUserIds), - Arrays.hashCode(mManagedRunningProfilesUserIds)); + Arrays.hashCode(mManagedRunningProfilesUserIds), + mPrivateProfileUserId, + mPrivateProfileRunning); } @Override @@ -289,6 +430,10 @@ public final class UserProfileGroup { + Arrays.toString(mManagedProfilesUserIds) + ", mManagedRunningProfilesUserIds=" + Arrays.toString(mManagedRunningProfilesUserIds) + + ", mPrivateProfileUserId" + + mPrivateProfileUserId + + ", mPrivateProfileRunning" + + mPrivateProfileRunning + '}'; } } diff --git a/service/java/com/android/safetycenter/data/SafetyCenterDataManager.java b/service/java/com/android/safetycenter/data/SafetyCenterDataManager.java index dff7c4339..7385a2c3b 100644 --- a/service/java/com/android/safetycenter/data/SafetyCenterDataManager.java +++ b/service/java/com/android/safetycenter/data/SafetyCenterDataManager.java @@ -41,6 +41,7 @@ import com.android.safetycenter.SafetyCenterRefreshTracker; import com.android.safetycenter.SafetySourceIssueInfo; import com.android.safetycenter.SafetySourceKey; import com.android.safetycenter.UserProfileGroup; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.internaldata.SafetyCenterIssueActionId; import com.android.safetycenter.internaldata.SafetyCenterIssueKey; import com.android.safetycenter.logging.SafetyCenterStatsdLogger; @@ -567,7 +568,7 @@ public final class SafetyCenterDataManager { * Writes a SafetySourceStateCollected atom for the given source in response to a stats pull. */ public void logSafetySourceStateCollectedAutomatic( - SafetySourceKey sourceKey, boolean isManagedProfile) { - mSafetySourceStateCollectedLogger.writeAutomaticAtom(sourceKey, isManagedProfile); + SafetySourceKey sourceKey, @ProfileType int profileType) { + mSafetySourceStateCollectedLogger.writeAutomaticAtom(sourceKey, profileType); } } diff --git a/service/java/com/android/safetycenter/data/SafetyCenterInFlightIssueActionRepository.java b/service/java/com/android/safetycenter/data/SafetyCenterInFlightIssueActionRepository.java index 82eb3a6c7..39809aa6f 100644 --- a/service/java/com/android/safetycenter/data/SafetyCenterInFlightIssueActionRepository.java +++ b/service/java/com/android/safetycenter/data/SafetyCenterInFlightIssueActionRepository.java @@ -28,8 +28,8 @@ import android.util.Log; import androidx.annotation.Nullable; -import com.android.permission.util.UserUtils; import com.android.safetycenter.SafetySourceIssues; +import com.android.safetycenter.UserProfileGroup; import com.android.safetycenter.internaldata.SafetyCenterIssueActionId; import com.android.safetycenter.internaldata.SafetyCenterIssueKey; import com.android.safetycenter.logging.SafetyCenterStatsdLogger; @@ -87,7 +87,7 @@ final class SafetyCenterInFlightIssueActionRepository { SafetyCenterStatsdLogger.writeInlineActionSystemEvent( issueKey.getSafetySourceId(), - UserUtils.isManagedProfile(issueKey.getUserId(), mContext), + UserProfileGroup.getProfileTypeOfUser(issueKey.getUserId(), mContext), issueTypeId, duration, result); diff --git a/service/java/com/android/safetycenter/data/SafetyCenterIssueRepository.java b/service/java/com/android/safetycenter/data/SafetyCenterIssueRepository.java index 2e6f707a3..3806584a8 100644 --- a/service/java/com/android/safetycenter/data/SafetyCenterIssueRepository.java +++ b/service/java/com/android/safetycenter/data/SafetyCenterIssueRepository.java @@ -31,12 +31,12 @@ import android.safetycenter.config.SafetySourcesGroup; import android.util.SparseArray; import com.android.modules.utils.build.SdkLevel; -import com.android.permission.util.UserUtils; import com.android.safetycenter.SafetyCenterConfigReader; import com.android.safetycenter.SafetySourceIssueInfo; import com.android.safetycenter.SafetySourceKey; import com.android.safetycenter.SafetySources; import com.android.safetycenter.UserProfileGroup; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.internaldata.SafetyCenterIssueKey; import java.io.PrintWriter; @@ -88,12 +88,12 @@ final class SafetyCenterIssueRepository { * that can affect issues. */ void updateIssues(@UserIdInt int userId) { - updateIssues(userId, UserUtils.isManagedProfile(userId, mContext)); + updateIssues(userId, UserProfileGroup.getProfileTypeOfUser(userId, mContext)); } - private void updateIssues(@UserIdInt int userId, boolean isManagedProfile) { + private void updateIssues(@UserIdInt int userId, @ProfileType int profileType) { List<SafetySourceIssueInfo> issues = - getAllStoredIssuesFromRawSourceData(userId, isManagedProfile); + getAllStoredIssuesFromRawSourceData(userId, profileType); issues.sort(SAFETY_SOURCE_ISSUES_INFO_BY_SEVERITY_DESCENDING); @@ -183,14 +183,14 @@ final class SafetyCenterIssueRepository { } private List<SafetySourceIssueInfo> getAllStoredIssuesFromRawSourceData( - @UserIdInt int userId, boolean isManagedProfile) { + @UserIdInt int userId, @ProfileType int profileType) { List<SafetySourceIssueInfo> allIssuesInfo = new ArrayList<>(); List<SafetySourcesGroup> safetySourcesGroups = mSafetyCenterConfigReader.getSafetySourcesGroups(); for (int j = 0; j < safetySourcesGroups.size(); j++) { addSafetySourceIssuesInfo( - allIssuesInfo, safetySourcesGroups.get(j), userId, isManagedProfile); + allIssuesInfo, safetySourcesGroups.get(j), userId, profileType); } return allIssuesInfo; @@ -200,7 +200,7 @@ final class SafetyCenterIssueRepository { List<SafetySourceIssueInfo> issuesInfo, SafetySourcesGroup safetySourcesGroup, @UserIdInt int userId, - boolean isManagedProfile) { + @ProfileType int profileType) { List<SafetySource> safetySources = safetySourcesGroup.getSafetySources(); for (int i = 0; i < safetySources.size(); i++) { SafetySource safetySource = safetySources.get(i); @@ -208,7 +208,7 @@ final class SafetyCenterIssueRepository { if (!SafetySources.isExternal(safetySource)) { continue; } - if (isManagedProfile && !SafetySources.supportsManagedProfiles(safetySource)) { + if (!SafetySources.supportsProfileType(safetySource, profileType)) { continue; } @@ -244,12 +244,11 @@ final class SafetyCenterIssueRepository { * UserProfileGroup}. */ private List<SafetySourceIssueInfo> getIssuesFor(UserProfileGroup userProfileGroup) { - List<SafetySourceIssueInfo> issues = - new ArrayList<>(getIssuesForUser(userProfileGroup.getProfileParentUserId())); + List<SafetySourceIssueInfo> issues = new ArrayList<>(); - int[] managedRunningProfileUserIds = userProfileGroup.getManagedRunningProfilesUserIds(); - for (int i = 0; i < managedRunningProfileUserIds.length; i++) { - issues.addAll(getIssuesForUser(managedRunningProfileUserIds[i])); + int[] allRunningProfileUserIds = userProfileGroup.getAllRunningProfilesUserIds(); + for (int i = 0; i < allRunningProfileUserIds.length; i++) { + issues.addAll(getIssuesForUser(allRunningProfileUserIds[i])); } return issues; diff --git a/service/java/com/android/safetycenter/data/SafetySourceDataValidator.java b/service/java/com/android/safetycenter/data/SafetySourceDataValidator.java index 7355035b0..4b74b0440 100644 --- a/service/java/com/android/safetycenter/data/SafetySourceDataValidator.java +++ b/service/java/com/android/safetycenter/data/SafetySourceDataValidator.java @@ -29,10 +29,10 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.modules.utils.build.SdkLevel; -import com.android.permission.util.UserUtils; import com.android.safetycenter.SafetyCenterConfigReader; import com.android.safetycenter.SafetyCenterFlags; import com.android.safetycenter.SafetySources; +import com.android.safetycenter.UserProfileGroup; import java.util.List; import java.util.Set; @@ -90,10 +90,14 @@ final class SafetySourceDataValidator { validateCallingPackage(safetySource, packageName, safetySourceId); } - if (UserUtils.isManagedProfile(userId, mContext) - && !SafetySources.supportsManagedProfiles(safetySource)) { + @UserProfileGroup.ProfileType int profileType = + UserProfileGroup.getProfileTypeOfUser(userId, mContext); + if (!SafetySources.supportsProfileType(safetySource, profileType)) { throw new IllegalArgumentException( - "Unexpected managed profile request for safety source: " + safetySourceId); + "Unexpected profile type: " + + profileType + + " for safety source: " + + safetySourceId); } boolean retrievingOrClearingData = safetySourceData == null; @@ -111,6 +115,8 @@ final class SafetySourceDataValidator { } if (safetySource.getType() == SafetySource.SAFETY_SOURCE_TYPE_DYNAMIC + && safetySource.getInitialDisplayState() + != SafetySource.INITIAL_DISPLAY_STATE_HIDDEN && safetySourceStatus == null) { throw new IllegalArgumentException( "Missing status for dynamic safety source: " + safetySourceId); diff --git a/service/java/com/android/safetycenter/data/SafetySourceStateCollectedLogger.java b/service/java/com/android/safetycenter/data/SafetySourceStateCollectedLogger.java index e73459598..1bf8685bf 100644 --- a/service/java/com/android/safetycenter/data/SafetySourceStateCollectedLogger.java +++ b/service/java/com/android/safetycenter/data/SafetySourceStateCollectedLogger.java @@ -26,9 +26,10 @@ import android.safetycenter.SafetySourceStatus; import androidx.annotation.Nullable; -import com.android.permission.util.UserUtils; import com.android.safetycenter.SafetySourceIssueInfo; import com.android.safetycenter.SafetySourceKey; +import com.android.safetycenter.UserProfileGroup; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.internaldata.SafetyCenterIssueKey; import com.android.safetycenter.logging.SafetyCenterStatsdLogger; @@ -63,13 +64,13 @@ final class SafetySourceStateCollectedLogger { /** * Writes a SafetySourceStateCollected atom for the given source in response to a stats pull. */ - void writeAutomaticAtom(SafetySourceKey sourceKey, boolean isManagedProfile) { + void writeAutomaticAtom(SafetySourceKey sourceKey, @ProfileType int profileType) { logSafetySourceStateCollected( sourceKey, mSourceDataRepository.getSafetySourceData(sourceKey), /* refreshReason= */ null, /* sourceDataDiffers= */ false, - isManagedProfile, + profileType, /* safetyEvent= */ null, mSourceDataRepository.getSafetySourceLastUpdated(sourceKey)); } @@ -90,7 +91,7 @@ final class SafetySourceStateCollectedLogger { safetySourceData, refreshReason, sourceDataDiffers, - UserUtils.isManagedProfile(userId, mContext), + UserProfileGroup.getProfileTypeOfUser(userId, mContext), safetyEvent, /* lastUpdatedElapsedTimeMillis= */ null); } @@ -100,7 +101,7 @@ final class SafetySourceStateCollectedLogger { @Nullable SafetySourceData sourceData, @Nullable @SafetyCenterManager.RefreshReason Integer refreshReason, boolean sourceDataDiffers, - boolean isManagedProfile, + @ProfileType int profileType, @Nullable SafetyEvent safetyEvent, @Nullable @ElapsedRealtimeLong Long lastUpdatedElapsedTimeMillis) { SafetySourceStatus sourceStatus = sourceData == null ? null : sourceData.getStatus(); @@ -131,7 +132,7 @@ final class SafetySourceStateCollectedLogger { Integer severityLevel = maxSeverityLevel > Integer.MIN_VALUE ? maxSeverityLevel : null; SafetyCenterStatsdLogger.writeSafetySourceStateCollected( sourceKey.getSourceId(), - isManagedProfile, + profileType, severityLevel, openIssuesCount, dismissedIssuesCount, diff --git a/service/java/com/android/safetycenter/logging/SafetyCenterPullAtomCallback.java b/service/java/com/android/safetycenter/logging/SafetyCenterPullAtomCallback.java index 168d73a0f..a8dc7568e 100644 --- a/service/java/com/android/safetycenter/logging/SafetyCenterPullAtomCallback.java +++ b/service/java/com/android/safetycenter/logging/SafetyCenterPullAtomCallback.java @@ -38,6 +38,7 @@ import com.android.safetycenter.SafetyCenterFlags; import com.android.safetycenter.SafetySourceKey; import com.android.safetycenter.SafetySources; import com.android.safetycenter.UserProfileGroup; +import com.android.safetycenter.UserProfileGroup.ProfileType; import com.android.safetycenter.data.SafetyCenterDataManager; import java.util.List; @@ -149,19 +150,19 @@ public final class SafetyCenterPullAtomCallback implements StatsPullAtomCallback continue; } - writeSafetySourceStateCollectedAtomLocked( - loggableSource, - userProfileGroup.getProfileParentUserId(), - /* isUserManaged= */ false); - - if (!SafetySources.supportsManagedProfiles(loggableSource)) { - continue; - } - - int[] managedIds = userProfileGroup.getManagedRunningProfilesUserIds(); - for (int k = 0; k < managedIds.length; k++) { - writeSafetySourceStateCollectedAtomLocked( - loggableSource, managedIds[k], /* isUserManaged= */ true); + for (int profileTypeIdx = 0; + profileTypeIdx < ProfileType.ALL_PROFILE_TYPES.length; + ++profileTypeIdx) { + @ProfileType int profileType = ProfileType.ALL_PROFILE_TYPES[profileTypeIdx]; + if (!SafetySources.supportsProfileType(loggableSource, profileType)) { + continue; + } + + int[] profileIds = userProfileGroup.getProfilesOfType(profileType); + for (int profileIdx = 0; profileIdx < profileIds.length; profileIdx++) { + writeSafetySourceStateCollectedAtomLocked( + loggableSource, profileIds[profileIdx], profileType); + } } } } @@ -169,8 +170,8 @@ public final class SafetyCenterPullAtomCallback implements StatsPullAtomCallback @GuardedBy("mApiLock") private void writeSafetySourceStateCollectedAtomLocked( - SafetySource safetySource, @UserIdInt int userId, boolean isUserManaged) { + SafetySource safetySource, @UserIdInt int userId, @ProfileType int profileType) { SafetySourceKey sourceKey = SafetySourceKey.of(safetySource.getId(), userId); - mDataManager.logSafetySourceStateCollectedAutomatic(sourceKey, isUserManaged); + mDataManager.logSafetySourceStateCollectedAutomatic(sourceKey, profileType); } } diff --git a/service/java/com/android/safetycenter/logging/SafetyCenterStatsdLogger.java b/service/java/com/android/safetycenter/logging/SafetyCenterStatsdLogger.java index 710c3f7ac..3311d0c1f 100644 --- a/service/java/com/android/safetycenter/logging/SafetyCenterStatsdLogger.java +++ b/service/java/com/android/safetycenter/logging/SafetyCenterStatsdLogger.java @@ -25,6 +25,8 @@ import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTIO import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__NAVIGATION_SOURCE__SOURCE_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; +import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; +import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SENSOR__SENSOR_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SEVERITY_LEVEL__SAFETY_SEVERITY_CRITICAL_WARNING; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_INTERACTION_REPORTED__SEVERITY_LEVEL__SAFETY_SEVERITY_OK; @@ -43,12 +45,15 @@ import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVE import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVENT_REPORTED__RESULT__TIMEOUT; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; +import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; import static com.android.permission.PermissionStatsLog.SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__COLLECTION_TYPE__AUTOMATIC; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__COLLECTION_TYPE__SOURCE_UPDATED; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; +import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; +import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SEVERITY_LEVEL__SAFETY_SEVERITY_CRITICAL_WARNING; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SEVERITY_LEVEL__SAFETY_SEVERITY_LEVEL_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_SOURCE_STATE_COLLECTED__SEVERITY_LEVEL__SAFETY_SEVERITY_OK; @@ -69,6 +74,9 @@ import static com.android.permission.PermissionStatsLog.SAFETY_STATE__OVERALL_SE import static com.android.permission.PermissionStatsLog.SAFETY_STATE__OVERALL_SEVERITY_LEVEL__SAFETY_SEVERITY_LEVEL_UNKNOWN; import static com.android.permission.PermissionStatsLog.SAFETY_STATE__OVERALL_SEVERITY_LEVEL__SAFETY_SEVERITY_OK; import static com.android.permission.PermissionStatsLog.SAFETY_STATE__OVERALL_SEVERITY_LEVEL__SAFETY_SEVERITY_RECOMMENDATION; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_MANAGED; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIMARY; +import static com.android.safetycenter.UserProfileGroup.PROFILE_TYPE_PRIVATE; import android.annotation.ElapsedRealtimeLong; import android.annotation.IntDef; @@ -84,6 +92,7 @@ import androidx.annotation.Nullable; import com.android.permission.PermissionStatsLog; import com.android.safetycenter.SafetyCenterFlags; +import com.android.safetycenter.UserProfileGroup.ProfileType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -161,7 +170,7 @@ public final class SafetyCenterStatsdLogger { /** Writes a {@link PermissionStatsLog#SAFETY_SOURCE_STATE_COLLECTED} atom. */ public static void writeSafetySourceStateCollected( String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, @Nullable @SafetySourceData.SeverityLevel Integer sourceSeverityLevel, long openIssuesCount, long dismissedIssuesCount, @@ -181,7 +190,7 @@ public final class SafetyCenterStatsdLogger { PermissionStatsLog.write( SAFETY_SOURCE_STATE_COLLECTED, idStringToLong(sourceId), - toSourceStateCollectedProfileType(isManagedProfile), + toSourceStateCollectedProfileType(profileType), toSafetySourceStateCollectedSeverityLevel(sourceSeverityLevel), openIssuesCount, dismissedIssuesCount, @@ -203,7 +212,7 @@ public final class SafetyCenterStatsdLogger { public static void writeSourceRefreshSystemEvent( @RefreshRequestType int refreshType, String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, Duration duration, @SystemEventResult int result, long refreshReason, @@ -215,7 +224,7 @@ public final class SafetyCenterStatsdLogger { SAFETY_CENTER_SYSTEM_EVENT_REPORTED, toSourceRefreshEventType(refreshType), idStringToLong(sourceId), - toSystemEventProfileType(isManagedProfile), + toSystemEventProfileType(profileType), UNSET_ISSUE_TYPE_ID, duration.toMillis(), result, @@ -254,7 +263,7 @@ public final class SafetyCenterStatsdLogger { */ public static void writeInlineActionSystemEvent( String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, @Nullable String issueTypeId, Duration duration, @SystemEventResult int result) { @@ -265,7 +274,7 @@ public final class SafetyCenterStatsdLogger { SAFETY_CENTER_SYSTEM_EVENT_REPORTED, SAFETY_CENTER_SYSTEM_EVENT_REPORTED__EVENT_TYPE__INLINE_ACTION, idStringToLong(sourceId), - toSystemEventProfileType(isManagedProfile), + toSystemEventProfileType(profileType), issueTypeId == null ? UNSET_ISSUE_TYPE_ID : idStringToLong(issueTypeId), duration.toMillis(), result, @@ -279,13 +288,13 @@ public final class SafetyCenterStatsdLogger { */ public static void writeNotificationPostedEvent( String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, String issueTypeId, @SafetySourceData.SeverityLevel int sourceSeverityLevel) { writeNotificationInteractionReportedEvent( SAFETY_CENTER_INTERACTION_REPORTED__ACTION__NOTIFICATION_POSTED, sourceId, - isManagedProfile, + profileType, issueTypeId, sourceSeverityLevel); } @@ -296,13 +305,13 @@ public final class SafetyCenterStatsdLogger { */ public static void writeNotificationDismissedEvent( String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, String issueTypeId, @SafetySourceData.SeverityLevel int sourceSeverityLevel) { writeNotificationInteractionReportedEvent( SAFETY_CENTER_INTERACTION_REPORTED__ACTION__NOTIFICATION_DISMISSED, sourceId, - isManagedProfile, + profileType, issueTypeId, sourceSeverityLevel); } @@ -313,7 +322,7 @@ public final class SafetyCenterStatsdLogger { */ public static void writeNotificationActionClickedEvent( String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, String issueTypeId, @SafetySourceData.SeverityLevel int sourceSeverityLevel, boolean isPrimaryAction) { @@ -322,13 +331,13 @@ public final class SafetyCenterStatsdLogger { ? SAFETY_CENTER_INTERACTION_REPORTED__ACTION__ISSUE_PRIMARY_ACTION_CLICKED : SAFETY_CENTER_INTERACTION_REPORTED__ACTION__ISSUE_SECONDARY_ACTION_CLICKED; writeNotificationInteractionReportedEvent( - action, sourceId, isManagedProfile, issueTypeId, sourceSeverityLevel); + action, sourceId, profileType, issueTypeId, sourceSeverityLevel); } private static void writeNotificationInteractionReportedEvent( int interactionReportedAction, String sourceId, - boolean isManagedProfile, + @ProfileType int profileType, String issueTypeId, @SafetySourceData.SeverityLevel int sourceSeverityLevel) { if (!SafetyCenterFlags.getAllowStatsdLogging()) { @@ -342,7 +351,7 @@ public final class SafetyCenterStatsdLogger { SAFETY_CENTER_INTERACTION_REPORTED__NAVIGATION_SOURCE__SOURCE_UNKNOWN, toInteractionReportedSeverityLevel(sourceSeverityLevel), idStringToLong(sourceId), - toInteractionReportedProfileType(isManagedProfile), + toInteractionReportedProfileType(profileType), idStringToLong(issueTypeId), SAFETY_CENTER_INTERACTION_REPORTED__SENSOR__SENSOR_UNKNOWN, UNSET_SOURCE_GROUP_ID, @@ -382,22 +391,43 @@ public final class SafetyCenterStatsdLogger { return SAFETY_CENTER_SYSTEM_EVENT_REPORTED__EVENT_TYPE__EVENT_TYPE_UNKNOWN; } - private static int toSourceStateCollectedProfileType(boolean isManagedProfile) { - return isManagedProfile - ? SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED - : SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + private static int toSourceStateCollectedProfileType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + case PROFILE_TYPE_MANAGED: + return SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; + case PROFILE_TYPE_PRIVATE: + return SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; + } + Log.w(TAG, "state collect arg requested for unknown profile type " + profileType); + return SAFETY_SOURCE_STATE_COLLECTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; } - private static int toSystemEventProfileType(boolean isManagedProfile) { - return isManagedProfile - ? SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED - : SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + private static int toSystemEventProfileType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + case PROFILE_TYPE_MANAGED: + return SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; + case PROFILE_TYPE_PRIVATE: + return SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; + } + Log.w(TAG, "system event arg requested for unknown profile type " + profileType); + return SAFETY_CENTER_SYSTEM_EVENT_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; } - private static int toInteractionReportedProfileType(boolean isManagedProfile) { - return isManagedProfile - ? SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED - : SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + private static int toInteractionReportedProfileType(@ProfileType int profileType) { + switch (profileType) { + case PROFILE_TYPE_PRIMARY: + return SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PERSONAL; + case PROFILE_TYPE_MANAGED: + return SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_MANAGED; + case PROFILE_TYPE_PRIVATE: + return SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_PRIVATE; + } + Log.w(TAG, "interaction enum requested for unknown profile type " + profileType); + return SAFETY_CENTER_INTERACTION_REPORTED__SAFETY_SOURCE_PROFILE_TYPE__PROFILE_TYPE_UNKNOWN; } /** diff --git a/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationReceiver.java b/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationReceiver.java index ed0e95177..6cfa39580 100644 --- a/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationReceiver.java +++ b/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationReceiver.java @@ -27,7 +27,6 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.internal.annotations.GuardedBy; -import com.android.permission.util.UserUtils; import com.android.safetycenter.ApiLock; import com.android.safetycenter.PendingIntentFactory; import com.android.safetycenter.SafetyCenterDataChangeNotifier; @@ -214,7 +213,7 @@ public final class SafetyCenterNotificationReceiver extends BroadcastReceiver { if (dismissedIssue != null) { SafetyCenterStatsdLogger.writeNotificationDismissedEvent( issueKey.getSafetySourceId(), - UserUtils.isManagedProfile(userId, context), + UserProfileGroup.getProfileTypeOfUser(userId, context), dismissedIssue.getIssueTypeId(), dismissedIssue.getSeverityLevel()); } @@ -240,7 +239,7 @@ public final class SafetyCenterNotificationReceiver extends BroadcastReceiver { if (issue != null) { SafetyCenterStatsdLogger.writeNotificationActionClickedEvent( issueKey.getSafetySourceId(), - UserUtils.isManagedProfile(issueKey.getUserId(), context), + UserProfileGroup.getProfileTypeOfUser(issueKey.getUserId(), context), issue.getIssueTypeId(), issue.getSeverityLevel(), SafetySourceIssues.isPrimaryAction( diff --git a/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationSender.java b/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationSender.java index d17090c34..2e298fa90 100644 --- a/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationSender.java +++ b/service/java/com/android/safetycenter/notifications/SafetyCenterNotificationSender.java @@ -37,7 +37,6 @@ import android.util.Log; import androidx.annotation.Nullable; import com.android.modules.utils.build.SdkLevel; -import com.android.permission.util.UserUtils; import com.android.safetycenter.SafetyCenterFlags; import com.android.safetycenter.SafetySourceIssueInfo; import com.android.safetycenter.SafetySourceIssues; @@ -210,11 +209,9 @@ public final class SafetyCenterNotificationSender { /** Updates Safety Center notifications for the given {@link UserProfileGroup}. */ public void updateNotifications(UserProfileGroup userProfileGroup) { - updateNotifications(userProfileGroup.getProfileParentUserId()); - - int[] managedProfileUserIds = userProfileGroup.getManagedProfilesUserIds(); - for (int i = 0; i < managedProfileUserIds.length; i++) { - updateNotifications(managedProfileUserIds[i]); + int[] allProfilesUserIds = userProfileGroup.getAllProfilesUserIds(); + for (int i = 0; i < allProfilesUserIds.length; i++) { + updateNotifications(allProfilesUserIds[i]); } } @@ -387,7 +384,7 @@ public final class SafetyCenterNotificationSender { mNotifiedIssues.put(key, issue); SafetyCenterStatsdLogger.writeNotificationPostedEvent( key.getSafetySourceId(), - UserUtils.isManagedProfile(key.getUserId(), mContext), + UserProfileGroup.getProfileTypeOfUser(key.getUserId(), mContext), issue.getIssueTypeId(), issue.getSeverityLevel()); } diff --git a/service/lint-baseline.xml b/service/lint-baseline.xml index dd7e79ef5..226175e91 100644 --- a/service/lint-baseline.xml +++ b/service/lint-baseline.xml @@ -1,42 +1,48 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev"> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> <issue id="NewApi" - message="Call requires API level 31 (current min is 30): `android.os.UserHandle#getUid`" - errorLine1=" return UserHandle.of(userId).getUid(appId);" - errorLine2=" ~~~~~~"> + message="Call requires API level 34 (current min is 33): `getDeduplicationGroup`" + errorLine1=" String deduplicationGroup = issueInfo.getSafetySource().getDeduplicationGroup();" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/service/java/com/android/permission/compat/UserHandleCompat.java" - line="57" - column="38"/> + file="packages/modules/Permission/service/java/com/android/safetycenter/data/SafetyCenterIssueDeduplicator.java" + line="316" + column="65"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `android.content.pm.PackageManager#getPackageUidAsUser`" - errorLine1=" packageManager.getPackageUidAsUser(" - errorLine2=" ~~~~~~~~~~~~~~~~~~~"> + message="Call requires API level 34 (current min is 33): `getDeduplicationId`" + errorLine1=" String deduplicationId = issueInfo.getSafetySourceIssue().getDeduplicationId();" + errorLine2=" ~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/service/java/com/android/safetycenter/SafetyCenterService.java" - line="651" - column="40"/> + file="packages/modules/Permission/service/java/com/android/safetycenter/data/SafetyCenterIssueDeduplicator.java" + line="317" + column="67"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `getDeduplicationGroup`"> + message="Call requires API level 34 (current min is 33): `android.content.pm.PackageManager#getPackageUidAsUser`" + errorLine1=" packageManager.getPackageUidAsUser(" + errorLine2=" ~~~~~~~~~~~~~~~~~~~"> <location - file="packages/modules/Permission/service/java/com/android/safetycenter/data/SafetyCenterIssueDeduplicator.java" - line="315"/> + file="packages/modules/Permission/service/java/com/android/safetycenter/SafetyCenterService.java" + line="732" + column="40"/> </issue> <issue id="NewApi" - message="Call requires API level 34 (current min is 33): `getDeduplicationId`"> + message="Call requires API level 31 (current min is 30): `android.os.UserHandle#getUid`" + errorLine1=" return UserHandle.of(userId).getUid(appId);" + errorLine2=" ~~~~~~"> <location - file="packages/modules/Permission/service/java/com/android/safetycenter/data/SafetyCenterIssueDeduplicator.java" - line="316"/> + file="packages/modules/Permission/service/java/com/android/permission/compat/UserHandleCompat.java" + line="57" + column="38"/> </issue> </issues>
\ No newline at end of file diff --git a/tests/cts/permission/Android.bp b/tests/cts/permission/Android.bp index 8849f41a7..ed7fcea25 100644 --- a/tests/cts/permission/Android.bp +++ b/tests/cts/permission/Android.bp @@ -30,6 +30,7 @@ android_test { "general-tests", "sts", "mts-permission", + "mcts-permission", ], // Include both the 32 and 64 bit versions compile_multilib: "both", @@ -52,6 +53,8 @@ android_test { "sts-device-util", "platform-test-rules", "CtsVirtualDeviceCommonLib", + "android.permission.flags-aconfig-java", + "androidx.test.rules", ], jni_libs: [ "libctspermission_jni", diff --git a/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/Android.bp b/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/Android.bp index fdb0be452..df6bdf5c3 100644 --- a/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/Android.bp +++ b/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/Android.bp @@ -31,5 +31,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/AndroidManifest.xml b/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/AndroidManifest.xml index ef4d82dfc..ece3ba1c7 100644 --- a/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/AndroidManifest.xml +++ b/tests/cts/permission/AppThatAccessesCalendarContactsBodySensorCustomPermission/AndroidManifest.xml @@ -34,6 +34,7 @@ <uses-permission android:name="android.permission.WRITE_CALENDAR" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.BODY_SENSORS" /> + <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.cts.appthatrequestcustompermission.TEST_PERMISSION" /> <application /> diff --git a/tests/cts/permission/AppThatAccessesLocationOnCommand/Android.bp b/tests/cts/permission/AppThatAccessesLocationOnCommand/Android.bp index 2bb3dd3ab..d4573d264 100644 --- a/tests/cts/permission/AppThatAccessesLocationOnCommand/Android.bp +++ b/tests/cts/permission/AppThatAccessesLocationOnCommand/Android.bp @@ -32,6 +32,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: [ "src/**/*.java", diff --git a/tests/cts/permission/AppThatAlsoDefinesPermissionA/Android.bp b/tests/cts/permission/AppThatAlsoDefinesPermissionA/Android.bp index 46b7aecd3..af002df2b 100644 --- a/tests/cts/permission/AppThatAlsoDefinesPermissionA/Android.bp +++ b/tests/cts/permission/AppThatAlsoDefinesPermissionA/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatAlsoDefinesPermissionADifferentCert/Android.bp b/tests/cts/permission/AppThatAlsoDefinesPermissionADifferentCert/Android.bp index c88d0f7fe..6a622ca46 100644 --- a/tests/cts/permission/AppThatAlsoDefinesPermissionADifferentCert/Android.bp +++ b/tests/cts/permission/AppThatAlsoDefinesPermissionADifferentCert/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert/Android.bp b/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert/Android.bp index b1ef695ac..98f0a9aeb 100644 --- a/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert/Android.bp +++ b/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert30/Android.bp b/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert30/Android.bp index 52900dfc3..dd46066e9 100644 --- a/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert30/Android.bp +++ b/tests/cts/permission/AppThatAlsoDefinesPermissionGroupADifferentCert30/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatDefinesPermissionA/Android.bp b/tests/cts/permission/AppThatDefinesPermissionA/Android.bp index 54a575b4f..e8125cd76 100644 --- a/tests/cts/permission/AppThatDefinesPermissionA/Android.bp +++ b/tests/cts/permission/AppThatDefinesPermissionA/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup/Android.bp b/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup/Android.bp index 9029b3a98..06f181f40 100644 --- a/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup/Android.bp +++ b/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup30/Android.bp b/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup30/Android.bp index 04961e265..527594589 100644 --- a/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup30/Android.bp +++ b/tests/cts/permission/AppThatDefinesPermissionWithInvalidGroup30/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatDefinesPermissionWithPlatformGroup/Android.bp b/tests/cts/permission/AppThatDefinesPermissionWithPlatformGroup/Android.bp index 687ad7488..8d6279704 100644 --- a/tests/cts/permission/AppThatDefinesPermissionWithPlatformGroup/Android.bp +++ b/tests/cts/permission/AppThatDefinesPermissionWithPlatformGroup/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatDefinesUndefinedPermissionGroupElement/Android.bp b/tests/cts/permission/AppThatDefinesUndefinedPermissionGroupElement/Android.bp index c00d26d3a..684fd0559 100644 --- a/tests/cts/permission/AppThatDefinesUndefinedPermissionGroupElement/Android.bp +++ b/tests/cts/permission/AppThatDefinesUndefinedPermissionGroupElement/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], srcs: ["src/**/*.kt"], } diff --git a/tests/cts/permission/AppThatDoesNotHaveBgLocationAccess/Android.bp b/tests/cts/permission/AppThatDoesNotHaveBgLocationAccess/Android.bp index f9ff21c6f..6e9936996 100644 --- a/tests/cts/permission/AppThatDoesNotHaveBgLocationAccess/Android.bp +++ b/tests/cts/permission/AppThatDoesNotHaveBgLocationAccess/Android.bp @@ -32,5 +32,6 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatHasNotificationListener/Android.bp b/tests/cts/permission/AppThatHasNotificationListener/Android.bp index 419ab5d66..3f3563e87 100644 --- a/tests/cts/permission/AppThatHasNotificationListener/Android.bp +++ b/tests/cts/permission/AppThatHasNotificationListener/Android.bp @@ -32,6 +32,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: [ "src/**/*.java", diff --git a/tests/cts/permission/AppThatRequestBluetoothPermission30/Android.bp b/tests/cts/permission/AppThatRequestBluetoothPermission30/Android.bp index a3fe38109..5909e12b0 100644 --- a/tests/cts/permission/AppThatRequestBluetoothPermission30/Android.bp +++ b/tests/cts/permission/AppThatRequestBluetoothPermission30/Android.bp @@ -35,6 +35,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: [":AppThatRequestBluetoothPermission"], } diff --git a/tests/cts/permission/AppThatRequestBluetoothPermission31/Android.bp b/tests/cts/permission/AppThatRequestBluetoothPermission31/Android.bp index 7dc2e2445..c5abe6c18 100644 --- a/tests/cts/permission/AppThatRequestBluetoothPermission31/Android.bp +++ b/tests/cts/permission/AppThatRequestBluetoothPermission31/Android.bp @@ -28,6 +28,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: [":AppThatRequestBluetoothPermission"], } diff --git a/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocation31/Android.bp b/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocation31/Android.bp index 857f2e2f4..f5a0faa3a 100644 --- a/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocation31/Android.bp +++ b/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocation31/Android.bp @@ -28,6 +28,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: [":AppThatRequestBluetoothPermission"], } diff --git a/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocationNoProvider/Android.bp b/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocationNoProvider/Android.bp index 6f635c0cc..88a2765ca 100644 --- a/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocationNoProvider/Android.bp +++ b/tests/cts/permission/AppThatRequestBluetoothPermissionNeverForLocationNoProvider/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestContactsAndCallLogPermission16/Android.bp b/tests/cts/permission/AppThatRequestContactsAndCallLogPermission16/Android.bp index 1a057d010..a1364df32 100644 --- a/tests/cts/permission/AppThatRequestContactsAndCallLogPermission16/Android.bp +++ b/tests/cts/permission/AppThatRequestContactsAndCallLogPermission16/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestContactsPermission15/Android.bp b/tests/cts/permission/AppThatRequestContactsPermission15/Android.bp index 54618447e..bb9ea42dc 100644 --- a/tests/cts/permission/AppThatRequestContactsPermission15/Android.bp +++ b/tests/cts/permission/AppThatRequestContactsPermission15/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestContactsPermission16/Android.bp b/tests/cts/permission/AppThatRequestContactsPermission16/Android.bp index 2dca5aa2c..a378c0c7f 100644 --- a/tests/cts/permission/AppThatRequestContactsPermission16/Android.bp +++ b/tests/cts/permission/AppThatRequestContactsPermission16/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestDevicePermissions/Android.bp b/tests/cts/permission/AppThatRequestDevicePermissions/Android.bp index c0a9f9914..10ee18ed6 100644 --- a/tests/cts/permission/AppThatRequestDevicePermissions/Android.bp +++ b/tests/cts/permission/AppThatRequestDevicePermissions/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission28/Android.bp b/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission28/Android.bp index 5a60a3fbd..eaf10f50c 100644 --- a/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission28/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission28/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "vts10", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission29/Android.bp b/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission29/Android.bp index de6c3cbb2..095c24093 100644 --- a/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission29/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationAndBackgroundPermission29/Android.bp @@ -29,5 +29,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationPermission22/Android.bp b/tests/cts/permission/AppThatRequestLocationPermission22/Android.bp index 25d9893ec..32d8505fb 100644 --- a/tests/cts/permission/AppThatRequestLocationPermission22/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationPermission22/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationPermission28/Android.bp b/tests/cts/permission/AppThatRequestLocationPermission28/Android.bp index bfeadbd58..29ade84d2 100644 --- a/tests/cts/permission/AppThatRequestLocationPermission28/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationPermission28/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationPermission29/Android.bp b/tests/cts/permission/AppThatRequestLocationPermission29/Android.bp index ee3982ea4..240795b30 100644 --- a/tests/cts/permission/AppThatRequestLocationPermission29/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationPermission29/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestLocationPermission29v4/Android.bp b/tests/cts/permission/AppThatRequestLocationPermission29v4/Android.bp index b56bb25eb..262438a04 100644 --- a/tests/cts/permission/AppThatRequestLocationPermission29v4/Android.bp +++ b/tests/cts/permission/AppThatRequestLocationPermission29v4/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestMultiplePermissionsWithMinMaxSdk/Android.bp b/tests/cts/permission/AppThatRequestMultiplePermissionsWithMinMaxSdk/Android.bp index 5fcc6c8ba..4a8cddd5c 100644 --- a/tests/cts/permission/AppThatRequestMultiplePermissionsWithMinMaxSdk/Android.bp +++ b/tests/cts/permission/AppThatRequestMultiplePermissionsWithMinMaxSdk/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestOneTimePermission/Android.bp b/tests/cts/permission/AppThatRequestOneTimePermission/Android.bp index c12a70871..50a347928 100644 --- a/tests/cts/permission/AppThatRequestOneTimePermission/Android.bp +++ b/tests/cts/permission/AppThatRequestOneTimePermission/Android.bp @@ -30,6 +30,7 @@ android_test_helper_app { "cts", "mts-permission", "general-tests", + "mcts-permission", ], srcs: ["src/**/*.java"], } diff --git a/tests/cts/permission/AppThatRequestPermissionAandB/Android.bp b/tests/cts/permission/AppThatRequestPermissionAandB/Android.bp index 6c037b456..b583b4603 100644 --- a/tests/cts/permission/AppThatRequestPermissionAandB/Android.bp +++ b/tests/cts/permission/AppThatRequestPermissionAandB/Android.bp @@ -28,6 +28,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: ["src/**/*.java"], } diff --git a/tests/cts/permission/AppThatRequestPermissionAandC/Android.bp b/tests/cts/permission/AppThatRequestPermissionAandC/Android.bp index b94965334..ae309b0bb 100644 --- a/tests/cts/permission/AppThatRequestPermissionAandC/Android.bp +++ b/tests/cts/permission/AppThatRequestPermissionAandC/Android.bp @@ -28,6 +28,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], srcs: ["src/**/*.java"], } diff --git a/tests/cts/permission/AppThatRequestStoragePermission28/Android.bp b/tests/cts/permission/AppThatRequestStoragePermission28/Android.bp index 50ae9209b..a2bd97b3c 100644 --- a/tests/cts/permission/AppThatRequestStoragePermission28/Android.bp +++ b/tests/cts/permission/AppThatRequestStoragePermission28/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestStoragePermission29/Android.bp b/tests/cts/permission/AppThatRequestStoragePermission29/Android.bp index 4663be9dc..5b1c73f3a 100644 --- a/tests/cts/permission/AppThatRequestStoragePermission29/Android.bp +++ b/tests/cts/permission/AppThatRequestStoragePermission29/Android.bp @@ -27,5 +27,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestSystemAlertWindow22/Android.bp b/tests/cts/permission/AppThatRequestSystemAlertWindow22/Android.bp index 43cc9de97..8f0ff524f 100644 --- a/tests/cts/permission/AppThatRequestSystemAlertWindow22/Android.bp +++ b/tests/cts/permission/AppThatRequestSystemAlertWindow22/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRequestSystemAlertWindow23/Android.bp b/tests/cts/permission/AppThatRequestSystemAlertWindow23/Android.bp index 403257d45..73c5c8813 100644 --- a/tests/cts/permission/AppThatRequestSystemAlertWindow23/Android.bp +++ b/tests/cts/permission/AppThatRequestSystemAlertWindow23/Android.bp @@ -28,5 +28,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppThatRunsRationaleTests/Android.bp b/tests/cts/permission/AppThatRunsRationaleTests/Android.bp index 30019fba5..f6826784c 100644 --- a/tests/cts/permission/AppThatRunsRationaleTests/Android.bp +++ b/tests/cts/permission/AppThatRunsRationaleTests/Android.bp @@ -29,6 +29,7 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], srcs: ["src/**/*.java"], diff --git a/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission28/Android.bp b/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission28/Android.bp index 8214c425d..43e40d887 100644 --- a/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission28/Android.bp +++ b/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission28/Android.bp @@ -29,5 +29,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission29/Android.bp b/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission29/Android.bp index 3df5c9a7d..c76088043 100644 --- a/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission29/Android.bp +++ b/tests/cts/permission/AppWithSharedUidThatRequestLocationPermission29/Android.bp @@ -29,5 +29,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppWithSharedUidThatRequestsNoPermissions/Android.bp b/tests/cts/permission/AppWithSharedUidThatRequestsNoPermissions/Android.bp index 7dd3ef638..a00cf0df1 100644 --- a/tests/cts/permission/AppWithSharedUidThatRequestsNoPermissions/Android.bp +++ b/tests/cts/permission/AppWithSharedUidThatRequestsNoPermissions/Android.bp @@ -26,5 +26,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/AppWithSharedUidThatRequestsPermissions/Android.bp b/tests/cts/permission/AppWithSharedUidThatRequestsPermissions/Android.bp index c58b3e81e..ff95c1b86 100644 --- a/tests/cts/permission/AppWithSharedUidThatRequestsPermissions/Android.bp +++ b/tests/cts/permission/AppWithSharedUidThatRequestsPermissions/Android.bp @@ -26,5 +26,6 @@ android_test_helper_app { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/StorageEscalationApp28/Android.bp b/tests/cts/permission/StorageEscalationApp28/Android.bp index 9ea70f565..f0c86433b 100644 --- a/tests/cts/permission/StorageEscalationApp28/Android.bp +++ b/tests/cts/permission/StorageEscalationApp28/Android.bp @@ -26,5 +26,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/StorageEscalationApp29Full/Android.bp b/tests/cts/permission/StorageEscalationApp29Full/Android.bp index dcb64e68a..810032059 100644 --- a/tests/cts/permission/StorageEscalationApp29Full/Android.bp +++ b/tests/cts/permission/StorageEscalationApp29Full/Android.bp @@ -26,5 +26,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/StorageEscalationApp29Scoped/Android.bp b/tests/cts/permission/StorageEscalationApp29Scoped/Android.bp index 8a780c07b..12a5310e2 100644 --- a/tests/cts/permission/StorageEscalationApp29Scoped/Android.bp +++ b/tests/cts/permission/StorageEscalationApp29Scoped/Android.bp @@ -26,5 +26,6 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], } diff --git a/tests/cts/permission/sdk28/Android.bp b/tests/cts/permission/sdk28/Android.bp index 3043c9329..2bdffabe5 100644 --- a/tests/cts/permission/sdk28/Android.bp +++ b/tests/cts/permission/sdk28/Android.bp @@ -29,5 +29,6 @@ android_test { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt b/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt index e7bad2b05..227fbfb9a 100644 --- a/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt +++ b/tests/cts/permission/src/android/permission/cts/AccessibilityPrivacySourceTest.kt @@ -24,7 +24,6 @@ import android.app.UiAutomation import android.content.ComponentName import android.content.Context import android.os.Build -import android.os.Process import android.permission.cts.CtsNotificationListenerServiceUtils.assertEmptyNotification import android.permission.cts.CtsNotificationListenerServiceUtils.assertNotificationExist import android.permission.cts.CtsNotificationListenerServiceUtils.cancelNotification @@ -92,15 +91,6 @@ class AccessibilityPrivacySourceTest { ) @get:Rule - val deviceConfigA11ySourceEnabled = - DeviceConfigStateChangerRule( - context, - DeviceConfig.NAMESPACE_PRIVACY, - ACCESSIBILITY_SOURCE_ENABLED, - true.toString() - ) - - @get:Rule val deviceConfigA11yListenerDisabled = DeviceConfigStateChangerRule( context, @@ -115,11 +105,6 @@ class AccessibilityPrivacySourceTest { InstrumentedAccessibilityService.disableAllServices() runShellCommand("input keyevent KEYCODE_WAKEUP") resetPermissionController() - // Bypass battery saving restrictions - runShellCommand( - "cmd tare set-vip " + - "${Process.myUserHandle().identifier} $permissionControllerPackage true" - ) cancelNotifications(permissionControllerPackage) assertEmptyNotification(permissionControllerPackage, ACCESSIBILITY_NOTIFICATION_ID) runWithShellPermissionIdentity { safetyCenterManager?.clearAllSafetySourceDataForTests() } @@ -133,11 +118,6 @@ class AccessibilityPrivacySourceTest { @After fun cleanup() { cancelNotifications(permissionControllerPackage) - // Reset battery saving restrictions - runShellCommand( - "cmd tare set-vip " + - "${Process.myUserHandle().identifier} $permissionControllerPackage default" - ) runWithShellPermissionIdentity { safetyCenterManager?.clearAllSafetySourceDataForTests() } } @@ -233,26 +213,6 @@ class AccessibilityPrivacySourceTest { } @Test - fun testJobWithAccessibilityFeatureDisabledDoesNotSendNotification() { - setDeviceConfigPrivacyProperty(ACCESSIBILITY_SOURCE_ENABLED, false.toString()) - mAccessibilityServiceRule.enableService() - runJobAndWaitUntilCompleted() - assertEmptyNotification(permissionControllerPackage, ACCESSIBILITY_NOTIFICATION_ID) - } - - @Test - fun testJobWithAccessibilityFeatureDisabledDoesNotSendIssueToSafetyCenter() { - setDeviceConfigPrivacyProperty(ACCESSIBILITY_SOURCE_ENABLED, false.toString()) - mAccessibilityServiceRule.enableService() - runJobAndWaitUntilCompleted() - assertSafetyCenterIssueDoesNotExist( - SC_ACCESSIBILITY_SOURCE_ID, - safetyCenterIssueId, - SC_ACCESSIBILITY_ISSUE_TYPE_ID - ) - } - - @Test fun testJobWithSafetyCenterDisabledDoesNotSendNotification() { setDeviceConfigPrivacyProperty(SAFETY_CENTER_ENABLED, false.toString()) mAccessibilityServiceRule.enableService() @@ -332,7 +292,6 @@ class AccessibilityPrivacySourceTest { companion object { private const val SC_ACCESSIBILITY_SOURCE_ID = "AndroidAccessibility" - private const val ACCESSIBILITY_SOURCE_ENABLED = "sc_accessibility_source_enabled" private const val SAFETY_CENTER_ENABLED = "safety_center_is_enabled" private const val ACCESSIBILITY_LISTENER_ENABLED = "sc_accessibility_listener_enabled" private const val ACCESSIBILITY_JOB_INTERVAL_MILLIS = "sc_accessibility_job_interval_millis" diff --git a/tests/cts/permission/src/android/permission/cts/AppWidgetManagerPermissionTest.java b/tests/cts/permission/src/android/permission/cts/AppWidgetManagerPermissionTest.java index 294896d97..fa43bfb18 100644 --- a/tests/cts/permission/src/android/permission/cts/AppWidgetManagerPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/AppWidgetManagerPermissionTest.java @@ -20,7 +20,8 @@ import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.pm.PackageManager; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Test that protected AppWidgetManager APIs cannot be called without permissions diff --git a/tests/cts/permission/src/android/permission/cts/BaseNotificationListenerCheckTest.java b/tests/cts/permission/src/android/permission/cts/BaseNotificationListenerCheckTest.java index 42da8c830..a4551f610 100644 --- a/tests/cts/permission/src/android/permission/cts/BaseNotificationListenerCheckTest.java +++ b/tests/cts/permission/src/android/permission/cts/BaseNotificationListenerCheckTest.java @@ -137,18 +137,12 @@ public class BaseNotificationListenerCheckTest { @BeforeClass public static void beforeClassSetup() throws Exception { - // Bypass battery saving restrictions - runShellCommand("cmd tare set-vip " - + myUserHandle().getIdentifier() + " " + PERMISSION_CONTROLLER_PKG + " true"); // Disallow any OEM enabled NLS disallowPreexistingNotificationListeners(); } @AfterClass public static void afterClassTearDown() throws Throwable { - // Reset battery saving restrictions - runShellCommand("cmd tare set-vip " - + myUserHandle().getIdentifier() + " " + PERMISSION_CONTROLLER_PKG + " default"); // Reallow any previously OEM allowed NLS reallowPreexistingNotificationListeners(); } diff --git a/tests/cts/permission/src/android/permission/cts/CameraPermissionTest.java b/tests/cts/permission/src/android/permission/cts/CameraPermissionTest.java index 99f2862f1..981735388 100644 --- a/tests/cts/permission/src/android/permission/cts/CameraPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/CameraPermissionTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.hardware.Camera; import android.os.Environment; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; + +import androidx.test.filters.MediumTest; import java.io.FileOutputStream; diff --git a/tests/cts/permission/src/android/permission/cts/ContactsProviderTest.java b/tests/cts/permission/src/android/permission/cts/ContactsProviderTest.java index 984fd6cfe..69b64d790 100644 --- a/tests/cts/permission/src/android/permission/cts/ContactsProviderTest.java +++ b/tests/cts/permission/src/android/permission/cts/ContactsProviderTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.content.ContentValues; import android.provider.ContactsContract; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify permissions are enforced. diff --git a/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt b/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt index ac02d53b5..3af2f895f 100644 --- a/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt +++ b/tests/cts/permission/src/android/permission/cts/DevicePermissionsTest.kt @@ -21,17 +21,25 @@ import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND import android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND_SERVICE import android.app.Instrumentation import android.companion.virtual.VirtualDeviceManager +import android.companion.virtual.VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT import android.companion.virtual.VirtualDeviceManager.VirtualDevice import android.companion.virtual.VirtualDeviceParams import android.content.Context import android.content.Intent import android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED +import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET import android.content.pm.PackageManager.PERMISSION_DENIED import android.content.pm.PackageManager.PERMISSION_GRANTED import android.os.Build import android.os.UserHandle import android.permission.PermissionManager +import android.permission.flags.Flags import android.platform.test.annotations.AppModeFull +import android.platform.test.annotations.RequiresFlagsDisabled +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.virtualdevice.cts.common.FakeAssociationRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SdkSuppress @@ -57,6 +65,7 @@ class DevicePermissionsTest { private lateinit var virtualDevice: VirtualDevice private lateinit var virtualDeviceContext: Context + private lateinit var persistentDeviceId: String private lateinit var permissionManager: PermissionManager @@ -69,9 +78,12 @@ class DevicePermissionsTest { Manifest.permission.CREATE_VIRTUAL_DEVICE, Manifest.permission.GRANT_RUNTIME_PERMISSIONS, Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, - Manifest.permission.REVOKE_RUNTIME_PERMISSIONS + Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, + Manifest.permission.GET_RUNTIME_PERMISSIONS ) + @Rule @JvmField val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + @Before fun setup() { val virtualDeviceManager = @@ -84,6 +96,7 @@ class DevicePermissionsTest { ) virtualDeviceContext = defaultDeviceContext.createDeviceContext(virtualDevice.deviceId) permissionManager = virtualDeviceContext.getSystemService(PermissionManager::class.java)!! + persistentDeviceId = virtualDevice.persistentDeviceId!! runShellCommandOrThrow("pm install -r $TEST_APK") } @@ -93,11 +106,16 @@ class DevicePermissionsTest { virtualDevice.close() } + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun testDeviceAwareRuntimePermissionIsGranted() { grantPermissionAndAssertGranted(Manifest.permission.CAMERA, virtualDeviceContext) } + @RequiresFlagsDisabled(Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED) @Test fun testDeviceAwareRuntimePermissionGrantIsInherited() { grantPermissionAndAssertGranted(Manifest.permission.CAMERA, defaultDeviceContext) @@ -107,33 +125,29 @@ class DevicePermissionsTest { @Test fun testNonDeviceAwareRuntimePermissionGrantIsInherited() { - grantPermissionAndAssertGranted(Manifest.permission.READ_CONTACTS, defaultDeviceContext) + grantPermissionAndAssertGranted(NON_DEVICE_AWARE_PERMISSION, defaultDeviceContext) - assertPermission( - Manifest.permission.READ_CONTACTS, - PERMISSION_GRANTED, - virtualDeviceContext - ) + assertPermission(NON_DEVICE_AWARE_PERMISSION, PERMISSION_GRANTED, virtualDeviceContext) } + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun testDeviceAwareRuntimePermissionIsRevoked() { - grantPermissionAndAssertGranted(Manifest.permission.RECORD_AUDIO, virtualDeviceContext) + grantPermissionAndAssertGranted(DEVICE_AWARE_PERMISSION, virtualDeviceContext) - revokePermissionAndAssertDenied(Manifest.permission.RECORD_AUDIO, virtualDeviceContext) + revokePermissionAndAssertDenied(DEVICE_AWARE_PERMISSION, virtualDeviceContext) } @Test fun testNonDeviceAwareRuntimePermissionIsRevokedForDefaultDevice() { - grantPermissionAndAssertGranted(Manifest.permission.READ_CONTACTS, defaultDeviceContext) - assertPermission( - Manifest.permission.READ_CONTACTS, - PERMISSION_GRANTED, - virtualDeviceContext - ) + grantPermissionAndAssertGranted(NON_DEVICE_AWARE_PERMISSION, defaultDeviceContext) + assertPermission(NON_DEVICE_AWARE_PERMISSION, PERMISSION_GRANTED, virtualDeviceContext) // Revoke call from virtualDeviceContext should revoke for default device as well. - revokePermissionAndAssertDenied(Manifest.permission.READ_CONTACTS, virtualDeviceContext) - assertPermission(Manifest.permission.READ_CONTACTS, PERMISSION_DENIED, defaultDeviceContext) + revokePermissionAndAssertDenied(NON_DEVICE_AWARE_PERMISSION, virtualDeviceContext) + assertPermission(NON_DEVICE_AWARE_PERMISSION, PERMISSION_DENIED, defaultDeviceContext) } @Test @@ -148,9 +162,9 @@ class DevicePermissionsTest { @Test fun testOneTimePermissionIsRevoked() { - grantPermissionAndAssertGranted(Manifest.permission.RECORD_AUDIO, virtualDeviceContext) + grantPermissionAndAssertGranted(DEVICE_AWARE_PERMISSION, virtualDeviceContext) virtualDeviceContext.packageManager.updatePermissionFlags( - Manifest.permission.RECORD_AUDIO, + DEVICE_AWARE_PERMISSION, TEST_PACKAGE_NAME, FLAG_PERMISSION_ONE_TIME, FLAG_PERMISSION_ONE_TIME, @@ -165,28 +179,322 @@ class DevicePermissionsTest { IMPORTANCE_FOREGROUND_SERVICE ) eventually { - assertPermission( - Manifest.permission.RECORD_AUDIO, - PERMISSION_DENIED, - virtualDeviceContext - ) + assertPermission(DEVICE_AWARE_PERMISSION, PERMISSION_DENIED, virtualDeviceContext) } } + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun testRevokeSelfPermissionOnKill() { - grantPermissionAndAssertGranted(Manifest.permission.RECORD_AUDIO, virtualDeviceContext) + grantPermissionAndAssertGranted(DEVICE_AWARE_PERMISSION, virtualDeviceContext) - revokeSelfPermission(Manifest.permission.RECORD_AUDIO, virtualDeviceContext) + revokeSelfPermission(DEVICE_AWARE_PERMISSION, virtualDeviceContext) eventually { - assertPermission( - Manifest.permission.RECORD_AUDIO, - PERMISSION_DENIED, - virtualDeviceContext - ) + assertPermission(DEVICE_AWARE_PERMISSION, PERMISSION_DENIED, virtualDeviceContext) } } + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun testGrantAndRevokeDeviceAwarePermissionByPersistentDeviceId() { + val deviceAwarePermission = DEVICE_AWARE_PERMISSION + + permissionManager.grantRuntimePermission( + TEST_PACKAGE_NAME, + deviceAwarePermission, + persistentDeviceId + ) + + assertThat( + permissionManager.checkPermission( + deviceAwarePermission, + TEST_PACKAGE_NAME, + virtualDevice.persistentDeviceId!! + ) + ) + .isEqualTo(PERMISSION_GRANTED) + + assertThat( + permissionManager.checkPermission( + deviceAwarePermission, + TEST_PACKAGE_NAME, + VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT + ) + ) + .isEqualTo(PERMISSION_DENIED) + + permissionManager.revokeRuntimePermission( + TEST_PACKAGE_NAME, + deviceAwarePermission, + persistentDeviceId, + "test" + ) + + assertThat( + permissionManager.checkPermission( + deviceAwarePermission, + TEST_PACKAGE_NAME, + virtualDevice.persistentDeviceId!! + ) + ) + .isEqualTo(PERMISSION_DENIED) + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun testUpdateAndGetPermissionFlagsByPersistentDeviceId() { + val deviceAwarePermission = DEVICE_AWARE_PERMISSION + val flagMask = FLAG_PERMISSION_USER_SET or FLAG_PERMISSION_USER_FIXED + val flag = FLAG_PERMISSION_USER_SET + + assertThat( + permissionManager.getPermissionFlags( + TEST_PACKAGE_NAME, + deviceAwarePermission, + persistentDeviceId + ) + ) + .isEqualTo(0) + + permissionManager.updatePermissionFlags( + TEST_PACKAGE_NAME, + deviceAwarePermission, + persistentDeviceId, + flagMask, + flag + ) + + assertThat( + permissionManager.getPermissionFlags( + TEST_PACKAGE_NAME, + deviceAwarePermission, + persistentDeviceId + ) + ) + .isEqualTo(FLAG_PERMISSION_USER_SET) + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun testAllPermissionStatesApiGrantForVirtualDevice() { + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId) + .isEmpty() + ) + .isTrue() + + permissionManager.grantRuntimePermission( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + persistentDeviceId + ) + + val permissionStateMap = + permissionManager.getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId) + assertThat(permissionStateMap.size).isEqualTo(1) + assertThat(permissionStateMap[DEVICE_AWARE_PERMISSION]!!.isGranted).isTrue() + assertThat(permissionStateMap[DEVICE_AWARE_PERMISSION]!!.flags).isEqualTo(0) + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT) + .contains(DEVICE_AWARE_PERMISSION) + ) + .isFalse() + + permissionManager.revokeRuntimePermission( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + persistentDeviceId, + "test" + ) + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId) + .contains(DEVICE_AWARE_PERMISSION) + ) + .isFalse() + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun testAllPermissionStatesApiFlagsForVirtualDevice() { + val flagMask = FLAG_PERMISSION_USER_SET or FLAG_PERMISSION_USER_FIXED + val flag = FLAG_PERMISSION_USER_SET + + assertThat(permissionManager.getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId)) + .isEmpty() + + permissionManager.updatePermissionFlags( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + persistentDeviceId, + flagMask, + flag + ) + + assertThat( + hasPermission( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId)[ + DEVICE_AWARE_PERMISSION]!! + .flags, + flag + ) + ) + .isTrue() + + assertThat( + hasPermission( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId)[ + DEVICE_AWARE_PERMISSION]!! + .flags, + FLAG_PERMISSION_USER_FIXED + ) + ) + .isFalse() + } + + @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @Test + fun testAllPermissionStatesApiGrantForDefaultDevice() { + // Setting a flag explicitly so that the permission consistently stays in the state upon + // revoke + permissionManager.updatePermissionFlags( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + PERSISTENT_DEVICE_ID_DEFAULT, + FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, + FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED + ) + + permissionManager.grantRuntimePermission( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + PERSISTENT_DEVICE_ID_DEFAULT + ) + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT)[ + DEVICE_AWARE_PERMISSION]!! + .isGranted + ) + .isTrue() + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId) + .contains(DEVICE_AWARE_PERMISSION) + ) + .isFalse() + + permissionManager.revokeRuntimePermission( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + PERSISTENT_DEVICE_ID_DEFAULT, + "test" + ) + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT)[ + DEVICE_AWARE_PERMISSION]!! + .isGranted + ) + .isFalse() + } + + @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @Test + fun testAllPermissionStatesApiFlagsForDefaultDevice() { + val flagMask = FLAG_PERMISSION_USER_SET or FLAG_PERMISSION_USER_FIXED + val flag = FLAG_PERMISSION_USER_SET + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT) + .contains(DEVICE_AWARE_PERMISSION) + ) + .isFalse() + + permissionManager.updatePermissionFlags( + TEST_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + PERSISTENT_DEVICE_ID_DEFAULT, + flagMask, + flag + ) + + assertThat( + hasPermission( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT)[ + DEVICE_AWARE_PERMISSION]!! + .flags, + flag + ) + ) + .isTrue() + + assertThat( + hasPermission( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT)[ + DEVICE_AWARE_PERMISSION]!! + .flags, + FLAG_PERMISSION_USER_FIXED + ) + ) + .isFalse() + } + + @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @Test + fun testAllPermissionStatesApiThatNonDeviceAwareRuntimePermissionGrantIsNotInherited() { + permissionManager.grantRuntimePermission( + TEST_PACKAGE_NAME, + NON_DEVICE_AWARE_PERMISSION, + PERSISTENT_DEVICE_ID_DEFAULT + ) + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, PERSISTENT_DEVICE_ID_DEFAULT)[ + NON_DEVICE_AWARE_PERMISSION]!! + .isGranted + ) + .isTrue() + + assertThat( + permissionManager + .getAllPermissionStates(TEST_PACKAGE_NAME, persistentDeviceId) + .contains(NON_DEVICE_AWARE_PERMISSION) + ) + .isFalse() + } + + private fun hasPermission(permissionFlags: Int, permissionBit: Int): Boolean = + permissionFlags and permissionBit != 0 + private fun revokeSelfPermission(permissionName: String, context: Context) { val intent = Intent(PERMISSION_SELF_REVOKE_INTENT) intent.setClassName(TEST_PACKAGE_NAME, PERMISSION_SELF_REVOKE_RECEIVER) @@ -235,5 +543,8 @@ class DevicePermissionsTest { "android.permission.cts.appthatrequestpermission.REVOKE_SELF_PERMISSION" private const val PERMISSION_SELF_REVOKE_RECEIVER = "android.permission.cts.appthatrequestpermission.RevokeSelfPermissionReceiver" + + private const val DEVICE_AWARE_PERMISSION = Manifest.permission.RECORD_AUDIO + private const val NON_DEVICE_AWARE_PERMISSION = Manifest.permission.READ_CONTACTS } } diff --git a/tests/cts/permission/src/android/permission/cts/LocationAccessCheckTest.java b/tests/cts/permission/src/android/permission/cts/LocationAccessCheckTest.java index f59883921..2bb2ed4c7 100644 --- a/tests/cts/permission/src/android/permission/cts/LocationAccessCheckTest.java +++ b/tests/cts/permission/src/android/permission/cts/LocationAccessCheckTest.java @@ -474,7 +474,6 @@ public class LocationAccessCheckTest { wakeUpAndDismissKeyguard(); bindService(); resetPermissionControllerBeforeEachTest(); - bypassBatterySavingRestrictions(); assumeCanGetFineLocation(); } @@ -497,11 +496,6 @@ public class LocationAccessCheckTest { runShellCommand("cmd jobscheduler reset-schedule-quota"); } - public void bypassBatterySavingRestrictions() { - runShellCommand("cmd tare set-vip " + myUserHandle().getIdentifier() - + " " + PERMISSION_CONTROLLER_PKG + " true"); - } - /** * Make sure fine location can be accessed at all. */ @@ -564,7 +558,6 @@ public class LocationAccessCheckTest { public void cleanupAfterEachTest() throws Throwable { resetPrivacyConfig(); locationUnbind(); - resetBatterySavingRestrictions(); } /** @@ -579,11 +572,6 @@ public class LocationAccessCheckTest { unbindService(); } - public void resetBatterySavingRestrictions() { - runShellCommand("cmd tare set-vip " + myUserHandle().getIdentifier() - + " " + PERMISSION_CONTROLLER_PKG + " default"); - } - @Test public void notificationIsShown() throws Throwable { accessLocation(); diff --git a/tests/cts/permission/src/android/permission/cts/MinMaxSdkVersionTest.kt b/tests/cts/permission/src/android/permission/cts/MinMaxSdkVersionTest.kt index 58eaf598c..4679fbee8 100644 --- a/tests/cts/permission/src/android/permission/cts/MinMaxSdkVersionTest.kt +++ b/tests/cts/permission/src/android/permission/cts/MinMaxSdkVersionTest.kt @@ -80,7 +80,7 @@ class MinMaxSdkVersionTest { mContext!! .packageManager .getPackageInfo(TEST_APP_PKG_NAME, PackageManager.GET_PERMISSIONS) - return packageInfo.requestedPermissions.any { it == permName } + return packageInfo.requestedPermissions!!.any { it == permName } } companion object { diff --git a/tests/cts/permission/src/android/permission/cts/NoActivityRelatedPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoActivityRelatedPermissionTest.java index 835ba124c..3d9ba8214 100644 --- a/tests/cts/permission/src/android/permission/cts/NoActivityRelatedPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoActivityRelatedPermissionTest.java @@ -21,7 +21,8 @@ import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.test.ActivityInstrumentationTestCase2; -import android.test.suitebuilder.annotation.MediumTest; + +import androidx.test.filters.MediumTest; import java.util.List; diff --git a/tests/cts/permission/src/android/permission/cts/NoAudioPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoAudioPermissionTest.java index c2c42a10d..50498b1d5 100644 --- a/tests/cts/permission/src/android/permission/cts/NoAudioPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoAudioPermissionTest.java @@ -25,9 +25,10 @@ import android.media.AudioManager; import android.media.AudioRecord; import android.media.MediaRecorder; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; +import androidx.test.filters.SmallTest; + /** * Verify the audio related operations require specific permissions. */ diff --git a/tests/cts/permission/src/android/permission/cts/NoBroadcastPackageRemovedPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoBroadcastPackageRemovedPermissionTest.java index 5630c5b8c..1a46842b2 100644 --- a/tests/cts/permission/src/android/permission/cts/NoBroadcastPackageRemovedPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoBroadcastPackageRemovedPermissionTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.content.Intent; import android.os.Bundle; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify Context related methods without specific BROADCAST series permissions. diff --git a/tests/cts/permission/src/android/permission/cts/NoCaptureVideoPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoCaptureVideoPermissionTest.java index 6ad048308..e0573044c 100644 --- a/tests/cts/permission/src/android/permission/cts/NoCaptureVideoPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoCaptureVideoPermissionTest.java @@ -22,9 +22,10 @@ import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.media.ImageReader; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; import android.util.DisplayMetrics; +import androidx.test.filters.SmallTest; + /** * Verify the capture system video output permission requirements. */ diff --git a/tests/cts/permission/src/android/permission/cts/NoKeyPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoKeyPermissionTest.java index 5a0b25993..ac77947d9 100644 --- a/tests/cts/permission/src/android/permission/cts/NoKeyPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoKeyPermissionTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.app.KeyguardManager; import android.content.Context; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify the key input related operations require specific permissions. diff --git a/tests/cts/permission/src/android/permission/cts/NoNetworkStatePermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoNetworkStatePermissionTest.java index b8d2ee21a..5dc73d520 100644 --- a/tests/cts/permission/src/android/permission/cts/NoNetworkStatePermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoNetworkStatePermissionTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.content.Context; import android.net.ConnectivityManager; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; import java.net.InetAddress; diff --git a/tests/cts/permission/src/android/permission/cts/NoReadLogsPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoReadLogsPermissionTest.java index b6fb84dc7..f0d70b2ce 100644 --- a/tests/cts/permission/src/android/permission/cts/NoReadLogsPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoReadLogsPermissionTest.java @@ -21,7 +21,8 @@ import android.system.Os; import android.system.OsConstants; import android.system.StructStat; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; + +import androidx.test.filters.MediumTest; import java.io.BufferedReader; import java.io.IOException; diff --git a/tests/cts/permission/src/android/permission/cts/NoSystemFunctionPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoSystemFunctionPermissionTest.java index 51b3bd830..437aa19c4 100644 --- a/tests/cts/permission/src/android/permission/cts/NoSystemFunctionPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoSystemFunctionPermissionTest.java @@ -28,7 +28,8 @@ import android.os.VibratorManager; import android.platform.test.annotations.AppModeFull; import android.telephony.gsm.SmsManager; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; import java.io.IOException; import java.io.InputStream; diff --git a/tests/cts/permission/src/android/permission/cts/NoWakeLockPermissionTest.java b/tests/cts/permission/src/android/permission/cts/NoWakeLockPermissionTest.java index 030f341aa..95c4da727 100644 --- a/tests/cts/permission/src/android/permission/cts/NoWakeLockPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoWakeLockPermissionTest.java @@ -26,7 +26,8 @@ import android.net.wifi.WifiManager.WifiLock; import android.os.PowerManager; import android.platform.test.annotations.AppModeFull; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify the Wake Lock related operations require specific permissions. diff --git a/tests/cts/permission/src/android/permission/cts/NoWallpaperPermissionsTest.java b/tests/cts/permission/src/android/permission/cts/NoWallpaperPermissionsTest.java index 18e4375bc..fc1d6b59f 100644 --- a/tests/cts/permission/src/android/permission/cts/NoWallpaperPermissionsTest.java +++ b/tests/cts/permission/src/android/permission/cts/NoWallpaperPermissionsTest.java @@ -27,7 +27,8 @@ import android.content.Context; import android.graphics.Bitmap; import android.platform.test.annotations.AppModeFull; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; import org.junit.function.ThrowingRunnable; diff --git a/tests/cts/permission/src/android/permission/cts/PackageManagerRequiringPermissionsTest.java b/tests/cts/permission/src/android/permission/cts/PackageManagerRequiringPermissionsTest.java index df3ec3c64..7ebb09f98 100644 --- a/tests/cts/permission/src/android/permission/cts/PackageManagerRequiringPermissionsTest.java +++ b/tests/cts/permission/src/android/permission/cts/PackageManagerRequiringPermissionsTest.java @@ -21,7 +21,8 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.platform.test.annotations.AppModeFull; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify the PackageManager related operations require specific permissions. diff --git a/tests/cts/permission/src/android/permission/cts/PermissionControllerTest.java b/tests/cts/permission/src/android/permission/cts/PermissionControllerTest.java index 05b45c9b1..4367d2bf6 100644 --- a/tests/cts/permission/src/android/permission/cts/PermissionControllerTest.java +++ b/tests/cts/permission/src/android/permission/cts/PermissionControllerTest.java @@ -423,7 +423,7 @@ public class PermissionControllerTest { } assertThat(permissionInfos).isNotEmpty(); - assertThat(runtimePermissions.size()).isEqualTo(5); + assertThat(runtimePermissions.size()).isEqualTo(6); assertRuntimePermissionLabelsAreValid(runtimePermissions, permissionInfos, 4, APP2); } diff --git a/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java b/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java index 05aa41d69..33975f91c 100644 --- a/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java +++ b/tests/cts/permission/src/android/permission/cts/PermissionUpdateListenerTest.java @@ -23,18 +23,26 @@ import static com.android.compatibility.common.util.SystemUtil.runWithShellPermi import static com.google.common.truth.Truth.assertThat; import android.companion.virtual.VirtualDeviceManager; +import android.companion.virtual.VirtualDeviceParams; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.PackageManager.OnPermissionsChangedListener; +import android.permission.flags.Flags; import android.platform.test.annotations.AppModeFull; +import android.platform.test.annotations.RequiresFlagsEnabled; +import android.platform.test.flag.junit.CheckFlagsRule; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; +import android.virtualdevice.cts.common.FakeAssociationRule; import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; import androidx.test.platform.app.InstrumentationRegistry; +import com.android.compatibility.common.util.AdoptShellPermissionsRule; import com.android.compatibility.common.util.SystemUtil; import org.junit.After; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,15 +60,28 @@ public class PermissionUpdateListenerTest { + "CtsAppThatRequestsCalendarContactsBodySensorCustomPermission.apk"; private static final String PACKAGE_NAME = "android.permission.cts.appthatrequestcustompermission"; - private static final String PERMISSION_NAME = "android.permission.READ_CONTACTS"; + private static final String PERMISSION_NAME = "android.permission.RECORD_AUDIO"; private static final int TIMEOUT = 10000; - private final Context mContext = + private final Context mDefaultContext = InstrumentationRegistry.getInstrumentation().getContext(); - private final PackageManager mPackageManager = mContext.getPackageManager(); + private final PackageManager mPackageManager = mDefaultContext.getPackageManager(); private int mTestAppUid; + private VirtualDeviceManager mVirtualDeviceManager; + + @Rule + public FakeAssociationRule mFakeAssociationRule = new FakeAssociationRule(); + + @Rule + public AdoptShellPermissionsRule mAdoptShellPermissionsRule = new AdoptShellPermissionsRule( + InstrumentationRegistry.getInstrumentation().getUiAutomation(), + android.Manifest.permission.CREATE_VIRTUAL_DEVICE); + + @Rule + public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + @Before public void setup() throws PackageManager.NameNotFoundException, InterruptedException { runShellCommandOrThrow("pm install " + APK); @@ -69,6 +90,7 @@ public class PermissionUpdateListenerTest { SystemUtil.waitForBroadcasts(); Thread.sleep(1000); mTestAppUid = mPackageManager.getPackageUid(PACKAGE_NAME, 0); + mVirtualDeviceManager = mDefaultContext.getSystemService(VirtualDeviceManager.class); } @After @@ -89,7 +111,7 @@ public class PermissionUpdateListenerTest { runWithShellPermissionIdentity(() -> { mPackageManager.addOnPermissionsChangeListener(permissionsChangedListener); mPackageManager.grantRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, - mContext.getUser()); + mDefaultContext.getUser()); }); countDownLatch.await(TIMEOUT, TimeUnit.MILLISECONDS); runWithShellPermissionIdentity(() -> { @@ -100,61 +122,120 @@ public class PermissionUpdateListenerTest { } @Test - public void testGrantPermissionNotifyListener() throws InterruptedException { + @RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED}) + public void testVirtualDeviceGrantPermissionNotifyListener() throws InterruptedException { + VirtualDeviceManager.VirtualDevice virtualDevice = + mVirtualDeviceManager.createVirtualDevice( + mFakeAssociationRule.getAssociationInfo().getId(), + new VirtualDeviceParams.Builder().build()); + Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId()); + testGrantPermissionNotifyListener(deviceContext, virtualDevice.getPersistentDeviceId()); + } + + @Test + public void testDefaultDeviceGrantPermissionNotifyListener() throws InterruptedException { + testGrantPermissionNotifyListener( + mDefaultContext, VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + } + + private void testGrantPermissionNotifyListener( + Context context, String expectedDeviceId) throws InterruptedException { + final PackageManager packageManager = context.getPackageManager(); TestOnPermissionsChangedListener permissionsChangedListener = new TestOnPermissionsChangedListener(1); runWithShellPermissionIdentity(() -> { - mPackageManager.addOnPermissionsChangeListener(permissionsChangedListener); - mPackageManager.grantRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, - mContext.getUser()); + packageManager.addOnPermissionsChangeListener(permissionsChangedListener); + packageManager.grantRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, + mDefaultContext.getUser()); }); permissionsChangedListener.waitForPermissionChangedCallbacks(); runWithShellPermissionIdentity(() -> { - mPackageManager.removeOnPermissionsChangeListener(permissionsChangedListener); + packageManager.removeOnPermissionsChangeListener(permissionsChangedListener); }); String deviceId = permissionsChangedListener.getNotifiedDeviceId(mTestAppUid); - assertThat(deviceId).isEqualTo(VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + assertThat(deviceId).isEqualTo(expectedDeviceId); } @Test - public void testRevokePermissionNotifyListener() throws InterruptedException { + public void testDefaultDeviceRevokePermissionNotifyListener() throws InterruptedException { + testRevokePermissionNotifyListener( + mDefaultContext, VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + } + + @Test + @RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED}) + public void testVirtualDeviceRevokePermissionNotifyListener() throws InterruptedException { + VirtualDeviceManager.VirtualDevice virtualDevice = + mVirtualDeviceManager.createVirtualDevice( + mFakeAssociationRule.getAssociationInfo().getId(), + new VirtualDeviceParams.Builder().build()); + Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId()); + testRevokePermissionNotifyListener( + deviceContext, virtualDevice.getPersistentDeviceId()); + } + + private void testRevokePermissionNotifyListener( + Context context, String expectedDeviceId) throws InterruptedException { + final PackageManager packageManager = context.getPackageManager(); TestOnPermissionsChangedListener permissionsChangedListener = new TestOnPermissionsChangedListener(1); runWithShellPermissionIdentity(() -> { - mPackageManager.grantRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, - mContext.getUser()); - mPackageManager.addOnPermissionsChangeListener(permissionsChangedListener); - mPackageManager.revokeRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, - mContext.getUser()); + packageManager.grantRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, + mDefaultContext.getUser()); + packageManager.addOnPermissionsChangeListener(permissionsChangedListener); + packageManager.revokeRuntimePermission(PACKAGE_NAME, PERMISSION_NAME, + mDefaultContext.getUser()); }); permissionsChangedListener.waitForPermissionChangedCallbacks(); runWithShellPermissionIdentity(() -> { - mPackageManager.removeOnPermissionsChangeListener(permissionsChangedListener); + packageManager.removeOnPermissionsChangeListener(permissionsChangedListener); }); String deviceId = permissionsChangedListener.getNotifiedDeviceId(mTestAppUid); - assertThat(deviceId).isEqualTo(VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + assertThat(deviceId).isEqualTo(expectedDeviceId); } @Test - public void testUpdatePermissionFlagsNotifyListener() throws InterruptedException { + public void testDefaultDeviceUpdatePermissionFlagsNotifyListener() throws InterruptedException { + testUpdatePermissionFlagsNotifyListener( + mDefaultContext, VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + } + + @Test + @RequiresFlagsEnabled({Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED}) + public void testVirtualDeviceUpdatePermissionFlagsNotifyListener() throws InterruptedException { + VirtualDeviceManager.VirtualDevice virtualDevice = + mVirtualDeviceManager.createVirtualDevice( + mFakeAssociationRule.getAssociationInfo().getId(), + new VirtualDeviceParams.Builder().build()); + Context deviceContext = mDefaultContext.createDeviceContext(virtualDevice.getDeviceId()); + testUpdatePermissionFlagsNotifyListener( + deviceContext, virtualDevice.getPersistentDeviceId()); + } + + private void testUpdatePermissionFlagsNotifyListener( + Context context, String expectedDeviceId) throws InterruptedException { TestOnPermissionsChangedListener permissionsChangedListener = new TestOnPermissionsChangedListener(1); + final PackageManager packageManager = context.getPackageManager(); runWithShellPermissionIdentity(() -> { - mPackageManager.addOnPermissionsChangeListener(permissionsChangedListener); + packageManager.addOnPermissionsChangeListener(permissionsChangedListener); int flag = PackageManager.FLAG_PERMISSION_USER_SET; - mPackageManager.updatePermissionFlags(PERMISSION_NAME, PACKAGE_NAME, flag, flag, - mContext.getUser()); + packageManager.updatePermissionFlags(PERMISSION_NAME, PACKAGE_NAME, flag, flag, + mDefaultContext.getUser()); }); permissionsChangedListener.waitForPermissionChangedCallbacks(); runWithShellPermissionIdentity(() -> { - mPackageManager.removeOnPermissionsChangeListener(permissionsChangedListener); + packageManager.removeOnPermissionsChangeListener(permissionsChangedListener); }); String deviceId = permissionsChangedListener.getNotifiedDeviceId(mTestAppUid); - assertThat(deviceId).isEqualTo(VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT); + assertThat(deviceId).isEqualTo(expectedDeviceId); } private class TestOnPermissionsChangedListener diff --git a/tests/cts/permission/src/android/permission/cts/ProviderPermissionTest.java b/tests/cts/permission/src/android/permission/cts/ProviderPermissionTest.java index 9f5a813d1..83c2ffaee 100644 --- a/tests/cts/permission/src/android/permission/cts/ProviderPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/ProviderPermissionTest.java @@ -35,12 +35,11 @@ import android.provider.ContactsContract; import android.provider.Settings; import android.provider.Telephony; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; import android.util.Log; import androidx.test.InstrumentationRegistry; +import androidx.test.filters.MediumTest; -import java.util.ArrayList; import java.util.List; import java.util.Objects; diff --git a/tests/cts/permission/src/android/permission/cts/RebootPermissionTest.java b/tests/cts/permission/src/android/permission/cts/RebootPermissionTest.java index b1d3d5afb..13f17dce8 100644 --- a/tests/cts/permission/src/android/permission/cts/RebootPermissionTest.java +++ b/tests/cts/permission/src/android/permission/cts/RebootPermissionTest.java @@ -18,7 +18,8 @@ package android.permission.cts; import android.content.Intent; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify that rebooting requires Permission. diff --git a/tests/cts/permission/src/android/permission/cts/RecordSensitiveContentPermissionTest.kt b/tests/cts/permission/src/android/permission/cts/RecordSensitiveContentPermissionTest.kt new file mode 100644 index 000000000..b80f89938 --- /dev/null +++ b/tests/cts/permission/src/android/permission/cts/RecordSensitiveContentPermissionTest.kt @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2024 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 android.permission.cts + +import android.os.Build +import android.permission.flags.Flags.FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION +import android.platform.test.annotations.AppModeFull +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.CheckFlagsRule +import android.platform.test.flag.junit.DeviceFlagsValueProvider +import androidx.test.InstrumentationRegistry +import androidx.test.filters.SdkSuppress +import org.junit.Assert +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@RunWith(JUnit4::class) +@AppModeFull(reason = "Instant apps cannot install packages") +@SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = "VanillaIceCream") +class RecordSensitiveContentPermissionTest { + @Rule + @JvmField + val mCheckFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + + @Test + @RequiresFlagsEnabled(FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION) + fun testRecordSensitiveContentDuringProjection() { + val packageManager = InstrumentationRegistry.getContext().getPackageManager() + val packagesHoldingPermission = + packageManager + .getPackagesHoldingPermissions( + arrayOf(android.Manifest.permission.RECORD_SENSITIVE_CONTENT), + 0 + ) + .map { it.packageName } + + if (packagesHoldingPermission.size > 1) { + Assert.fail( + "Only one system app on the device is allowed to hold the " + + "RECORD_SENSITIVE_CONTENT_DURING_PROJECTION permission, " + + "packages holding the permissions are: " + + packagesHoldingPermission + ) + } + } +} diff --git a/tests/cts/permission/src/android/permission/cts/RevokePermissionTest.kt b/tests/cts/permission/src/android/permission/cts/RevokePermissionTest.kt index 05235e141..579b03f9c 100644 --- a/tests/cts/permission/src/android/permission/cts/RevokePermissionTest.kt +++ b/tests/cts/permission/src/android/permission/cts/RevokePermissionTest.kt @@ -50,21 +50,6 @@ class RevokePermissionTest { @Test @AppModeFull(reason = "Instant apps can't revoke permissions.") - fun testRevokePermissionNotRequested() { - testRevoke( - packageName = APP_PKG_NAME, - permission = CAMERA, - throwableType = SecurityException::class.java, - throwableMessages = - listOf( - "has not requested permission", - "Permission $CAMERA isn't requested by package $APP_PKG_NAME" - ) - ) - } - - @Test - @AppModeFull(reason = "Instant apps can't revoke permissions.") fun testRevokeFakePermission() { val fakePermissionName = "FAKE_PERMISSION" testRevoke( @@ -100,22 +85,6 @@ class RevokePermissionTest { @Test @AppModeFull(reason = "Instant apps can't revoke permissions.") - fun testRevokePermissionNotRequestedWithReason() { - testRevoke( - packageName = APP_PKG_NAME, - permission = CAMERA, - reason = "test reason", - throwableType = SecurityException::class.java, - throwableMessages = - listOf( - "has not requested permission", - "Permission $CAMERA isn't requested by package $APP_PKG_NAME" - ) - ) - } - - @Test - @AppModeFull(reason = "Instant apps can't revoke permissions.") fun testRevokeFakePermissionWithReason() { val fakePermissionName = "FAKE_PERMISSION" testRevoke( diff --git a/tests/cts/permission/src/android/permission/cts/RevokeSawPermissionTest.kt b/tests/cts/permission/src/android/permission/cts/RevokeSawPermissionTest.kt index 17327c6d4..57a2f7fcb 100644 --- a/tests/cts/permission/src/android/permission/cts/RevokeSawPermissionTest.kt +++ b/tests/cts/permission/src/android/permission/cts/RevokeSawPermissionTest.kt @@ -17,6 +17,7 @@ package android.permission.cts import android.content.pm.PackageManager +import android.platform.test.annotations.AppModeFull import android.platform.test.annotations.AsbSecurityTest import androidx.test.platform.app.InstrumentationRegistry import org.junit.After @@ -27,6 +28,7 @@ private val APP_PKG_NAME = "android.permission.cts.usesystemalertwindowpermissio private val APK_22 = "/data/local/tmp/cts-permission/" + "CtsAppThatRequestsSystemAlertWindow22.apk" private val APK_23 = "/data/local/tmp/cts-permission/" + "CtsAppThatRequestsSystemAlertWindow23.apk" +@AppModeFull class RevokeSawPermissionTest { fun installApp(apk: String) { diff --git a/tests/cts/permission/src/android/permission/cts/ServicesInstantAppsCannotAccessTests.java b/tests/cts/permission/src/android/permission/cts/ServicesInstantAppsCannotAccessTests.java index 8609e3379..0c1c885be 100644 --- a/tests/cts/permission/src/android/permission/cts/ServicesInstantAppsCannotAccessTests.java +++ b/tests/cts/permission/src/android/permission/cts/ServicesInstantAppsCannotAccessTests.java @@ -17,7 +17,6 @@ package android.permission.cts; import static android.content.Context.DEVICE_POLICY_SERVICE; -import static android.content.Context.FINGERPRINT_SERVICE; import static android.content.Context.SHORTCUT_SERVICE; import static android.content.Context.USB_SERVICE; import static android.content.Context.WALLPAPER_SERVICE; @@ -49,12 +48,6 @@ public class ServicesInstantAppsCannotAccessTests { } @Test - public void cannotGetFingerprintManager() { - assertNull(InstrumentationRegistry.getTargetContext().getSystemService( - FINGERPRINT_SERVICE)); - } - - @Test public void cannotGetShortcutManager() { assertNull(InstrumentationRegistry.getTargetContext().getSystemService( SHORTCUT_SERVICE)); diff --git a/tests/cts/permission/src/android/permission/cts/UndefinedGroupPermissionTest.kt b/tests/cts/permission/src/android/permission/cts/UndefinedGroupPermissionTest.kt index 4414402ff..86267e5f5 100644 --- a/tests/cts/permission/src/android/permission/cts/UndefinedGroupPermissionTest.kt +++ b/tests/cts/permission/src/android/permission/cts/UndefinedGroupPermissionTest.kt @@ -30,6 +30,7 @@ import androidx.test.uiautomator.By import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.UiObject2 import androidx.test.uiautomator.UiObjectNotFoundException +import com.android.compatibility.common.util.FeatureUtil import com.android.compatibility.common.util.SystemUtil import com.android.compatibility.common.util.SystemUtil.eventually import com.android.compatibility.common.util.UiAutomatorUtils2.waitFindObject @@ -166,9 +167,7 @@ class UndefinedGroupPermissionTest { } fun findAllowButton(): UiObject2 { - return if ( - mContext?.packageManager?.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) == true - ) { + return if (FeatureUtil.isAutomotive() || FeatureUtil.isWatch()) { waitFindObject(By.text(mAllowButtonText!!), 2000) } else { waitFindObject( @@ -198,10 +197,7 @@ class UndefinedGroupPermissionTest { startRequestActivity(arrayOf(targetPermission)) mUiDevice!!.waitForIdle() try { - if ( - mContext?.packageManager?.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) == - true - ) { + if (FeatureUtil.isAutomotive() || FeatureUtil.isWatch()) { waitFindObject(By.text(mDenyButtonText!!), 2000) } else if ( mContext?.packageManager?.hasSystemFeature(PackageManager.FEATURE_WATCH) == true diff --git a/tests/cts/permission/telephony/Android.bp b/tests/cts/permission/telephony/Android.bp index bbfe06c55..5ded57ab3 100644 --- a/tests/cts/permission/telephony/Android.bp +++ b/tests/cts/permission/telephony/Android.bp @@ -26,6 +26,7 @@ android_test { "cts", "general-tests", "mts-permission", + "mcts-permission", ], // Include both the 32 and 64 bit versions compile_multilib: "both", diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionDefinerApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionDefinerApp/Android.bp index 6f0bcf111..344787045 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionDefinerApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionDefinerApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], certificate: ":cts-testkey1", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionUserApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionUserApp/Android.bp index 41f01e981..4265d0924 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionUserApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/AdversarialPermissionUserApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], certificate: ":cts-testkey2", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionDefinerApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionDefinerApp/Android.bp index a3e1f13d2..987d29039 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionDefinerApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionDefinerApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], certificate: ":cts-testkey1", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionEscalatorApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionEscalatorApp/Android.bp index caaa8e898..9fcebb09b 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionEscalatorApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionEscalatorApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], certificate: ":cts-testkey1", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionUserApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionUserApp/Android.bp index d9ca4c8ea..a153e39c5 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionUserApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/InstallPermissionUserApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], certificate: ":cts-testkey2", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionDefinerApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionDefinerApp/Android.bp index b4ea30ada..6efcfdd01 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionDefinerApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionDefinerApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], certificate: ":cts-testkey1", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionUserApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionUserApp/Android.bp index 22c6ccd6f..ab0b8a7b5 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionUserApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/RuntimePermissionUserApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "mts-permission", "sts", + "mcts-permission", ], certificate: ":cts-testkey2", } diff --git a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/VictimPermissionDefinerApp/Android.bp b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/VictimPermissionDefinerApp/Android.bp index 5627a3d36..41333cb57 100644 --- a/tests/cts/permission/testapps/RevokePermissionWhenRemoved/VictimPermissionDefinerApp/Android.bp +++ b/tests/cts/permission/testapps/RevokePermissionWhenRemoved/VictimPermissionDefinerApp/Android.bp @@ -27,6 +27,7 @@ android_test_helper_app { "general-tests", "sts", "mts-permission", + "mcts-permission", ], certificate: ":cts-testkey1", } diff --git a/tests/cts/permissionmultidevice/Android.bp b/tests/cts/permissionmultidevice/Android.bp index 61ac6541d..a4ad3cab7 100644 --- a/tests/cts/permissionmultidevice/Android.bp +++ b/tests/cts/permissionmultidevice/Android.bp @@ -38,6 +38,7 @@ android_test { "permission-test-util-lib", "permission-multidevice-test-util-lib", "android.permission.flags-aconfig-java", + "collector-device-lib", ], data: [ ":CtsAccessRemoteDeviceCamera", @@ -46,5 +47,6 @@ android_test { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permissionmultidevice/AndroidManifest.xml b/tests/cts/permissionmultidevice/AndroidManifest.xml index e7c993d57..9bad85813 100644 --- a/tests/cts/permissionmultidevice/AndroidManifest.xml +++ b/tests/cts/permissionmultidevice/AndroidManifest.xml @@ -20,6 +20,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="android.permissionmultidevice.cts"> + <uses-feature android:name="android.software.companion_device_setup" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> diff --git a/tests/cts/permissionmultidevice/AndroidTest.xml b/tests/cts/permissionmultidevice/AndroidTest.xml index 2b43fd01c..bbabea3b2 100644 --- a/tests/cts/permissionmultidevice/AndroidTest.xml +++ b/tests/cts/permissionmultidevice/AndroidTest.xml @@ -37,13 +37,6 @@ <option name="disable-device-config-sync" value="true" /> </target_preparer> - <target_preparer class="com.android.tradefed.targetprep.FeatureFlagTargetPreparer"> - <option name="flag-value" - value="permissions/com.android.permission.flags.device_aware_permission_grant=true"/> - <option name="flag-value" - value="virtual_devices/android.companion.virtual.flags.stream_permissions=true"/> - </target_preparer> - <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true" /> <option name="test-file-name" value="CtsPermissionMultiDeviceTestCases.apk" /> @@ -77,6 +70,16 @@ <test class="com.android.tradefed.testtype.AndroidJUnitTest" > <option name="package" value="android.permissionmultidevice.cts" /> <option name="runtime-hint" value="5m" /> + <option name="device-listeners" value="android.device.collectors.ScreenshotOnFailureCollector"/> </test> + <!-- Collect the dumped files for debugging --> + <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> + <option name="pull-pattern-keys" value="view_.*" /> + <!-- Collect the files generated on error --> + <option name="pull-pattern-keys" value="android.device.collectors.ScreenshotOnFailureCollector.*\.png"/> + <option name="directory-keys" value="/data/user/0/android.permissionmultidevice.cts/files" /> + <option name="collect-on-run-ended-only" value="false" /> + </metrics_collector> + </configuration> diff --git a/tests/cts/permissionmultidevice/TEST_MAPPNG b/tests/cts/permissionmultidevice/TEST_MAPPING index 80a2cf2ce..f56ee5b1c 100644 --- a/tests/cts/permissionmultidevice/TEST_MAPPNG +++ b/tests/cts/permissionmultidevice/TEST_MAPPING @@ -1,5 +1,5 @@ { - "presubmit": [ + "postsubmit": [ { "name": "CtsPermissionMultiDeviceTestCases" } diff --git a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/FakeVirtualDeviceRule.kt b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/FakeVirtualDeviceRule.kt index 0eff95a3d..e8d35e614 100644 --- a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/FakeVirtualDeviceRule.kt +++ b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/FakeVirtualDeviceRule.kt @@ -26,6 +26,7 @@ class FakeVirtualDeviceRule : FakeAssociationRule() { private lateinit var virtualDeviceManager: VirtualDeviceManager lateinit var virtualDevice: VirtualDeviceManager.VirtualDevice + lateinit var deviceDisplayName: String var virtualDisplayId: Int = -1 override fun before() { @@ -57,6 +58,10 @@ class FakeVirtualDeviceRule : FakeAssociationRule() { ) Truth.assertThat(display).isNotNull() virtualDisplayId = display!!.display.displayId + deviceDisplayName = + virtualDeviceManager + .getDisplayNameForPersistentDeviceId(virtualDevice.persistentDeviceId!!) + .toString() } } diff --git a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt index fa58fc9f7..225e19d49 100644 --- a/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt +++ b/tests/cts/permissionmultidevice/TestUtils/src/android/permissionmultidevice/cts/PermissionUtils.kt @@ -2,31 +2,71 @@ package android.permissionmultidevice.cts import android.content.Context import android.content.pm.PackageManager -import android.provider.Settings -import org.junit.Assert +import android.content.res.Configuration +import android.content.res.Resources +import android.permission.PermissionManager +import android.permission.PermissionManager.PermissionState +import android.util.Log +import com.android.compatibility.common.util.SystemUtil object PermissionUtils { - fun assertAppHasPermissionForDevice( + private val TAG = PermissionUtils::class.java.getSimpleName() + + fun getAllPermissionStates( context: Context, packageName: String, - permissionName: String, - deviceId: Int, - expectPermissionGranted: Boolean - ) { - val checkPermissionResult = - context - .createDeviceContext(deviceId) - .packageManager - .checkPermission(permissionName, packageName) - - if (expectPermissionGranted) { - Assert.assertEquals(PackageManager.PERMISSION_GRANTED, checkPermissionResult) - } else { - Assert.assertEquals(PackageManager.PERMISSION_DENIED, checkPermissionResult) + companionDeviceId: String + ): Map<String, PermissionState> { + val permissionManager = context.getSystemService(PermissionManager::class.java)!! + return SystemUtil.runWithShellPermissionIdentity<Map<String, PermissionState>> { + permissionManager.getAllPermissionStates(packageName, companionDeviceId) + } + } + + fun isAutomotive(context: Context): Boolean = + context.packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) + + fun isTv(context: Context): Boolean = + context.packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK) + + fun isWatch(context: Context): Boolean = + context.packageManager.hasSystemFeature(PackageManager.FEATURE_WATCH) + + /** + * This method checks for the minimum screen size described in CDD {@see + * https://source.android.com/docs/compatibility/14/android-14-cdd#7111_screen_size_and_shape} + */ + fun isCddCompliantScreenSize(): Boolean { + if ( + Resources.getSystem().configuration.uiMode and Configuration.UI_MODE_TYPE_MASK == + Configuration.UI_MODE_TYPE_WATCH + ) { + Log.d(TAG, "UI mode is UI_MODE_TYPE_WATCH, skipping the min dp check") + return true + } + + val screenSize = + Resources.getSystem().configuration.screenLayout and + Configuration.SCREENLAYOUT_SIZE_MASK + return when (screenSize) { + Configuration.SCREENLAYOUT_SIZE_SMALL -> hasMinScreenSize(426, 320) + Configuration.SCREENLAYOUT_SIZE_NORMAL -> hasMinScreenSize(480, 320) + Configuration.SCREENLAYOUT_SIZE_LARGE -> hasMinScreenSize(640, 480) + Configuration.SCREENLAYOUT_SIZE_XLARGE -> hasMinScreenSize(960, 720) + else -> { + Log.e(TAG, "Unknown screen size: $screenSize") + true + } } } - fun getHostDeviceName(context: Context): String { - return Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME) + private fun hasMinScreenSize(minWidthDp: Int, minHeightDp: Int): Boolean { + val dpi = Resources.getSystem().displayMetrics.densityDpi + val widthDp = (160f / dpi) * Resources.getSystem().displayMetrics.widthPixels + val heightDp = (160f / dpi) * Resources.getSystem().displayMetrics.heightPixels + + // CDD does seem to follow width & height convention correctly, hence checking both ways + return (widthDp >= minWidthDp && heightDp >= minHeightDp) || + (widthDp >= minHeightDp && heightDp >= minWidthDp) } } diff --git a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt new file mode 100644 index 000000000..f0298e35b --- /dev/null +++ b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/AppPermissionsTest.kt @@ -0,0 +1,446 @@ +/* + * Copyright (C) 2024 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 android.permissionmultidevice.cts + +import android.Manifest +import android.app.Instrumentation +import android.companion.virtual.VirtualDeviceManager +import android.companion.virtual.VirtualDeviceParams +import android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM +import android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_CAMERA +import android.content.Intent +import android.content.pm.PackageManager +import android.net.Uri +import android.os.Build +import android.permission.PermissionManager +import android.permission.flags.Flags +import android.permissionmultidevice.cts.PermissionUtils.isCddCompliantScreenSize +import android.platform.test.annotations.RequiresFlagsEnabled +import android.provider.Settings +import android.virtualdevice.cts.common.VirtualDeviceRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SdkSuppress +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.By +import androidx.test.uiautomator.UiScrollable +import androidx.test.uiautomator.UiSelector +import com.android.compatibility.common.util.SystemUtil.eventually +import com.android.compatibility.common.util.UiAutomatorUtils2 +import com.android.modules.utils.build.SdkLevel +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Assume.assumeFalse +import org.junit.Assume.assumeTrue +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +@SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = "VanillaIceCream") +class AppPermissionsTest { + private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() + private val defaultDeviceContext = instrumentation.targetContext + + @get:Rule + var virtualDeviceRule = + VirtualDeviceRule.withAdditionalPermissions( + Manifest.permission.GRANT_RUNTIME_PERMISSIONS, + Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS, + Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, + Manifest.permission.CREATE_VIRTUAL_DEVICE + ) + + private lateinit var persistentDeviceId: String + private lateinit var externalDeviceCameraText: String + private lateinit var permissionMessage: String + + private val permissionManager = + defaultDeviceContext.getSystemService(PermissionManager::class.java)!! + + @Before + fun setup() { + assumeTrue(SdkLevel.isAtLeastV()) + assumeFalse(PermissionUtils.isAutomotive(defaultDeviceContext)) + assumeFalse(PermissionUtils.isTv(defaultDeviceContext)) + assumeFalse(PermissionUtils.isWatch(defaultDeviceContext)) + assumeTrue(isCddCompliantScreenSize()) + + PackageManagementUtils.installPackage(APP_APK_PATH_STREAMING) + + val virtualDeviceManager = + defaultDeviceContext.getSystemService(VirtualDeviceManager::class.java)!! + val virtualDevice = + virtualDeviceRule.createManagedVirtualDevice( + VirtualDeviceParams.Builder() + .setDevicePolicy(POLICY_TYPE_CAMERA, DEVICE_POLICY_CUSTOM) + .build() + ) + + val mDeviceDisplayName = + virtualDeviceManager.getVirtualDevice(virtualDevice.deviceId)!!.displayName.toString() + + persistentDeviceId = virtualDevice.persistentDeviceId!! + externalDeviceCameraText = "Camera on $mDeviceDisplayName" + permissionMessage = "Camera access for this app on $mDeviceDisplayName" + } + + @After + fun cleanup() { + PackageManagementUtils.uninstallPackage(APP_PACKAGE_NAME, requireSuccess = false) + UiAutomatorUtils2.getUiDevice().pressHome() + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionGrantTest() { + grantRunTimePermission() + + openAppPermissionsScreen() + + clickPermissionItem(externalDeviceCameraText) + + verifyPermissionMessage() + + verifyRadioButtonStates( + allowForegroundChecked = true, + askChecked = false, + denyChecked = false + ) + + UiAutomatorUtils2.getUiDevice().pressBack() + val expectedGrantInfoMap = + mapOf( + "Allowed" to listOf(externalDeviceCameraText), + "Ask every time" to emptyList(), + "Not allowed" to listOf("Camera") + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionChangeToAskTest() { + grantRunTimePermission() + openAppPermissionsScreen() + + clickPermissionItem(externalDeviceCameraText) + clickAskButton() + + verifyAskSelection() + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionChangeToDenyTest() { + grantRunTimePermission() + openAppPermissionsScreen() + + clickPermissionItem(externalDeviceCameraText) + clickDenyButton() + + verifyDenySelection() + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionChangeToAllowTest() { + grantRunTimePermission() + openAppPermissionsScreen() + + clickPermissionItem(externalDeviceCameraText) + clickAskButton() + verifyRadioButtonStates( + allowForegroundChecked = false, + askChecked = true, + denyChecked = false + ) + + clickAllowForegroundButton() + verifyAllowedSelection() + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionNotDisplayedInitiallyTest() { + openAppPermissionsScreen() + + // External device permission does not show initially (until requested) + val expectedGrantInfoMap = + mapOf( + "Allowed" to emptyList(), + "Ask every time" to emptyList(), + "Not allowed" to listOf("Camera") + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + } + + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) + @Test + fun externalDevicePermissionStickyOnGrantTest() { + grantRunTimePermission() + openAppPermissionsScreen() + + clickPermissionItem(externalDeviceCameraText) + + verifyRadioButtonStates( + allowForegroundChecked = true, + askChecked = false, + denyChecked = false + ) + + clickDenyButton() + + UiAutomatorUtils2.getUiDevice().pressBack() + + // Verify the permission continue to show (sticky) after revoking, keeps option for users + // to change in future + val expectedGrantInfoMap = + mapOf( + "Allowed" to emptyList(), + "Ask every time" to emptyList(), + "Not allowed" to listOf("Camera", externalDeviceCameraText) + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + } + + private fun verifyAskSelection() { + verifyPermissionMessage() + + verifyRadioButtonStates( + allowForegroundChecked = false, + askChecked = true, + denyChecked = false + ) + + UiAutomatorUtils2.getUiDevice().pressBack() + + val expectedGrantInfoMap = + mapOf( + "Allowed" to emptyList(), + "Ask every time" to listOf(externalDeviceCameraText), + "Not allowed" to listOf("Camera") + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + + val permState = getPermState() + assertEquals(false, permState[DEVICE_AWARE_PERMISSION]!!.isGranted) + assertTrue( + permState[DEVICE_AWARE_PERMISSION]!!.flags and + PackageManager.FLAG_PERMISSION_ONE_TIME != 0 + ) + } + + private fun verifyDenySelection() { + verifyPermissionMessage() + + verifyRadioButtonStates( + allowForegroundChecked = false, + askChecked = false, + denyChecked = true + ) + + UiAutomatorUtils2.getUiDevice().pressBack() + + val expectedGrantInfoMap = + mapOf( + "Allowed" to emptyList(), + "Ask every time" to emptyList(), + "Not allowed" to listOf("Camera", externalDeviceCameraText) + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + + val permState = getPermState() + assertEquals(false, permState[DEVICE_AWARE_PERMISSION]!!.isGranted) + assertTrue( + permState[DEVICE_AWARE_PERMISSION]!!.flags and + PackageManager.FLAG_PERMISSION_USER_SET != 0 + ) + } + + private fun verifyAllowedSelection() { + verifyPermissionMessage() + + verifyRadioButtonStates( + allowForegroundChecked = true, + askChecked = false, + denyChecked = false + ) + + UiAutomatorUtils2.getUiDevice().pressBack() + + val expectedGrantInfoMap = + mapOf( + "Allowed" to listOf(externalDeviceCameraText), + "Ask every time" to emptyList(), + "Not allowed" to listOf("Camera") + ) + assertEquals(expectedGrantInfoMap, getGrantInfoMap()) + + val permState = getPermState() + assertEquals(true, permState[DEVICE_AWARE_PERMISSION]!!.isGranted) + assertTrue( + permState[DEVICE_AWARE_PERMISSION]!!.flags and + PackageManager.FLAG_PERMISSION_USER_SET != 0 + ) + } + + private fun verifyPermissionMessage() { + val actualText = UiAutomatorUtils2.waitFindObject(By.res(PERMISSION_MESSAGE_ID)).text + assertEquals(permissionMessage, actualText) + } + + private fun getGrantInfoMap(): Map<String, List<String>> { + val grantInfoMap = + mapOf( + "Allowed" to mutableListOf<String>(), + "Ask every time" to mutableListOf(), + "Not allowed" to mutableListOf() + ) + val outOfScopeTitles = setOf("Unused app settings", "Manage app if unused") + + val titleSelector = UiSelector().resourceId(TITLE) + var currentGrantText = "" + + val scrollable = getScrollableRecyclerView() + + // Scrolling to end inorder to have the scrollable object loaded with all child element data + // ready to be read. If the scroll happens in the middle of the reading process, it has been + // observed that child items will be skipped during the reading (could be a bug). Hence this + // solution is to scroll to the bottom in the beginning and be more efficient as well. + scrollable.scrollToEnd(1) + + for (i in 0..scrollable.childCount) { + val child = scrollable.getChild(UiSelector().index(i)) + val titleText = child.getChild(titleSelector).text + if (outOfScopeTitles.contains(titleText)) { + break + } + if (grantInfoMap.contains(titleText)) { + currentGrantText = titleText + } else if (!titleText.startsWith("No permissions")) { + grantInfoMap[currentGrantText]!!.add(titleText) + } + } + return grantInfoMap + } + + private fun verifyRadioButtonStates( + allowForegroundChecked: Boolean, + askChecked: Boolean, + denyChecked: Boolean + ) { + eventually { + assertEquals( + allowForegroundChecked, + UiAutomatorUtils2.waitFindObject(By.res(ALLOW_FOREGROUND_ONLY_RADIO_BUTTON)) + .isChecked + ) + assertEquals( + askChecked, + UiAutomatorUtils2.waitFindObject(By.res(ASK_RADIO_BUTTON)).isChecked + ) + assertEquals( + denyChecked, + UiAutomatorUtils2.waitFindObject(By.res(DENY_RADIO_BUTTON)).isChecked + ) + } + } + + private fun openAppPermissionsScreen() { + val intent = + Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply { + data = Uri.fromParts("package", APP_PACKAGE_NAME, null) + addCategory(Intent.CATEGORY_DEFAULT) + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + } + + eventually( + { + instrumentation.context.startActivity(intent) + UiAutomatorUtils2.waitFindObject(By.text("Permissions"), 12_000).click() + }, + 20_000 + ) + } + + private fun getScrollableRecyclerView(): UiScrollable { + // Wait for object to load + UiAutomatorUtils2.waitFindObject(By.res(RECYCLER_VIEW)) + return UiScrollable(UiSelector().resourceId(RECYCLER_VIEW)) + } + + private fun clickPermissionItem(permissionItemName: String) = + UiAutomatorUtils2.waitFindObject(By.text(permissionItemName)).click() + + private fun clickAllowForegroundButton() = + UiAutomatorUtils2.waitFindObject(By.res(ALLOW_FOREGROUND_ONLY_RADIO_BUTTON)).click() + + private fun clickAskButton() = + UiAutomatorUtils2.waitFindObject(By.res(ASK_RADIO_BUTTON)).click() + + private fun clickDenyButton() = + UiAutomatorUtils2.waitFindObject(By.res(DENY_RADIO_BUTTON)).click() + + private fun grantRunTimePermission() = + permissionManager.grantRuntimePermission( + APP_PACKAGE_NAME, + DEVICE_AWARE_PERMISSION, + persistentDeviceId + ) + + private fun getPermState(): Map<String, PermissionManager.PermissionState> = + permissionManager.getAllPermissionStates(APP_PACKAGE_NAME, persistentDeviceId) + + companion object { + private const val APK_DIRECTORY = "/data/local/tmp/cts-permissionmultidevice" + private const val APP_APK_PATH_STREAMING = + "${APK_DIRECTORY}/CtsAccessRemoteDeviceCamera.apk" + private const val APP_PACKAGE_NAME = + "android.permissionmultidevice.cts.accessremotedevicecamera" + private const val DEVICE_AWARE_PERMISSION = Manifest.permission.CAMERA + + private const val ALLOW_FOREGROUND_ONLY_RADIO_BUTTON = + "com.android.permissioncontroller:id/allow_foreground_only_radio_button" + private const val ASK_RADIO_BUTTON = "com.android.permissioncontroller:id/ask_radio_button" + private const val DENY_RADIO_BUTTON = + "com.android.permissioncontroller:id/deny_radio_button" + private const val TITLE = "android:id/title" + private const val RECYCLER_VIEW = "com.android.permissioncontroller:id/recycler_view" + private const val PERMISSION_MESSAGE_ID = + "com.android.permissioncontroller:id/permission_message" + } +} diff --git a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt index 09f4c7f08..191e69367 100644 --- a/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt +++ b/tests/cts/permissionmultidevice/src/android/permissionmultidevice/cts/DeviceAwarePermissionGrantTest.kt @@ -17,31 +17,37 @@ package android.permissionmultidevice.cts import android.Manifest -import android.app.ActivityOptions import android.app.Instrumentation +import android.companion.virtual.VirtualDeviceManager +import android.companion.virtual.VirtualDeviceParams +import android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM +import android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_CAMERA import android.content.ComponentName import android.content.Intent import android.content.pm.PackageManager +import android.content.pm.PackageManager.ACTION_REQUEST_PERMISSIONS +import android.hardware.display.DisplayManager +import android.hardware.display.VirtualDisplay import android.os.Build import android.permission.flags.Flags import android.permissionmultidevice.cts.PackageManagementUtils.installPackage import android.permissionmultidevice.cts.PackageManagementUtils.uninstallPackage -import android.permissionmultidevice.cts.PermissionUtils.assertAppHasPermissionForDevice -import android.permissionmultidevice.cts.PermissionUtils.getHostDeviceName import android.permissionmultidevice.cts.UiAutomatorUtils.click import android.permissionmultidevice.cts.UiAutomatorUtils.findTextForView import android.permissionmultidevice.cts.UiAutomatorUtils.waitFindObject +import android.platform.test.annotations.AppModeFull import android.platform.test.annotations.RequiresFlagsEnabled -import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.view.Display +import android.virtualdevice.cts.common.VirtualDeviceRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SdkSuppress import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.By -import com.android.compatibility.common.util.AdoptShellPermissionsRule import com.android.compatibility.common.util.SystemUtil import com.google.common.truth.Truth import org.junit.After +import org.junit.Assert +import org.junit.Assume.assumeFalse import org.junit.Before import org.junit.Rule import org.junit.Test @@ -49,24 +55,49 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = "VanillaIceCream") +@AppModeFull(reason = "VirtualDeviceManager cannot be accessed by instant apps") class DeviceAwarePermissionGrantTest { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() private val defaultDeviceContext = instrumentation.targetContext + private lateinit var mVirtualDeviceManager: VirtualDeviceManager + private lateinit var mVirtualDevice: VirtualDeviceManager.VirtualDevice + private lateinit var mVirtualDisplay: VirtualDisplay + private lateinit var mDeviceDisplayName: String - @get:Rule(order = 0) - val mAdoptShellPermissionsRule = - AdoptShellPermissionsRule( - instrumentation.uiAutomation, - Manifest.permission.CREATE_VIRTUAL_DEVICE - ) - - @get:Rule(order = 1) var mFakeVirtualDeviceRule = FakeVirtualDeviceRule() - - @Rule @JvmField val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + @get:Rule var mVirtualDeviceRule = VirtualDeviceRule.createDefault() @Before fun setup() { + assumeFalse(PermissionUtils.isAutomotive(defaultDeviceContext)) + assumeFalse(PermissionUtils.isTv(defaultDeviceContext)) + assumeFalse(PermissionUtils.isWatch(defaultDeviceContext)) + installPackage(APP_APK_PATH_STREAMING) + mVirtualDeviceManager = + defaultDeviceContext.getSystemService(VirtualDeviceManager::class.java)!! + mVirtualDevice = + mVirtualDeviceRule.createManagedVirtualDevice( + VirtualDeviceParams.Builder() + .setDevicePolicy(POLICY_TYPE_CAMERA, DEVICE_POLICY_CUSTOM) + .build() + ) + + val displayConfig = + VirtualDeviceRule.createDefaultVirtualDisplayConfigBuilder( + DISPLAY_WIDTH, + DISPLAY_HEIGHT + ) + .setFlags( + DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC or + DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED or + DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY + ) + .build() + + mVirtualDisplay = + mVirtualDeviceRule.createManagedVirtualDisplay(mVirtualDevice, displayConfig)!! + mDeviceDisplayName = + mVirtualDeviceManager.getVirtualDevice(mVirtualDevice.deviceId)!!.displayName.toString() } @After @@ -74,7 +105,10 @@ class DeviceAwarePermissionGrantTest { uninstallPackage(APP_PACKAGE_NAME, requireSuccess = false) } - @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun onHostDevice_requestPermissionForHostDevice_shouldGrantPermission() { testGrantPermissionForDevice( @@ -87,40 +121,45 @@ class DeviceAwarePermissionGrantTest { ) } - @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun onHostDevice_requestPermissionForRemoteDevice_shouldGrantPermission() { testGrantPermissionForDevice( Display.DEFAULT_DISPLAY, - mFakeVirtualDeviceRule.virtualDevice.deviceId, + mVirtualDevice.deviceId, true, - DEFAULT_REMOTE_DEVICE_NAME, + mDeviceDisplayName, expectPermissionGrantedOnDefaultDevice = false, expectPermissionGrantedOnRemoteDevice = true ) } - @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test - fun onRemoteDevice_requestPermissionForHostDevice_shouldGrantPermission() { - testGrantPermissionForDevice( - mFakeVirtualDeviceRule.virtualDisplayId, - DEVICE_ID_DEFAULT, - true, - getHostDeviceName(defaultDeviceContext), - expectPermissionGrantedOnDefaultDevice = true, - expectPermissionGrantedOnRemoteDevice = false - ) + fun onRemoteDevice_requestPermissionForHostDevice_shouldShowWarningDialog() { + requestPermissionOnDevice(mVirtualDisplay.display.displayId, DEVICE_ID_DEFAULT) + + val displayId = mVirtualDisplay.display.displayId + waitFindObject(By.displayId(displayId).textContains("Permission request suppressed")) } - @RequiresFlagsEnabled(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED) + @RequiresFlagsEnabled( + Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS_ENABLED, + Flags.FLAG_DEVICE_AWARE_PERMISSIONS_ENABLED + ) @Test fun onRemoteDevice_requestPermissionForRemoteDevice_shouldGrantPermission() { testGrantPermissionForDevice( - mFakeVirtualDeviceRule.virtualDisplayId, - mFakeVirtualDeviceRule.virtualDevice.deviceId, + mVirtualDisplay.display.displayId, + mVirtualDevice.deviceId, true, - DEFAULT_REMOTE_DEVICE_NAME, + mDeviceDisplayName, expectPermissionGrantedOnDefaultDevice = false, expectPermissionGrantedOnRemoteDevice = true ) @@ -134,23 +173,12 @@ class DeviceAwarePermissionGrantTest { expectPermissionGrantedOnDefaultDevice: Boolean, expectPermissionGrantedOnRemoteDevice: Boolean ) { - assertAppHasPermissionForDevice( - defaultDeviceContext, - APP_PACKAGE_NAME, - Manifest.permission.CAMERA, - DEVICE_ID_DEFAULT, - false - ) - - assertAppHasPermissionForDevice( - defaultDeviceContext, - APP_PACKAGE_NAME, - Manifest.permission.CAMERA, - mFakeVirtualDeviceRule.virtualDevice.deviceId, - false - ) + // Assert no permission granted to either default device or virtual device + assertAppHasPermissionForDevice(DEVICE_ID_DEFAULT, false) + assertAppHasPermissionForDevice(mVirtualDevice.deviceId, false) requestPermissionOnDevice(displayId, targetDeviceId) + mVirtualDeviceRule.waitAndAssertActivityResumed(getPermissionDialogComponentName()) if (showDeviceName) { assertPermissionMessageContainsDeviceName(displayId, expectedDeviceNameInDialog) @@ -158,26 +186,14 @@ class DeviceAwarePermissionGrantTest { SystemUtil.eventually { click(By.displayId(displayId).res(ALLOW_BUTTON)) } + assertAppHasPermissionForDevice(DEVICE_ID_DEFAULT, expectPermissionGrantedOnDefaultDevice) assertAppHasPermissionForDevice( - defaultDeviceContext, - APP_PACKAGE_NAME, - Manifest.permission.CAMERA, - DEVICE_ID_DEFAULT, - expectPermissionGrantedOnDefaultDevice - ) - - assertAppHasPermissionForDevice( - defaultDeviceContext, - APP_PACKAGE_NAME, - Manifest.permission.CAMERA, - mFakeVirtualDeviceRule.virtualDevice.deviceId, + mVirtualDevice.deviceId, expectPermissionGrantedOnRemoteDevice ) } private fun requestPermissionOnDevice(displayId: Int, targetDeviceId: Int) { - val options = ActivityOptions.makeBasic().setLaunchDisplayId(displayId).toBundle() - val intent = Intent() .setComponent( @@ -185,7 +201,7 @@ class DeviceAwarePermissionGrantTest { ) .putExtra(PackageManager.EXTRA_REQUEST_PERMISSIONS_DEVICE_ID, targetDeviceId) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK) - defaultDeviceContext.startActivity(intent, options) + mVirtualDeviceRule.sendIntentToDisplay(intent, displayId) } private fun assertPermissionMessageContainsDeviceName(displayId: Int, deviceName: String) { @@ -194,14 +210,37 @@ class DeviceAwarePermissionGrantTest { Truth.assertThat(text).contains(deviceName) } + private fun assertAppHasPermissionForDevice(deviceId: Int, expectPermissionGranted: Boolean) { + val checkPermissionResult = + defaultDeviceContext + .createDeviceContext(deviceId) + .packageManager + .checkPermission(DEVICE_AWARE_PERMISSION, APP_PACKAGE_NAME) + + if (expectPermissionGranted) { + Assert.assertEquals(PackageManager.PERMISSION_GRANTED, checkPermissionResult) + } else { + Assert.assertEquals(PackageManager.PERMISSION_DENIED, checkPermissionResult) + } + } + + private fun getPermissionDialogComponentName(): ComponentName { + val intent = Intent(ACTION_REQUEST_PERMISSIONS) + intent.setPackage(defaultDeviceContext.packageManager.getPermissionControllerPackageName()) + return intent.resolveActivity(defaultDeviceContext.packageManager) + } + companion object { const val APK_DIRECTORY = "/data/local/tmp/cts-permissionmultidevice" const val APP_APK_PATH_STREAMING = "${APK_DIRECTORY}/CtsAccessRemoteDeviceCamera.apk" const val APP_PACKAGE_NAME = "android.permissionmultidevice.cts.accessremotedevicecamera" const val PERMISSION_MESSAGE_ID = "com.android.permissioncontroller:id/permission_message" - const val DEFAULT_REMOTE_DEVICE_NAME = "remote device" const val ALLOW_BUTTON = "com.android.permissioncontroller:id/permission_allow_foreground_only_button" const val DEVICE_ID_DEFAULT = 0 + const val PERSISTENT_DEVICE_ID_DEFAULT = VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT + const val DEVICE_AWARE_PERMISSION = Manifest.permission.CAMERA + private const val DISPLAY_HEIGHT = 1920 + private const val DISPLAY_WIDTH = 1080 } } diff --git a/tests/cts/permissionmultiuser/Android.bp b/tests/cts/permissionmultiuser/Android.bp index f577c82e3..b86b02205 100644 --- a/tests/cts/permissionmultiuser/Android.bp +++ b/tests/cts/permissionmultiuser/Android.bp @@ -43,5 +43,6 @@ android_test { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/permissionmultiuser/src/android/permissionmultiuser/cts/AppDataSharingUpdatesTest.kt b/tests/cts/permissionmultiuser/src/android/permissionmultiuser/cts/AppDataSharingUpdatesTest.kt index beade31ac..2169f0f72 100644 --- a/tests/cts/permissionmultiuser/src/android/permissionmultiuser/cts/AppDataSharingUpdatesTest.kt +++ b/tests/cts/permissionmultiuser/src/android/permissionmultiuser/cts/AppDataSharingUpdatesTest.kt @@ -52,14 +52,14 @@ import androidx.test.filters.SdkSuppress import androidx.test.platform.app.InstrumentationRegistry import com.android.bedstead.harrier.BedsteadJUnit4 import com.android.bedstead.harrier.DeviceState -import com.android.bedstead.harrier.annotations.EnsureHasPermission +import com.android.bedstead.permissions.annotations.EnsureHasPermission import com.android.bedstead.harrier.annotations.EnsureSecureSettingSet import com.android.bedstead.harrier.annotations.RequireDoesNotHaveFeature import com.android.bedstead.harrier.annotations.RequireNotWatch import com.android.bedstead.harrier.annotations.RequireRunOnAdditionalUser import com.android.bedstead.harrier.annotations.RequireRunOnWorkProfile import com.android.bedstead.harrier.annotations.RequireSdkVersion -import com.android.bedstead.nene.permissions.CommonPermissions.INTERACT_ACROSS_USERS +import com.android.bedstead.permissions.CommonPermissions.INTERACT_ACROSS_USERS import com.android.compatibility.common.util.ApiTest import com.android.compatibility.common.util.DeviceConfigStateChangerRule import com.android.compatibility.common.util.SystemUtil.runShellCommand diff --git a/tests/cts/permissionpolicy/Android.bp b/tests/cts/permissionpolicy/Android.bp index 127de939c..8f3c42b0e 100644 --- a/tests/cts/permissionpolicy/Android.bp +++ b/tests/cts/permissionpolicy/Android.bp @@ -25,7 +25,6 @@ android_test { test_suites: [ "cts", "general-tests", - "mts-permission", ], libs: ["android.test.base"], static_libs: [ @@ -36,6 +35,8 @@ android_test { "androidx.test.ext.junit-nodeps", "truth", "permission-test-util-lib", + "androidx.test.rules", + "flag-junit", ], srcs: [ "src/**/*.java", diff --git a/tests/cts/permissionpolicy/OWNERS b/tests/cts/permissionpolicy/OWNERS index 395269207..3f0256275 100644 --- a/tests/cts/permissionpolicy/OWNERS +++ b/tests/cts/permissionpolicy/OWNERS @@ -5,3 +5,4 @@ include platform/frameworks/base:/core/java/android/permission/OWNERS per-file NoLocationPermissionTest.java = tgunn@google.com per-file RestrictedStoragePermissionSharedUidTest.java = nandana@google.com per-file RestrictedStoragePermissionTest.java = nandana@google.com +per-file NoReceiveSmsPermissionTest.java = sasindran@google.com diff --git a/tests/cts/permissionpolicy/res/raw/android_manifest.xml b/tests/cts/permissionpolicy/res/raw/android_manifest.xml index e736e201a..8f1fd1c77 100644 --- a/tests/cts/permissionpolicy/res/raw/android_manifest.xml +++ b/tests/cts/permissionpolicy/res/raw/android_manifest.xml @@ -48,6 +48,7 @@ <protected-broadcast android:name="android.intent.action.CANCEL_ENABLE_ROLLBACK" /> <protected-broadcast android:name="android.intent.action.ROLLBACK_COMMITTED" /> <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" /> + <protected-broadcast android:name="android.intent.action.PACKAGE_UNSTOPPED" /> <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" /> <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION" /> @@ -101,6 +102,7 @@ <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" /> <protected-broadcast android:name="android.intent.action.MY_PACKAGE_SUSPENDED" /> <protected-broadcast android:name="android.intent.action.MY_PACKAGE_UNSUSPENDED" /> + <protected-broadcast android:name="android.intent.action.UNARCHIVE_PACKAGE" /> <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" /> <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" /> @@ -144,6 +146,7 @@ <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" /> <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" /> <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" /> + <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLE_AND_UPDATE" /> <protected-broadcast android:name="android.os.action.SETTING_RESTORED" /> @@ -176,6 +179,7 @@ <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" /> <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" /> <protected-broadcast android:name="android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" /> + <protected-broadcast android:name="android.bluetooth.device.action.REMOTE_ISSUE_OCCURRED" /> <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" /> <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" /> <protected-broadcast @@ -201,6 +205,8 @@ <protected-broadcast android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" /> <protected-broadcast + android:name="android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED" /> + <protected-broadcast android:name="android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED" /> <protected-broadcast android:name="android.bluetooth.hearingaid.profile.action.PLAYING_STATE_CHANGED" /> @@ -257,6 +263,7 @@ android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" /> <protected-broadcast android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" /> + <protected-broadcast android:name="android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED" /> <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED" /> <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED" /> <protected-broadcast android:name="android.bluetooth.action.LE_AUDIO_CONF_CHANGED" /> @@ -292,6 +299,7 @@ <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" /> <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" /> + <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED" /> <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" /> <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" /> <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE" /> @@ -313,6 +321,7 @@ <protected-broadcast android:name="android.media.MASTER_BALANCE_CHANGED_ACTION" /> <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" /> <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" /> + <protected-broadcast android:name="com.android.server.audio.action.CHECK_MUSIC_ACTIVE" /> <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" /> <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" /> @@ -377,6 +386,8 @@ <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" /> <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" /> <protected-broadcast android:name="com.android.internal.action.EUICC_FACTORY_RESET" /> + <protected-broadcast + android:name="com.android.internal.action.EUICC_REMOVE_INVISIBLE_SUBSCRIPTIONS" /> <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" /> <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" /> <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" /> @@ -400,6 +411,7 @@ <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" /> <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" /> <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" /> + <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED" /> <protected-broadcast android:name="android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED" /> <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" /> <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" /> @@ -470,11 +482,9 @@ android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" /> <!-- Defined in RestrictionsManager --> - <protected-broadcast - android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" /> - <!-- Defined in RestrictionsManager --> + <protected-broadcast android:name="android.content.action.PERMISSION_RESPONSE_RECEIVED" /> + <protected-broadcast android:name="android.content.action.REQUEST_PERMISSION" /> - <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" /> <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" /> <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" /> <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" /> @@ -525,6 +535,7 @@ <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" /> <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" /> <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" /> + <protected-broadcast android:name="android.app.action.MANAGED_PROFILE_PROVISIONED" /> <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" /> <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" /> @@ -567,7 +578,9 @@ <protected-broadcast android:name="com.android.settings.network.SWITCH_TO_SUBSCRIPTION" /> <protected-broadcast android:name="com.android.settings.wifi.action.NETWORK_REQUEST" /> + <protected-broadcast android:name="android.app.action.KEYGUARD_PRIVATE_NOTIFICATIONS_CHANGED" /> <protected-broadcast android:name="NotificationManagerService.TIMEOUT" /> + <protected-broadcast android:name="com.android.server.notification.TimeToLiveHelper" /> <protected-broadcast android:name="NotificationHistoryDatabase.CLEANUP" /> <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" /> <protected-broadcast android:name="EventConditionProvider.EVALUATE" /> @@ -652,6 +665,8 @@ <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" /> + <protected-broadcast android:name="com.android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED"/> + <!-- Added in O --> <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" /> <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" /> @@ -663,7 +678,6 @@ <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" /> <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" /> <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" /> - <protected-broadcast android:name="com.android.server.inputmethod.InputMethodManagerService.SHOW_INPUT_METHOD_PICKER" /> <!-- Made protected in P (was introduced in JB-MR2) --> <protected-broadcast android:name="android.intent.action.GET_RESTRICTION_ENTRIES" /> @@ -791,14 +805,40 @@ <protected-broadcast android:name="android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" /> <protected-broadcast android:name="com.android.phone.settings.CARRIER_PROVISIONING" /> <protected-broadcast android:name="com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" /> + <protected-broadcast android:name="com.android.internal.telephony.ACTION_VOWIFI_ENABLED" /> <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" /> <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" /> <protected-broadcast android:name="android.intent.action.ACTION_MANAGED_ROAMING_IND" /> <protected-broadcast android:name="android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" /> <!-- Added in T --> + <protected-broadcast android:name="android.safetycenter.action.REFRESH_SAFETY_SOURCES" /> + <protected-broadcast android:name="android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED" /> + <protected-broadcast android:name="android.app.action.DEVICE_POLICY_RESOURCE_UPDATED" /> + <protected-broadcast android:name="android.intent.action.SHOW_FOREGROUND_SERVICE_MANAGER" /> + <protected-broadcast android:name="android.service.autofill.action.DELAYED_FILL" /> + <protected-broadcast android:name="android.app.action.PROVISIONING_COMPLETED" /> <protected-broadcast android:name="android.app.action.LOST_MODE_LOCATION_UPDATE" /> + <!-- Added in U --> + <protected-broadcast android:name="android.intent.action.PROFILE_ADDED" /> + <protected-broadcast android:name="android.intent.action.PROFILE_REMOVED" /> + <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_SENT_ACTION" /> + <protected-broadcast android:name="com.android.internal.telephony.cat.SMS_DELIVERY_ACTION" /> + <protected-broadcast android:name="com.android.internal.telephony.data.ACTION_RETRY" /> + <protected-broadcast android:name="android.companion.virtual.action.VIRTUAL_DEVICE_REMOVED" /> + <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_START_PREVIEW" /> + <protected-broadcast android:name="com.android.internal.intent.action.FLASH_NOTIFICATION_STOP_PREVIEW" /> + <protected-broadcast android:name="android.app.admin.action.DEVICE_FINANCING_STATE_CHANGED" /> + <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_SET_RESULT" /> + <protected-broadcast android:name="android.app.admin.action.DEVICE_POLICY_CHANGED" /> + + <!-- Added in V --> + <protected-broadcast android:name="android.intent.action.PROFILE_AVAILABLE" /> + <protected-broadcast android:name="android.intent.action.PROFILE_UNAVAILABLE" /> + <protected-broadcast android:name="android.app.action.CONSOLIDATED_NOTIFICATION_POLICY_CHANGED" /> + <protected-broadcast android:name="android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED" /> + <!-- ====================================================================== --> <!-- RUNTIME PERMISSIONS --> <!-- ====================================================================== --> @@ -833,6 +873,7 @@ android:label="@string/permlab_readContacts" android:description="@string/permdesc_readContacts" android:protectionLevel="dangerous" /> + <uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- Allows an application to write the user's contacts data. <p>Protection level: dangerous @@ -843,6 +884,20 @@ android:description="@string/permdesc_writeContacts" android:protectionLevel="dangerous" /> + <!-- Allows an app to update the verification status of E2EE contact keys owned by other apps. + <p>This permission is only granted to system apps. + <p>Protection level: signature|privileged + @SystemApi + @hide + @FlaggedApi("android.provider.user_keys") + --> + <permission android:name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS" + android:permissionGroup="android.permission-group.UNDEFINED" + android:label="@string/permlab_writeVerificationStateE2eeContactKeys" + android:description="@string/permdesc_writeVerificationStateE2eeContactKeys" + android:protectionLevel="signature|privileged" + android:featureFlag="android.provider.user_keys" /> + <!-- Allows an application to set default account for new contacts. <p> This permission is only granted to system applications fulfilling the Contacts app role. <p>Protection level: internal|role @@ -903,7 +958,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.SEND_SMS" @@ -917,7 +972,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.RECEIVE_SMS" @@ -931,7 +986,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.READ_SMS" @@ -945,7 +1000,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.RECEIVE_WAP_PUSH" @@ -959,7 +1014,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.RECEIVE_MMS" @@ -994,7 +1049,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. @hide Pending API council approval --> @@ -1006,20 +1061,10 @@ android:protectionLevel="dangerous" /> <!-- @SystemApi @hide Allows an application to communicate over satellite. - Only granted if the application is a system app.--> + Only granted if the application is a system app or privileged app. --> <permission android:name="android.permission.SATELLITE_COMMUNICATION" android:protectionLevel="role|signature|privileged" /> - <!-- @SystemApi @hide Allows an application to bind with satellite service. - Only granted if the application is a system app.--> - <permission android:name="android.permission.BIND_SATELLITE_SERVICE" - android:protectionLevel="signature|privileged|vendorPrivileged" /> - - <!-- @hide Allows an application to bind with satellite gateway service. - Only granted if the application is a system app.--> - <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE" - android:protectionLevel="signature" /> - <!-- ====================================================================== --> <!-- Permissions for accessing external storage --> <!-- ====================================================================== --> @@ -1033,28 +1078,41 @@ android:priority="900" /> <!-- Allows an application to read from external storage. - <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly - granted this permission.</p> + <p class="note"><strong>Note: </strong>Starting in API level 33, this permission has no + effect. If your app accesses other apps' media files, request one or more of these permissions + instead: <a href="#READ_MEDIA_IMAGES"><code>READ_MEDIA_IMAGES</code></a>, + <a href="#READ_MEDIA_VIDEO"><code>READ_MEDIA_VIDEO</code></a>, + <a href="#READ_MEDIA_AUDIO"><code>READ_MEDIA_AUDIO</code></a>. Learn more about the + <a href="{@docRoot}training/data-storage/shared/media#storage-permission">storage + permissions</a> that are associated with media files.</p> + <p>This permission is enforced starting in API level 19. Before API level 19, this permission is not enforced and all apps still have access to read from external storage. You can test your app with the permission enforced by enabling <em>Protect USB - storage</em> under Developer options in the Settings app on a device running Android 4.1 or - higher.</p> + storage</em> under <b>Developer options</b> in the Settings app on a device running Android + 4.1 or higher.</p> <p>Also starting in API level 19, this permission is <em>not</em> required to - read/write files in your application-specific directories returned by + read or write files in your application-specific directories returned by {@link android.content.Context#getExternalFilesDir} and - {@link android.content.Context#getExternalCacheDir}. - <p class="note"><strong>Note:</strong> If <em>both</em> your <a + {@link android.content.Context#getExternalCacheDir}.</p> + <p>Starting in API level 29, apps don't need to request this permission to access files in + their app-specific directory on external storage, or their own files in the + <a href="{@docRoot}reference/android/provider/MediaStore"><code>MediaStore</code></a>. Apps + shouldn't request this permission unless they need to access other apps' files in the + <code>MediaStore</code>. Read more about these changes in the + <a href="{@docRoot}training/data-storage#scoped-storage">scoped storage</a> section of the + developer documentation.</p> + <p>If <em>both</em> your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> and <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a> values are set to 3 or lower, the system implicitly grants your app this permission. If you don't need this permission, be sure your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code - targetSdkVersion}</a> is 4 or higher. + targetSdkVersion}</a> is 4 or higher.</p> <p> This is a soft restricted permission which cannot be held by an app it its - full form until the installer on record whitelists the permission. + full form until the installer on record allowlists the permission. Specifically, if the permission is allowlisted the holder app can access external storage and the visual and aural media collections while if the permission is not allowlisted the holder app can only access to the visual @@ -1080,10 +1138,12 @@ <!-- Allows an application to read audio files from external storage. <p>This permission is enforced starting in API level - {@link android.os.Build.VERSION_CODES#TIRAMISU}. + {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets + {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read audio files from + external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required. For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code - targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S} or lower, this permission - must not be used and the READ_EXTERNAL_STORAGE permission must be used instead. + targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the + {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read audio files. <p>Protection level: dangerous --> <permission android:name="android.permission.READ_MEDIA_AUDIO" android:permissionGroup="android.permission-group.UNDEFINED" @@ -1099,12 +1159,14 @@ android:description="@string/permgroupdesc_readMediaVisual" android:priority="1000" /> - <!-- Allows an application to read audio files from external storage. - <p>This permission is enforced starting in API level - {@link android.os.Build.VERSION_CODES#TIRAMISU}. - For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code - targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S} or lower, this permission - must not be used and the READ_EXTERNAL_STORAGE permission must be used instead. + <!-- Allows an application to read video files from external storage. + <p>This permission is enforced starting in API level + {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets + {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read video files from + external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required. + For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code + targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the + {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read video files. <p>Protection level: dangerous --> <permission android:name="android.permission.READ_MEDIA_VIDEO" android:permissionGroup="android.permission-group.UNDEFINED" @@ -1114,22 +1176,32 @@ <!-- Allows an application to read image files from external storage. <p>This permission is enforced starting in API level - {@link android.os.Build.VERSION_CODES#TIRAMISU}. + {@link android.os.Build.VERSION_CODES#TIRAMISU}. An app which targets + {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher and needs to read image files from + external storage must hold this permission; {@link #READ_EXTERNAL_STORAGE} is not required. For apps with a <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code - targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S} or lower, this permission - must not be used and the READ_EXTERNAL_STORAGE permission must be used instead. - <p>Protection level: dangerous --> + targetSdkVersion}</a> of {@link android.os.Build.VERSION_CODES#S_V2} or lower, the + {@link #READ_EXTERNAL_STORAGE} permission is required, instead, to read image files. + <p>Protection level: dangerous --> <permission android:name="android.permission.READ_MEDIA_IMAGES" android:permissionGroup="android.permission-group.UNDEFINED" - android:label="@string/permlab_readMediaImage" - android:description="@string/permdesc_readMediaImage" + android:label="@string/permlab_readMediaImages" + android:description="@string/permdesc_readMediaImages" android:protectionLevel="dangerous" /> <!-- Allows an application to read image or video files from external storage that a user has selected via the permission prompt photo picker. Apps can check this permission to verify that a user has decided to use the photo picker, instead of granting access to - {@link #READ_MEDIA_IMAGES or #READ_MEDIA_VIDEO}. It does not prevent apps from accessing the - standard photo picker manually. + {@link #READ_MEDIA_IMAGES} or {@link #READ_MEDIA_VIDEO}. It does not prevent apps from + accessing the standard photo picker manually. This permission should be requested alongside + {@link #READ_MEDIA_IMAGES} and/or {@link #READ_MEDIA_VIDEO}, depending on which type of media + is desired. + <p> This permission will be automatically added to an app's manifest if the app requests + {@link #READ_MEDIA_IMAGES}, {@link #READ_MEDIA_VIDEO}, or {@link #ACCESS_MEDIA_LOCATION} + regardless of target SDK. If an app does not request this permission, then the grant dialog + will return `PERMISSION_GRANTED` for {@link #READ_MEDIA_IMAGES} and/or + {@link #READ_MEDIA_VIDEO}, but the app will only have access to the media selected by the + user. This false grant state will persist until the app goes into the background. <p>Protection level: dangerous --> <permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" android:permissionGroup="android.permission-group.UNDEFINED" @@ -1138,7 +1210,28 @@ android:protectionLevel="dangerous" /> <!-- Allows an application to write to external storage. - <p class="note"><strong>Note:</strong> If <em>both</em> your <a + <p><strong>Note: </strong>If your app targets {@link android.os.Build.VERSION_CODES#R} or + higher, this permission has no effect. + + <p>If your app is on a device that runs API level 19 or higher, you don't need to declare + this permission to read and write files in your application-specific directories returned + by {@link android.content.Context#getExternalFilesDir} and + {@link android.content.Context#getExternalCacheDir}. + + <p>Learn more about how to + <a href="{@docRoot}training/data-storage/shared/media#update-other-apps-files">modify media + files</a> that your app doesn't own, and how to + <a href="{@docRoot}training/data-storage/shared/documents-files">modify non-media files</a> + that your app doesn't own. + + <p>If your app is a file manager and needs broad access to external storage files, then + the system must place your app on an allowlist so that you can successfully request the + <a href="#MANAGE_EXTERNAL_STORAGE><code>MANAGE_EXTERNAL_STORAGE</code></a> permission. + Learn more about the appropriate use cases for + <a href="{@docRoot}training/data-storage/manage-all-files>managing all files on a storage + device</a>. + + <p>If <em>both</em> your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> and <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code @@ -1146,12 +1239,6 @@ grants your app this permission. If you don't need this permission, be sure your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code targetSdkVersion}</a> is 4 or higher. - <p>Starting in API level 19, this permission is <em>not</em> required to - read/write files in your application-specific directories returned by - {@link android.content.Context#getExternalFilesDir} and - {@link android.content.Context#getExternalCacheDir}. - <p>If this permission is not allowlisted for an app that targets an API level before - {@link android.os.Build.VERSION_CODES#Q} this permission cannot be granted to apps.</p> <p>Protection level: dangerous</p> --> <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" @@ -1240,7 +1327,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" @@ -1302,7 +1389,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.READ_CALL_LOG" @@ -1312,8 +1399,7 @@ android:permissionFlags="hardRestricted" android:protectionLevel="dangerous" /> - <!-- Allows an application to write (but not read) the user's - call log data. + <!-- Allows an application to write and read the user's call log data. <p class="note"><strong>Note:</strong> If your app uses the {@link #WRITE_CONTACTS} permission and <em>both</em> your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code @@ -1326,7 +1412,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.WRITE_CALL_LOG" @@ -1342,7 +1428,7 @@ <p>Protection level: dangerous <p> This is a hard restricted permission which cannot be held by an app until - the installer on record whitelists the permission. For more details see + the installer on record allowlists the permission. For more details see {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. @deprecated Applications should use {@link android.telecom.CallRedirectionService} instead @@ -1386,6 +1472,14 @@ android:description="@string/permdesc_readPhoneState" android:protectionLevel="dangerous" /> + <!-- Allows read only access to phone state with a non dangerous permission, + including the information like cellular network type, software version. --> + <permission android:name="android.permission.READ_BASIC_PHONE_STATE" + android:permissionGroup="android.permission-group.UNDEFINED" + android:label="@string/permlab_readBasicPhoneState" + android:description="@string/permdesc_readBasicPhoneState" + android:protectionLevel="normal" /> + <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities granted by {@link #READ_PHONE_STATE} but is exposed to instant applications. <p>Protection level: dangerous--> @@ -1397,7 +1491,9 @@ <!-- Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call. - <p>Protection level: dangerous + <p class="note"><b>Note:</b> An app holding this permission can also call carrier MMI + codes to change settings such as call forwarding or call waiting preferences.</p> + <p>Protection level: dangerous</p> --> <permission android:name="android.permission.CALL_PHONE" android:permissionGroup="android.permission-group.UNDEFINED" @@ -1630,12 +1726,24 @@ <!-- @SystemApi Allows camera access by Headless System User 0 when device is running in HSUM Mode. + @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission") @hide --> <permission android:name="android.permission.CAMERA_HEADLESS_SYSTEM_USER" android:permissionGroup="android.permission-group.UNDEFINED" android:label="@string/permlab_cameraHeadlessSystemUser" android:description="@string/permdesc_cameraHeadlessSystemUser" - android:protectionLevel="signature" /> + android:protectionLevel="signature" + android:featureFlag="com.android.internal.camera.flags.camera_hsum_permission" /> + + + <!-- @SystemApi Allows camera access of allowlisted driver assistance apps + to be controlled separately. + <p> Not for use by third-party applications. + @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") + @hide + --> + <permission android:name="android.permission.CAMERA_PRIVACY_ALLOWLIST" + android:protectionLevel="signature|privileged" /> <!-- ====================================================================== --> <!-- Permissions for accessing the device sensors --> @@ -1663,11 +1771,11 @@ measure what is happening inside their body, such as heart rate. <p>Protection level: dangerous --> <permission android:name="android.permission.BODY_SENSORS" - android:permissionGroup="android.permission-group.UNDEFINED" - android:label="@string/permlab_bodySensors" - android:description="@string/permdesc_bodySensors" - android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND" - android:protectionLevel="dangerous" /> + android:permissionGroup="android.permission-group.UNDEFINED" + android:label="@string/permlab_bodySensors" + android:description="@string/permdesc_bodySensors" + android:backgroundPermission="android.permission.BODY_SENSORS_BACKGROUND" + android:protectionLevel="dangerous" /> <!-- Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate. If you're requesting this permission, you @@ -1680,11 +1788,11 @@ {@link android.content.pm.PackageInstaller.SessionParams#setWhitelistedRestrictedPermissions(Set)}. --> <permission android:name="android.permission.BODY_SENSORS_BACKGROUND" - android:permissionGroup="android.permission-group.UNDEFINED" - android:label="@string/permlab_bodySensors_background" - android:description="@string/permdesc_bodySensors_background" - android:protectionLevel="dangerous" - android:permissionFlags="hardRestricted" /> + android:permissionGroup="android.permission-group.UNDEFINED" + android:label="@string/permlab_bodySensors_background" + android:description="@string/permdesc_bodySensors_background" + android:protectionLevel="dangerous" + android:permissionFlags="hardRestricted" /> <!-- Allows an app to use fingerprint hardware. <p>Protection level: normal @@ -1706,7 +1814,7 @@ android:description="@string/permdesc_useBiometric" android:protectionLevel="normal" /> - <!-- ======================================================================= --> + <!-- ====================================================================== --> <!-- Permissions for posting notifications --> <!-- ====================================================================== --> <eat-comment /> @@ -1727,6 +1835,7 @@ android:label="@string/permlab_postNotification" android:description="@string/permdesc_postNotification" android:protectionLevel="dangerous|instant" /> + <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <!-- ====================================================================== --> <!-- REMOVED PERMISSIONS --> @@ -1762,7 +1871,7 @@ android:protectionLevel="normal" android:permissionFlags="removed"/> - <!-- @hide We need to keep this around for backwards compatibility --> + <!-- @SystemApi @hide We need to keep this around for backwards compatibility --> <permission android:name="android.permission.WRITE_SMS" android:protectionLevel="normal" android:permissionFlags="removed"/> @@ -1840,7 +1949,7 @@ <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST" android:protectionLevel="signature|privileged" /> - <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record + <!-- @SystemApi Allows an application to monitor incoming Bluetooth MAP messages, to record or perform processing on them. --> <!-- @hide --> <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP" @@ -1954,7 +2063,8 @@ <permission android:name="android.permission.ACCESS_MOCK_LOCATION" android:protectionLevel="signature" /> - <!-- @SystemApi @hide Allows automotive applications to control location + <!-- @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) + Allows automotive applications to control location suspend state for power management use cases. <p>Not for use by third-party applications. --> @@ -1999,10 +2109,10 @@ android:protectionLevel="normal" /> <!-- This permission is used to let OEMs grant their trusted app access to a subset of - privileged wifi APIs to improve wifi performance. Allows applications to manage - Wi-Fi network selection related features such as enable or disable global auto-join, - modify connectivity scan intervals, and approve Wi-Fi Direct connections. - <p>Not for use by third-party applications. --> + privileged wifi APIs to improve wifi performance. Allows applications to manage + Wi-Fi network selection related features such as enable or disable global auto-join, + modify connectivity scan intervals, and approve Wi-Fi Direct connections. + <p>Not for use by third-party applications. --> <permission android:name="android.permission.MANAGE_WIFI_NETWORK_SELECTION" android:protectionLevel="signature|privileged|knownSigner" android:knownCerts="@array/wifi_known_signers" /> @@ -2061,14 +2171,14 @@ modifications. <p>Not for use by third-party applications. --> <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" - android:protectionLevel="signature|privileged|knownSigner" - android:knownCerts="@array/wifi_known_signers" /> + android:protectionLevel="signature|privileged|knownSigner" + android:knownCerts="@array/wifi_known_signers" /> - <!-- Allows applications to act as network scorers. @hide @SystemApi--> + <!-- @deprecated Allows applications to act as network scorers. @hide @SystemApi--> <permission android:name="android.permission.SCORE_NETWORKS" android:protectionLevel="signature|privileged" /> - <!-- Allows applications to request network + <!-- @deprecated Allows applications to request network recommendations and scores from the NetworkScoreService. @SystemApi <p>Not for use by third-party applications. @hide --> @@ -2172,7 +2282,7 @@ <!-- @SystemApi @hide Allows changing Thread network state and access to Thread network credentials such as Network Key and PSKc. <p>Not for use by third-party applications. - @FlaggedApi("com.android.net.thread.flags.thread_enabled") --> + @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") --> <permission android:name="android.permission.THREAD_NETWORK_PRIVILEGED" android:protectionLevel="signature|privileged" /> @@ -2222,10 +2332,12 @@ <!-- Allows system apps to call methods to register itself as a mDNS offload engine. <p>Not for use by third-party or privileged applications. @SystemApi + @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine") @hide This should only be used by system apps. --> <permission android:name="android.permission.REGISTER_NSD_OFFLOAD_ENGINE" - android:protectionLevel="signature" /> + android:protectionLevel="signature" + android:featureFlag="android.net.platform.flags.register_nsd_offload_engine" /> <!-- ======================================= --> <!-- Permissions for short range, peripheral networks --> @@ -2294,7 +2406,8 @@ them from running without explicit user action. --> <permission android:name="android.permission.QUARANTINE_APPS" - android:protectionLevel="signature|verifier" /> + android:protectionLevel="signature|verifier" + android:featureFlag="android.content.pm.quarantined_enabled" /> <!-- Allows applications to discover and pair bluetooth devices. <p>Protection level: normal @@ -2310,14 +2423,15 @@ <permission android:name="android.permission.BLUETOOTH_PRIVILEGED" android:protectionLevel="signature|privileged" /> - <!-- SystemApi Control access to email providers exclusively for Bluetooth + <!-- @SystemApi Control access to email providers exclusively for Bluetooth @hide --> <permission android:name="android.permission.BLUETOOTH_MAP" android:protectionLevel="signature|role" /> <!-- Allows bluetooth stack to access files - @hide This should only be used by Bluetooth apk. + This should only be granted to the Bluetooth apk. + @hide @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) --> <permission android:name="android.permission.BLUETOOTH_STACK" android:protectionLevel="signature|role" /> @@ -2340,6 +2454,8 @@ <p>Protection level: normal --> <permission android:name="android.permission.NFC_TRANSACTION_EVENT" + android:description="@string/permdesc_nfcTransactionEvent" + android:label="@string/permlab_nfcTransactionEvent" android:protectionLevel="normal" /> <!-- Allows applications to receive NFC preferred payment service information. @@ -2405,8 +2521,9 @@ <permission android:name="android.permission.NFC_HANDOVER_STATUS" android:protectionLevel="signature|privileged" /> - <!-- @hide Allows internal management of Bluetooth state when on wireless consent mode. - <p>Not for use by third-party applications. --> + <!-- @SystemApi Allows internal management of Bluetooth state when on wireless consent mode. + <p>Not for use by third-party applications. + @hide --> <permission android:name="android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED" android:protectionLevel="signature" /> @@ -2476,6 +2593,13 @@ <permission android:name="android.permission.VIBRATE_ALWAYS_ON" android:protectionLevel="signature" /> + <!-- Allows access to system-only haptic feedback constants. + <p>Protection level: signature + @hide + --> + <permission android:name="android.permission.VIBRATE_SYSTEM_CONSTANTS" + android:protectionLevel="signature" /> + <!-- @SystemApi Allows access to the vibrator state. <p>Protection level: signature @hide @@ -2502,6 +2626,15 @@ android:description="@string/permdesc_transmitIr" android:protectionLevel="normal" /> + <!-- Allows an app to turn on the screen on, e.g. with + {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}. + <p>Intended to only be used by home automation apps. + --> + <permission android:name="android.permission.TURN_SCREEN_ON" + android:label="@string/permlab_turnScreenOn" + android:description="@string/permdesc_turnScreenOn" + android:protectionLevel="signature|privileged|appop" /> + <!-- ==================================================== --> <!-- Permissions related to changing audio settings --> <!-- ==================================================== --> @@ -2528,7 +2661,7 @@ <permission android:name="android.permission.LAUNCH_CAPTURE_CONTENT_ACTIVITY_FOR_NOTE" android:protectionLevel="internal|role" /> - <!-- Allows an application to be notified whenever a screen capture is attempted. + <!-- Allows an application to get notified when a screen capture of its windows is attempted. <p>Protection level: normal --> <permission android:name="android.permission.DETECT_SCREEN_CAPTURE" @@ -2536,6 +2669,14 @@ android:description="@string/permdesc_detectScreenCapture" android:protectionLevel="normal" /> + <!-- Allows an application to get notified when it is being recorded. + <p>Protection level: normal + @FlaggedApi("com.android.window.flags.screen_recording_callbacks") + --> + <permission android:name="android.permission.DETECT_SCREEN_RECORDING" + android:protectionLevel="normal" + android:featureFlag="com.android.window.flags.screen_recording_callbacks" /> + <!-- ======================================== --> <!-- Permissions for factory reset protection --> <!-- ======================================== --> @@ -2656,6 +2797,12 @@ <permission android:name="android.permission.OEM_UNLOCK_STATE" android:protectionLevel="signature" /> + <!-- @SystemApi Allows configuration of factory reset protection + @FlaggedApi("android.security.frp_enforcement") + @hide <p>Not for use by third-party applications. --> + <permission android:name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION" + android:protectionLevel="signature|privileged" /> + <!-- @SystemApi @hide Allows querying state of PersistentDataBlock <p>Not for use by third-party applications. --> <permission android:name="android.permission.ACCESS_PDB_STATE" @@ -2763,6 +2910,13 @@ <permission android:name="android.permission.BIND_INCALL_SERVICE" android:protectionLevel="signature|privileged" /> + <!-- Must be required by a {@link android.telecom.CallStreamingService}, + to ensure that only the system can bind to it. + <p>Protection level: signature + @SystemApi @hide--> + <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE" + android:protectionLevel="signature" /> + <!-- Allows to query ongoing call details and manage ongoing calls <p>Protection level: signature|appop --> <permission android:name="android.permission.MANAGE_ONGOING_CALLS" @@ -2816,13 +2970,6 @@ <permission android:name="android.permission.BIND_CALL_REDIRECTION_SERVICE" android:protectionLevel="signature|privileged" /> - <!-- Must be required by a {@link android.telecom.CallStreamingService}, - to ensure that only the system can bind to it. - <p>Protection level: signature - @SystemApi @hide--> - <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE" - android:protectionLevel="signature" /> - <!-- Must be required by a {@link android.telecom.ConnectionService}, to ensure that only the system can bind to it. @deprecated {@link android.telecom.ConnectionService}s should require @@ -2832,15 +2979,6 @@ <permission android:name="android.permission.BIND_CONNECTION_SERVICE" android:protectionLevel="signature|privileged" /> - <!-- Must be required by a - android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService, - to ensure that only the system can bind to it. - @SystemApi @hide This is not a third-party API (intended for OEMs and system apps). - <p>Protection level: signature - --> - <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE" - android:protectionLevel="signature" /> - <!-- Must be required by a {@link android.telecom.ConnectionService}, to ensure that only the system can bind to it. <p>Protection level: signature|privileged @@ -2869,6 +3007,16 @@ <permission android:name="android.permission.MANAGE_SENSORS" android:protectionLevel="signature" /> + <!-- Must be required by a DomainSelectionService to ensure that only the + system can bind to it. + <p>Protection level: signature + @SystemApi + @hide + @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") + --> + <permission android:name="android.permission.BIND_DOMAIN_SELECTION_SERVICE" + android:protectionLevel="signature" /> + <!-- Must be required by an ImsService to ensure that only the system can bind to it. <p>Protection level: signature|privileged|vendorPrivileged @@ -2878,6 +3026,23 @@ <permission android:name="android.permission.BIND_IMS_SERVICE" android:protectionLevel="signature|privileged|vendorPrivileged" /> + <!-- Must be required by a SatelliteService to ensure that only the + system can bind to it. + <p>Protection level: signature|privileged|vendorPrivileged + @SystemApi + @hide + --> + <permission android:name="android.permission.BIND_SATELLITE_SERVICE" + android:protectionLevel="signature|privileged|vendorPrivileged" /> + + <!-- Must be required by a SatelliteGatewayService to ensure that only the + system can bind to it. + <p>Protection level: signature + @hide + --> + <permission android:name="android.permission.BIND_SATELLITE_GATEWAY_SERVICE" + android:protectionLevel="signature" /> + <!-- Must be required by a telephony data service to ensure that only the system can bind to it. <p>Protection level: signature @@ -2938,6 +3103,17 @@ <permission android:name="android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE" android:protectionLevel="internal|role" /> + <!-- Used to provide the Telecom framework with access to the last known call ID. + <p>Protection level: signature + @SystemApi + @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") + @hide + --> + <permission android:name="android.permission.ACCESS_LAST_KNOWN_CELL_ID" + android:protectionLevel="signature" + android:label="@string/permlab_accessLastKnownCellId" + android:description="@string/permdesc_accessLastKnownCellId"/> + <!-- ================================== --> <!-- Permissions for sdcard interaction --> <!-- ================================== --> @@ -3056,23 +3232,38 @@ types of interactions @hide --> <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" - android:protectionLevel="signature|installer|role" /> + android:protectionLevel="signature|installer|module|role" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <!-- Allows interaction across profiles in the same profile group. --> <permission android:name="android.permission.INTERACT_ACROSS_PROFILES" android:protectionLevel="signature|appop" /> + <!-- Allows applications to access profiles with ACCESS_HIDDEN_PROFILES user property + <p>Protection level: normal + @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") --> + <permission android:name="android.permission.ACCESS_HIDDEN_PROFILES" + android:label="@string/permlab_accessHiddenProfile" + android:description="@string/permdesc_accessHiddenProfile" + android:protectionLevel="normal" /> + + <!-- @SystemApi @hide Allows privileged applications to get details about hidden profile + users. + @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") --> + <permission + android:name="android.permission.ACCESS_HIDDEN_PROFILES_FULL" + android:protectionLevel="signature|privileged" /> + + <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. --> + <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES" + android:protectionLevel="signature|role" /> + <!-- @SystemApi Allows configuring apps to have the INTERACT_ACROSS_PROFILES permission so that they can interact across profiles in the same profile group. @hide --> <permission android:name="android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES" android:protectionLevel="signature|role" /> - <!-- @SystemApi @hide Allows starting activities across profiles in the same profile group. --> - <permission android:name="android.permission.START_CROSS_PROFILE_ACTIVITIES" - android:protectionLevel="signature|role" /> - <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage users on the device. This permission is not available to third party applications. --> @@ -3446,11 +3637,18 @@ <!-- Allows an application to set policy related to <a href="https://www.threadgroup.org">Thread</a> network. - @FlaggedApi("com.android.net.thread.flags.thread_user_restriction_enabled") + @FlaggedApi("com.android.net.thread.platform.flags.thread_user_restriction_enabled") --> <permission android:name="android.permission.MANAGE_DEVICE_POLICY_THREAD_NETWORK" android:protectionLevel="internal|role" /> + <!-- Allows an application to set policy related to sending assist content to a + privileged app such as the Assistant app. + @FlaggedApi("android.app.admin.flags.assist_content_user_restriction_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ASSIST_CONTENT" + android:protectionLevel="internal|role" /> + <!-- Allows an application to set policy related to windows. <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call APIs protected by this permission on users different to the calling user. @@ -3500,6 +3698,14 @@ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SECURITY_LOGGING" android:protectionLevel="internal|role" /> + <!-- Allows an application to use audit logging API. + @hide + @SystemApi + @FlaggedApi("android.app.admin.flags.security_log_v2_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING" + android:protectionLevel="internal|role" /> + <!-- Allows an application to set policy related to system updates. <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call APIs protected by this permission on users different to the calling user. @@ -3507,7 +3713,7 @@ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_SYSTEM_UPDATES" android:protectionLevel="internal|role" /> - <!-- Allows an application to query system updates. + <!-- Allows an application query system updates. <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call APIs protected by this permission on users different to the calling user. --> @@ -3603,6 +3809,14 @@ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_LOCK" android:protectionLevel="internal|role" /> + <!-- Allows an application to query the device stolen state. + @FlaggedApi("android.app.admin.flags.device_theft_api_enabled") + @hide + @SystemApi + --> + <permission android:name="android.permission.QUERY_DEVICE_STOLEN_STATE" + android:protectionLevel="internal|role" /> + <!-- Allows an application to manage policy related to system apps. <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call APIs protected by this permission on users different to the calling user. @@ -3626,6 +3840,38 @@ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_DEVICE_IDENTIFIERS" android:protectionLevel="internal|role" /> + <!-- Allows an application to manage policy related to content protection. + <p>Protection level: internal|role + @FlaggedApi("android.view.contentprotection.flags.manage_device_policy_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CONTENT_PROTECTION" + android:protectionLevel="internal|role" /> + + <!-- Allows an application to set policy related to subscriptions downloaded by an admin. + <p>{@link Manifest.permission#MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL} is required to call + APIs protected by this permission on users different to the calling user. + @FlaggedApi("android.app.admin.flags.esim_management_enabled") --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MANAGED_SUBSCRIPTIONS" + android:protectionLevel="internal|role" /> + + <!-- Allows an application to manage policy related to block package uninstallation. + @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_BLOCK_UNINSTALL" + android:protectionLevel="internal|role" /> + + <!-- Allows an application to manage policy related to camera toggle. + @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_CAMERA_TOGGLE" + android:protectionLevel="internal|role" /> + + <!-- Allows an application to manage policy related to microphone toggle. + @FlaggedApi("android.app.admin.flags.dedicated_device_control_api_enabled") + --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_MICROPHONE_TOGGLE" + android:protectionLevel="internal|role" /> + <!-- Allows an application to set device policies outside the current user that are critical for securing data within the current user. <p>Holding this permission allows the use of other held MANAGE_DEVICE_POLICY_* @@ -3650,6 +3896,21 @@ <permission android:name="android.permission.MANAGE_DEVICE_POLICY_ACROSS_USERS_FULL" android:protectionLevel="internal|role" /> + <!-- Allows the holder to manage and retrieve max storage limit for admin policies. This + permission is only grantable on rooted devices. + @TestAPI + @hide --> + <permission android:name="android.permission.MANAGE_DEVICE_POLICY_STORAGE_LIMIT" + android:protectionLevel="internal" /> + + <!-- Allows an application to access EnhancedConfirmationManager. + @SystemApi + @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") + @hide This is not a third-party API (intended for OEMs and system apps). --> + <permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" + android:protectionLevel="signature|installer" /> + <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" /> + <!-- @SystemApi @hide Allows an application to set a device owner on retail demo devices.--> <permission android:name="android.permission.PROVISION_DEMO_DEVICE" android:protectionLevel="signature|setup|knownSigner" @@ -3665,11 +3926,6 @@ <permission android:name="android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS" android:protectionLevel="signature" /> - <!-- @SystemApi Allows an application to write to the security log buffer in logd. - @hide --> - <permission android:name="android.permission.WRITE_SECURITY_LOG" - android:protectionLevel="signature|privileged" /> - <!-- Allows an application to get full detailed information about recently running tasks, with full fidelity to the real state. @hide --> @@ -3701,6 +3957,18 @@ <permission android:name="android.permission.ACTIVITY_EMBEDDING" android:protectionLevel="signature|privileged" /> + <!-- Allows an application to embed any other apps in untrusted embedding mode without the need + for the embedded app to consent. + <p>For now, this permission is only granted to the Assistant application selected by + the user. + {@see https://developer.android.com/guide/topics/large-screens/activity-embedding#trust_model} + @SystemApi + @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission") + @hide + --> + <permission android:name="android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE" + android:protectionLevel="internal|role" /> + <!-- Allows an application to start any activity, regardless of permission protection or exported state. @hide --> @@ -3747,13 +4015,15 @@ android:description="@string/permdesc_killBackgroundProcesses" android:protectionLevel="normal" /> - <!-- @deprecated Allows an application to call + <!-- Allows an application to call {@link android.app.ActivityManager#killBackgroundProcesses}. <p>As of Android version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, the {@link android.app.ActivityManager#killBackgroundProcesses} is no longer available to third party applications. For backwards compatibility, the background processes of the - caller's own package will still be killed when calling this API, meanwhile this permission - is not required anymore in this case. + caller's own package will still be killed when calling this API. If the caller has + the system permission {@code KILL_ALL_BACKGROUND_PROCESSES}, other processes will be + killed too. + <p>Protection level: normal --> <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" @@ -3862,7 +4132,9 @@ <p>Protection level: normal --> <permission android:name="android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND" - android:protectionLevel="normal"/> + android:label="@string/permlab_startForegroundServicesFromBackground" + android:description="@string/permdesc_startForegroundServicesFromBackground" + android:protectionLevel="normal"/> <!-- Allows a companion app to use data in the background. <p>Protection level: normal @@ -3878,6 +4150,8 @@ <p>Protection level: normal --> <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_WATCH" + android:label="@string/permlab_companionProfileWatch" + android:description="@string/permdesc_companionProfileWatch" android:protectionLevel="normal" /> <!-- Allows app to request to be associated with a device via @@ -3897,8 +4171,7 @@ <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING" android:protectionLevel="signature|privileged" /> - <!-- Allows application to request to be associated with a virtual device associated to a - nearby device capable of rendering an entire OS + <!-- Allows application to request to stream content from an Android host to a nearby device ({@link android.companion.AssociationRequest#DEVICE_PROFILE_NEARBY_DEVICE_STREAMING}) by {@link android.companion.CompanionDeviceManager}. <p>Not for use by third-party applications. @@ -3916,11 +4189,11 @@ android:protectionLevel="internal|role" /> <!-- Allows application to request to be associated with a computer to share functionality - and/or data with other devices, such as notifications, photos and media - ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER}) - by {@link android.companion.CompanionDeviceManager}. - <p>Not for use by third-party applications. - --> + and/or data with other devices, such as notifications, photos and media + ({@link android.companion.AssociationRequest#DEVICE_PROFILE_COMPUTER}) + by {@link android.companion.CompanionDeviceManager}. + <p>Not for use by third-party applications. + --> <permission android:name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER" android:protectionLevel="signature|privileged" /> @@ -3953,6 +4226,8 @@ <!-- Allows an app to prevent non-system-overlay windows from being drawn on top of it --> <permission android:name="android.permission.HIDE_OVERLAY_WINDOWS" + android:label="@string/permlab_hideOverlayWindows" + android:description="@string/permdesc_hideOverlayWindows" android:protectionLevel="normal" /> <!-- ================================== --> @@ -3976,8 +4251,7 @@ android:description="@string/permdesc_setWallpaperHints" android:protectionLevel="normal" /> - <!-- Allow the app to read the system wallpaper image without - holding the READ_EXTERNAL_STORAGE permission. + <!-- Allow the app to read the system and lock wallpaper images. <p>Not for use by third-party applications. @hide @SystemApi @@ -3988,6 +4262,7 @@ <!-- Allow apps to always update wallpaper by sending data. @SystemApi @hide + @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission") --> <permission android:name="android.permission.ALWAYS_UPDATE_WALLPAPER" android:protectionLevel="internal|role" /> @@ -4151,11 +4426,6 @@ <permission android:name="android.permission.WRITE_DEVICE_CONFIG" android:protectionLevel="signature|verifier|configurator"/> - <!-- @SystemApi @hide Allows an application to read config settings. - <p>Not for use by third-party applications. --> - <permission android:name="android.permission.READ_DEVICE_CONFIG" - android:protectionLevel="signature|preinstalled" /> - <!-- @SystemApi @TestApi @hide Allows an application to modify only allowlisted settings. <p>Not for use by third-party applications. --> <permission android:name="android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG" @@ -4166,6 +4436,11 @@ <permission android:name="android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG" android:protectionLevel="signature|verifier|configurator"/> + <!-- @SystemApi @hide Allows an application to read config settings. + <p>Not for use by third-party applications. --> + <permission android:name="android.permission.READ_DEVICE_CONFIG" + android:protectionLevel="signature|preinstalled" /> + <!-- @SystemApi @hide Allows applications like settings to read system-owned application-specific locale configs. <p>Not for use by third-party applications. --> @@ -4177,7 +4452,7 @@ <permission android:name="android.permission.SET_APP_SPECIFIC_LOCALECONFIG" android:protectionLevel="signature" /> - <!-- @hide Allows an application to monitor {@link android.provider.Settings.Config} access. + <!-- @SystemApi @hide Allows an application to monitor {@link android.provider.Settings.Config} access. <p>Not for use by third-party applications. --> <permission android:name="android.permission.MONITOR_DEVICE_CONFIG_ACCESS" android:protectionLevel="signature"/> @@ -4352,7 +4627,8 @@ <!-- Allows an application to query the current time zone rules state on device. - @SystemApi @hide --> + @SystemApi @hide + @deprecated Vestigial permission declaration. No longer used. --> <permission android:name="android.permission.QUERY_TIME_ZONE_RULES" android:protectionLevel="signature|privileged" /> @@ -4361,7 +4637,8 @@ <p>An application requesting this permission is responsible for verifying the source and integrity of the update before passing it off to the installer components. - @SystemApi @hide --> + @SystemApi @hide + @deprecated Vestigial permission declaration. No longer used. --> <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES" android:protectionLevel="signature|privileged" /> @@ -4415,6 +4692,45 @@ <permission android:name="android.permission.REQUEST_UNIQUE_ID_ATTESTATION" android:protectionLevel="signature" /> + <!-- Allows an application to get enabled credential manager providers. + @hide --> + <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS" + android:protectionLevel="signature|privileged" /> + + <!-- Allows a system application to be registered with credential manager without + having to be enabled by the user. + @hide @SystemApi --> + <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE" + android:protectionLevel="signature|privileged" /> + + <!-- Allows specifying candidate credential providers to be queried in Credential Manager + get flows, or to be preferred as a default in the Credential Manager create flows. + <p>Protection level: normal --> + <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS" + android:protectionLevel="normal" /> + + <!-- Allows a browser to invoke credential manager APIs on behalf of another RP. + <p>Protection level: normal --> + <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN" + android:protectionLevel="normal" /> + + <!-- Allows a browser to invoke the set of query apis to get metadata about credential + candidates prepared during the CredentialManager.prepareGetCredential API. + <p>Protection level: normal --> + <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS" + android:protectionLevel="normal" /> + + <!-- Allows permission to use Credential Manager UI for providing and saving credentials + @hide --> + <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR" + android:protectionLevel="signature" /> + + <!-- Allows an application to be able to store and retrieve credentials from a remote + device. + <p>Protection level: signature|privileged|role --> + <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS" + android:protectionLevel="signature|privileged|role" /> + <!-- ========================================= --> <!-- Permissions for special development tools --> <!-- ========================================= --> @@ -4442,15 +4758,17 @@ <permission android:name="android.permission.READ_LOGS" android:protectionLevel="signature|privileged|development" /> - <!-- Allows an application to access the data in Dropbox--> - <permission android:name="android.permission.READ_DROPBOX_DATA" - android:protectionLevel="signature|privileged|development" /> - <!-- Configure an application for debugging. <p>Not for use by third-party applications. --> <permission android:name="android.permission.SET_DEBUG_APP" android:protectionLevel="signature|privileged|development" /> + <!-- Allows an application to access the data in Dropbox. + <p>Not for use by third-party applications. + @FlaggedApi("com.android.server.feature.flags.enable_read_dropbox_permission") --> + <permission android:name="android.permission.READ_DROPBOX_DATA" + android:protectionLevel="signature|privileged|development" /> + <!-- Allows an application to set the maximum number of (not needed) application processes that can be running. <p>Not for use by third-party applications. --> @@ -4585,7 +4903,7 @@ <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" android:protectionLevel="signature|installer" /> - <!-- Allows an application to update the user app op modes. + <!-- @TestApi Allows an application to update the user app op modes. Not for use by third party apps. @hide --> <permission android:name="android.permission.MANAGE_APP_OPS_MODES" @@ -4666,6 +4984,13 @@ <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME" android:protectionLevel="signature" /> + <!-- @FlaggedApi("com.android.server.accessibility.motion_event_observing") + @hide + @TestApi + Allows an accessibility service to observe motion events without consuming them. --> + <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING" + android:protectionLevel="signature" /> + <!-- @hide Allows an application to collect frame statistics --> <permission android:name="android.permission.FRAME_STATS" android:protectionLevel="signature" /> @@ -4713,9 +5038,9 @@ android:protectionLevel="signature|recents" /> <!-- @SystemApi Allows an application to set the system audio caption and its UI - enabled state. - <p>Not for use by third-party applications. - @hide --> + enabled state. + <p>Not for use by third-party applications. + @hide --> <permission android:name="android.permission.SET_SYSTEM_AUDIO_CAPTION" android:protectionLevel="signature|role" /> @@ -4734,7 +5059,8 @@ android:protectionLevel="signature" /> <!-- Allows access to Test APIs defined in {@link android.view.inputmethod.InputMethodManager}. - @hide --> + @hide + @TestApi --> <permission android:name="android.permission.TEST_INPUT_METHOD" android:protectionLevel="signature" /> @@ -4790,7 +5116,7 @@ <p>Protection level: signature --> <permission android:name="android.permission.BIND_NFC_SERVICE" - android:protectionLevel="signature" /> + android:protectionLevel="signature|module" /> <!-- Must be required by a {@link android.service.quickaccesswallet.QuickAccessWalletService} to ensure that only the system can bind to it. @@ -4846,32 +5172,6 @@ android:protectionLevel="signature" /> <uses-permission android:name="android.permission.BIND_ROTATION_RESOLVER_SERVICE" /> - <!-- @SystemApi Allows an application to access ambient context service. - @hide <p>Not for use by third-party applications.</p> --> - <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" - android:protectionLevel="signature|privileged|role"/> - - <!-- @SystemApi Required by a AmbientContextEventDetectionService - to ensure that only the service with this permission can bind to it. - @hide <p>Not for use by third-party applications.</p> --> - <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE" - android:protectionLevel="signature"/> - - <!-- @SystemApi Required by a WearableSensingService to - ensure that only the caller with this permission can bind to it. - <p> Protection level: signature - @hide - --> - <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE" - android:protectionLevel="signature" /> - - <!-- @SystemApi Allows an app to manage the wearable sensing service. - <p>Protection level: signature|privileged - @hide - --> - <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE" - android:protectionLevel="signature|privileged" /> - <!-- Must be required by a {@link android.net.VpnService}, to ensure that only the system can bind to it. <p>Protection level: signature @@ -4886,14 +5186,14 @@ <permission android:name="android.permission.BIND_WALLPAPER" android:protectionLevel="signature|privileged" /> + <!-- Must be required by a game service to ensure that only the system can bind to it. <p>Protection level: signature - @SystemApi @hide --> <permission android:name="android.permission.BIND_GAME_SERVICE" - android:protectionLevel="signature" /> + android:protectionLevel="signature" /> <!-- Must be required by a {@link android.service.voice.VoiceInteractionService}, to ensure that only the system can bind to it. @@ -4910,15 +5210,6 @@ <permission android:name="android.permission.BIND_HOTWORD_DETECTION_SERVICE" android:protectionLevel="signature" /> - <!-- @SystemApi Must be required by a {@link android.service.voice.visualQueryDetection}, - to ensure that only the system can bind to it. - <p>Protection level: signature - @hide This is not a third-party API (intended for OEMs and system apps). - --> - <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE" - android:protectionLevel="signature" /> - - <!-- @SystemApi Allows an application to manage hotword detection and visual query detection on the device. <p>Protection level: internal|preinstalled @@ -4927,19 +5218,20 @@ <permission android:name="android.permission.MANAGE_HOTWORD_DETECTION" android:protectionLevel="internal|preinstalled" /> + <!-- @SystemApi Must be required by a {@link android.service.voice.VisualQueryDetectionService}, + to ensure that only the system can bind to it. + <p>Protection level: signature + @hide This is not a third-party API (intended for OEMs and system apps). + --> + <permission android:name="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE" + android:protectionLevel="signature" /> + <!-- Allows an application to subscribe to keyguard locked (i.e., showing) state. <p>Protection level: signature|role <p>Intended for use by ROLE_ASSISTANT and signature apps only. --> <permission android:name="android.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE" - android:protectionLevel="signature|role"/> - - <!-- Must be required by a {@link android.service.credentials.CredentialProviderService}, - to ensure that only the system can bind to it. - <p>Protection level: signature - --> - <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE" - android:protectionLevel="signature" /> + android:protectionLevel="signature|module|role"/> <!-- Must be required by a {@link android.service.autofill.AutofillService}, to ensure that only the system can bind to it. @@ -4957,12 +5249,19 @@ <permission android:name="android.permission.BIND_FIELD_CLASSIFICATION_SERVICE" android:protectionLevel="signature" /> - <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE. - This permission was renamed during the O previews but it was supported on the final O - release, so we need to carry it over. + <!-- Must be required by a CredentialProviderService to ensure that only the + system can bind to it. <p>Protection level: signature - @hide - --> + --> + <permission android:name="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE" + android:protectionLevel="signature" /> + + <!-- Alternative version of android.permission.BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE. + This permission was renamed during the O previews but it was supported on the final O + release, so we need to carry it over. + <p>Protection level: signature + @hide + --> <permission android:name="android.permission.BIND_AUTOFILL" android:protectionLevel="signature" /> @@ -4998,9 +5297,9 @@ android:protectionLevel="signature" /> <!-- Must be required by a android.service.selectiontoolbar.SelectionToolbarRenderService, - to ensure that only the system can bind to it. - @hide This is not a third-party API (intended for OEMs and system apps). - <p>Protection level: signature + to ensure that only the system can bind to it. + @hide This is not a third-party API (intended for OEMs and system apps). + <p>Protection level: signature --> <permission android:name="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE" android:protectionLevel="signature" /> @@ -5036,6 +5335,16 @@ <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE" android:protectionLevel="signature" /> + <!-- Must be required by a + android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService, + to ensure that only the system can bind to it. + @SystemApi @hide This is not a third-party API (intended for OEMs and system apps). + <p>Protection level: signature + --> + <permission android:name="android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE" + android:protectionLevel="signature" /> + + <!-- Must be declared by a android.service.musicrecognition.MusicRecognitionService, to ensure that only the system can bind to it. @SystemApi @hide This is not a third-party API (intended for OEMs and system apps). @@ -5058,7 +5367,9 @@ this permission, it must hold the permission and be the active VoiceInteractionService in the system. {@see Settings.Secure.VOICE_INTERACTION_SERVICE} - @hide --> + @hide @SystemApi Intended for OEM and system apps. + <p>Protection level: signature|privileged + --> <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES" android:protectionLevel="signature|privileged" /> @@ -5067,7 +5378,9 @@ sound models at any time. This permission should be reserved for system enrollment applications detected by {@link android.hardware.soundtrigger.KeyphraseEnrollmentInfo} only. - @hide <p>Not for use by third-party applications.</p> --> + @hide @SystemApi Intended for OEM and system apps. + <p>Protection level: signature|privileged + --> <permission android:name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION" android:protectionLevel="signature|privileged" /> @@ -5077,6 +5390,14 @@ <permission android:name="android.permission.BIND_REMOTE_DISPLAY" android:protectionLevel="signature" /> + <!-- Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can + bind to it. + <p>Protection level: signature|privileged + @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") + --> + <permission android:name="android.permission.BIND_TV_AD_SERVICE" + android:protectionLevel="signature|privileged" /> + <!-- Must be required by a {@link android.media.tv.TvInputService} to ensure that only the system can bind to it. <p>Protection level: signature|privileged @@ -5100,15 +5421,6 @@ <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for - domain-specific features. - <p>Protection level: signature|privileged|vendorPrivileged - <p>Not for use by third-party applications. - @hide - --> - <permission android:name="android.permission.TIS_EXTENSION_INTERFACE" - android:protectionLevel="signature|privileged|vendorPrivileged" /> - <!-- @SystemApi Must be required for a virtual remote controller for TV. <p>Protection level: signature|privileged @@ -5152,7 +5464,7 @@ <!-- @SystemApi This permission is required by Media Resource Manager Service when system services create MediaCodecs on behalf of other processes and apps. - <p>Protection level: signature + <p>Protection level: signature|privileged|vendorPrivileged <p>Not for use by third-party applications. @hide --> <permission android:name="android.permission.MEDIA_RESOURCE_OVERRIDE_PID" @@ -5226,19 +5538,6 @@ <permission android:name="android.permission.SET_KEYBOARD_LAYOUT" android:protectionLevel="signature" /> - <!-- Allows low-level access for re-mapping modifier keys. - <p>Not for use by third-party applications. - @hide - @TestApi --> - <permission android:name="android.permission.REMAP_MODIFIER_KEYS" - android:protectionLevel="signature" /> - - <!-- Allows low-level access for monitoring keyboard backlight changes. - <p>Not for use by third-party applications. - @hide --> - <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT" - android:protectionLevel="signature" /> - <!-- Allows an app to schedule a prioritized alarm that can be used to perform background work even when the device is in doze. <p>Not for use by third-party applications. @@ -5249,27 +5548,53 @@ android:protectionLevel="signature|privileged"/> <!-- Allows applications to use exact alarm APIs. - <p>Exact alarms should only be used for user-facing features. - For more details, see <a - href="{@docRoot}about/versions/12/behavior-changes-12#exact-alarm-permission"> - Exact alarm permission</a>. - <p>Apps who hold this permission and target API level 31 or above, always stay in the + <p>This is a special access permission that can be revoked by the system or the user. + It should only be used to enable <b>user-facing features</b> that require exact alarms. + For more details, please go through the associated + <a href="{@docRoot}training/scheduling/alarms#exact">developer docs</a>. + <p>Apps need to target API {@link android.os.Build.VERSION_CODES#S} or above to be able to + request this permission. Note that apps targeting lower API levels do not need this + permission to use exact alarm APIs. + <p>Apps that hold this permission and target API + {@link android.os.Build.VERSION_CODES#TIRAMISU} and below always stay in the {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or lower standby bucket. - Applications targeting API level 30 or below do not need this permission to use - exact alarm APIs. + <p>If your app relies on exact alarms for core functionality, it can instead request + {@link android.Manifest.permission#USE_EXACT_ALARM} once it targets API + {@link android.os.Build.VERSION_CODES#TIRAMISU}. All apps using exact alarms for secondary + features (which should still be user facing) should continue using this permission. + <p>Protection level: signature|privileged|appop --> <permission android:name="android.permission.SCHEDULE_EXACT_ALARM" + android:label="@string/permlab_schedule_exact_alarm" + android:description="@string/permdesc_schedule_exact_alarm" android:protectionLevel="signature|privileged|appop"/> - <!-- Allows apps to use exact alarms just like with SCHEDULE_EXACT_ALARM but without needing - to request this permission from the user. - <p><b>This is only for apps that rely on exact alarms for their core functionality.</b> - App stores may enforce policies to audit and review the use of this permission. Any app that - requests this but is found to not require exact alarms for its primary function may be - removed from the app store. + <!-- Allows apps to use exact alarms just like with {@link + android.Manifest.permission#SCHEDULE_EXACT_ALARM} but without needing to request this + permission from the user. + <p><b> This is only intended for use by apps that rely on exact alarms for their core + functionality.</b> You should continue using {@code SCHEDULE_EXACT_ALARM} if your app needs + exact alarms for a secondary feature that users may or may not use within your app. + <p> Keep in mind that this is a powerful permission and app stores may enforce policies to + audit and review the use of this permission. Such audits may involve removal from the app + store if the app is found to be misusing this permission. + <p> Apps need to target API {@link android.os.Build.VERSION_CODES#TIRAMISU} or above to be + able to request this permission. Note that only one of {@code USE_EXACT_ALARM} or + {@code SCHEDULE_EXACT_ALARM} should be requested on a device. If your app is already using + {@code SCHEDULE_EXACT_ALARM} on older SDKs but needs {@code USE_EXACT_ALARM} on SDK 33 and + above, then {@code SCHEDULE_EXACT_ALARM} should be declared with a max-sdk attribute, like: + <pre> + <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" + 	 android:maxSdkVersion="32" /> + </pre> + <p>Apps that hold this permission, always stay in the + {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_WORKING_SET WORKING_SET} or + lower standby bucket. --> <permission android:name="android.permission.USE_EXACT_ALARM" + android:label="@string/permlab_use_exact_alarm" + android:description="@string/permdesc_use_exact_alarm" android:protectionLevel="normal"/> <!-- Allows an application to query tablet mode state and monitor changes @@ -5360,9 +5685,10 @@ of a session based install. <p>Not for use by third-party applications. @hide + @FlaggedApi("android.content.pm.get_resolved_apk_path") --> <permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" - android:protectionLevel="signature|installer" /> + android:protectionLevel="signature|installer" /> <uses-permission android:name="android.permission.READ_INSTALLED_SESSION_PATHS" /> <!-- Allows an application to use System Data Loaders. @@ -5450,7 +5776,7 @@ <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" android:protectionLevel="signature|privileged|role" /> - <!-- @SystemApi Allows an application to grant specific permissions. + <!-- @SystemApi @TestApi iAllows an application to grant specific permissions. @hide --> <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS" android:protectionLevel="signature|installer|verifier" /> @@ -5472,11 +5798,11 @@ <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS" android:protectionLevel="signature|installer|verifier" /> - <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app - without killing the app. Only granted to the shell. - @hide --> + <!-- @TestApi Allows an application to revoke the POST_NOTIFICATIONS permission from an app + without killing the app. Only granted to the shell. + @hide --> <permission android:name="android.permission.REVOKE_POST_NOTIFICATIONS_WITHOUT_KILL" - android:protectionLevel="signature" /> + android:protectionLevel="signature" /> <!-- @SystemApi Allows the system to read runtime permission state. @hide --> @@ -5490,7 +5816,7 @@ <permission android:name="android.permission.RESTORE_RUNTIME_PERMISSIONS" android:protectionLevel="signature" /> - <!-- @SystemApi Allows an application to change policy_fixed permissions. + <!-- @SystemApi @TestApi Allows an application to change policy_fixed permissions. @hide --> <permission android:name="android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY" android:protectionLevel="signature|installer" /> @@ -5501,7 +5827,7 @@ android:protectionLevel="signature" /> <!-- @SystemApi Allows an application to allowlist restricted permissions - on any of the whitelists. + on any of the allowlists. @hide --> <permission android:name="android.permission.WHITELIST_RESTRICTED_PERMISSIONS" android:protectionLevel="signature|installer" /> @@ -5524,7 +5850,8 @@ <!-- @SystemApi Allows an application to manage the holders of a role. @hide --> <permission android:name="android.permission.MANAGE_ROLE_HOLDERS" - android:protectionLevel="signature|installer" /> + android:protectionLevel="signature|installer|module" /> + <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" /> <!-- @SystemApi Allows an application to manage the holders of roles associated with default applications. @@ -5544,28 +5871,41 @@ <!-- @SystemApi Allows an application to observe role holder changes. @hide --> <permission android:name="android.permission.OBSERVE_ROLE_HOLDERS" - android:protectionLevel="signature|installer" /> + android:protectionLevel="signature|installer|module" /> <!-- Allows an application to manage the companion devices. @hide --> <permission android:name="android.permission.MANAGE_COMPANION_DEVICES" - android:protectionLevel="signature|role|module" /> + android:protectionLevel="module|signature|role" /> <!-- Allows an application to subscribe to notifications about the presence status change of their associated companion device --> <permission android:name="android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE" + android:label="@string/permlab_observeCompanionDevicePresence" + android:description="@string/permdesc_observeCompanionDevicePresence" android:protectionLevel="normal" /> + <!-- Allows an application to subscribe to notifications about the nearby devices' presence + status change base on the UUIDs. + <p>Not for use by third-party applications.</p> + @FlaggedApi("android.companion.flags.device_presence") + --> + <permission android:name="android.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE" + android:protectionLevel="signature|privileged" /> + <!-- Allows an application to deliver companion messages to system --> <permission android:name="android.permission.DELIVER_COMPANION_MESSAGES" + android:label="@string/permlab_deliverCompanionMessages" + android:description="@string/permdesc_deliverCompanionMessages" android:protectionLevel="normal" /> - <!-- @SystemApi Allows an application to send and receive messages via CDM transports. - @hide --> + <!-- @hide @FlaggedApi("android.companion.flags.companion_transport_apis") + Allows an application to send and receive messages via CDM transports. + --> <permission android:name="android.permission.USE_COMPANION_TRANSPORTS" - android:protectionLevel="signature|module" /> + android:protectionLevel="signature" /> <!-- Allows an application to create new companion device associations. @SystemApi @@ -5588,7 +5928,7 @@ <permission android:name="android.permission.ROTATE_SURFACE_FLINGER" android:protectionLevel="signature|recents" /> - <!-- @SystemApi Allows an application to provide hints to SurfaceFlinger that can influence + <!-- Allows an application to provide hints to SurfaceFlinger that can influence its wakes up time to compose the next frame. This is a subset of the capabilities granted by {@link #ACCESS_SURFACE_FLINGER}. <p>Not for use by third-party applications. @@ -5605,6 +5945,13 @@ <permission android:name="android.permission.READ_FRAME_BUFFER" android:protectionLevel="signature|recents" /> + <!-- Allows an application to change the touch mode state. + Without this permission, an app can only change the touch mode + if it currently has focus. + @hide --> + <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE" + android:protectionLevel="signature" /> + <!-- Allows an application to use InputFlinger's low level features. @hide --> <permission android:name="android.permission.ACCESS_INPUT_FLINGER" @@ -5617,12 +5964,10 @@ <permission android:name="android.permission.DISABLE_INPUT_DEVICE" android:protectionLevel="signature" /> - <!-- Allows an application to configure and connect to Wifi displays - @hide - @SystemApi --> + <!-- Allows an application to configure and connect to Wifi displays --> <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" - android:protectionLevel="signature|knownSigner" - android:knownCerts="@array/wifi_known_signers" /> + android:protectionLevel="signature|knownSigner" + android:knownCerts="@array/wifi_known_signers" /> <!-- Allows an application to control low-level features of Wifi displays such as opening an RTSP socket. This permission should only be used @@ -5657,7 +6002,7 @@ <permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" android:protectionLevel="signature|privileged" /> - <!-- Allows an application to collect usage infomation about brightness slider changes. + <!-- Allows an application to collect usage information about brightness slider changes. <p>Not for use by third-party applications.</p> @hide @SystemApi @@ -5802,21 +6147,21 @@ <permission android:name="android.permission.MODIFY_AUDIO_ROUTING" android:protectionLevel="signature|privileged|role" /> - <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing - call. - <p>Not for use by third-party applications.</p> - @hide --> - <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION" - android:protectionLevel="signature|privileged|role" /> - <!--@SystemApi Allows an application to modify system audio settings that shouldn't be - controllable by external apps, such as volume settings or volume behaviors for audio - devices, regardless of their connection status. - <p>Not for use by third-party applications. - @hide --> + controllable by external apps, such as volume settings or volume behaviors for audio + devices, regardless of their connection status. + <p>Not for use by third-party applications. + @hide --> <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED" android:protectionLevel="signature|privileged" /> + <!-- @SystemApi Allows an application to access the uplink and downlink audio of an ongoing + call. + <p>Not for use by third-party applications.</p> + @hide --> + <permission android:name="android.permission.CALL_AUDIO_INTERCEPTION" + android:protectionLevel="signature|privileged|role" /> + <!-- @TestApi Allows an application to query audio related state. @hide --> <permission android:name="android.permission.QUERY_AUDIO_STATE" @@ -5854,7 +6199,7 @@ @hide @removed --> <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" - android:protectionLevel="signature" /> + android:protectionLevel="signature|role" /> <!-- Allows an application to know what content is playing and control its playback. <p>Not for use by third-party applications due to privacy of media consumption</p> --> @@ -5862,9 +6207,9 @@ android:protectionLevel="signature|privileged" /> <!-- Allows an application to control the routing of media apps. - <p>Only for use by role COMPANION_DEVICE_WATCH</p> - @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") - --> + <p>Only for use by role COMPANION_DEVICE_WATCH</p> + @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") + --> <permission android:name="android.permission.MEDIA_ROUTING_CONTROL" android:protectionLevel="signature|appop" /> @@ -5922,7 +6267,7 @@ <!-- @hide @SystemApi Allows an application to manage Low Power Standby settings. <p>Not for use by third-party applications. --> <permission android:name="android.permission.MANAGE_LOW_POWER_STANDBY" - android:protectionLevel="signature|privileged" /> + android:protectionLevel="signature|privileged" /> <!-- @hide @SystemApi Allows an application to request ports to remain open during Low Power Standby. @@ -5986,6 +6331,7 @@ <p>Not for use by third-party applications. --> <permission android:name="android.permission.CALL_PRIVILEGED" android:protectionLevel="signature|privileged" /> + <uses-permission android:name="android.permission.CALL_PRIVILEGED" /> <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide --> <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" @@ -6052,8 +6398,7 @@ <permission android:name="android.permission.CHANGE_APP_IDLE_STATE" android:protectionLevel="signature|privileged" /> - <!-- @hide @TestApi @SystemApi Allows an application to change the estimated launch time - of an app. + <!-- @hide @SystemApi Allows an application to change the estimated launch time of an app. <p>Not for use by third-party applications. --> <permission android:name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE" android:protectionLevel="signature|privileged" /> @@ -6113,11 +6458,6 @@ <permission android:name="android.permission.RECOVER_KEYSTORE" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device. - @hide --> - <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN" - android:protectionLevel="signature|privileged" /> - <!-- Allows a package to launch the secure full-backup confirmation UI. ONLY the system process may hold this permission. @hide --> @@ -6215,8 +6555,8 @@ <permission android:name="android.permission.SET_WALLPAPER_COMPONENT" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows applications to set wallpaper dim amount. - @hide --> + <!-- @SystemApi Allows applications to set the wallpaper dim amount. + @hide. --> <permission android:name="android.permission.SET_WALLPAPER_DIM_AMOUNT" android:protectionLevel="signature|privileged" /> @@ -6416,6 +6756,11 @@ <permission android:name="android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS" android:protectionLevel="signature"/> + <!-- @SystemApi Allows application to verify lockscreen credentials provided by a remote device. + @hide --> + <permission android:name="android.permission.CHECK_REMOTE_LOCKSCREEN" + android:protectionLevel="signature|privileged" /> + <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide --> <permission android:name="android.permission.MANAGE_FINGERPRINT" android:protectionLevel="signature|privileged" /> @@ -6444,7 +6789,15 @@ <!-- Allows the system to control the BiometricDialog (SystemUI). Reserved for the system. @hide --> <permission android:name="android.permission.MANAGE_BIOMETRIC_DIALOG" - android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + + <!-- Allows an application to set the advanced features on BiometricDialog (SystemUI), including + logo, logo description. + <p>Not for use by third-party applications. + @FlaggedApi("android.hardware.biometrics.custom_biometric_prompt") + --> + <permission android:name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED" + android:protectionLevel="signature|privileged" /> <!-- Allows an application to control keyguard. Only allowed for system processes. @hide --> @@ -6579,6 +6932,13 @@ <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" android:protectionLevel="signature" /> + <!-- @hide @TestApi Allows an application to record sensitive content during media + projection. This is intended for on device screen recording system app. + @FlaggedApi("android.permission.flags.sensitive_notification_app_protection") --> + <permission android:name="android.permission.RECORD_SENSITIVE_CONTENT" + android:protectionLevel="signature" + android:featureFlag="android.permission.flags.sensitive_notification_app_protection"/> + <!-- @SystemApi Allows an application to read install sessions @hide This is not a third-party API (intended for system apps). --> <permission android:name="android.permission.READ_INSTALL_SESSIONS" @@ -6755,12 +7115,16 @@ <!-- Allows the holder to read blocked numbers. See {@link android.provider.BlockedNumberContract}. + @SystemApi + @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @hide --> <permission android:name="android.permission.READ_BLOCKED_NUMBERS" android:protectionLevel="signature" /> <!-- Allows the holder to write blocked numbers. See {@link android.provider.BlockedNumberContract}. + @SystemApi + @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @hide --> <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS" android:protectionLevel="signature" /> @@ -6819,6 +7183,11 @@ <permission android:name="android.permission.MANAGE_ROTATION_RESOLVER" android:protectionLevel="signature"/> + <!-- @SystemApi Allows an application to manage the cloudsearch service. + @hide <p>Not for use by third-party applications.</p> --> + <permission android:name="android.permission.MANAGE_CLOUDSEARCH" + android:protectionLevel="signature|privileged|role" /> + <!-- @SystemApi Allows an application to manage the music recognition service. @hide <p>Not for use by third-party applications.</p> --> <permission android:name="android.permission.MANAGE_MUSIC_RECOGNITION" @@ -6829,10 +7198,10 @@ <permission android:name="android.permission.MANAGE_SPEECH_RECOGNITION" android:protectionLevel="signature" /> - <!-- @SystemApi Allows an application to manage the content suggestions service. + <!-- @SystemApi Allows an application to interact with the content suggestions service. @hide <p>Not for use by third-party applications.</p> --> <permission android:name="android.permission.MANAGE_CONTENT_SUGGESTIONS" - android:protectionLevel="signature" /> + android:protectionLevel="signature|role" /> <!-- @SystemApi Allows an application to manage the app predictions service. @hide <p>Not for use by third-party applications.</p> --> @@ -6850,21 +7219,24 @@ android:protectionLevel="signature" /> <!-- @SystemApi Allows an application to access the smartspace service as a client. + @FlaggedApi(android.app.smartspace.flags.Flags.FLAG_ACCESS_SMARTSPACE) @hide <p>Not for use by third-party applications.</p> --> <permission android:name="android.permission.ACCESS_SMARTSPACE" android:protectionLevel="signature|privileged|development" /> + <!-- @SystemApi Allows an application to access the contextual search + service as a client. + @hide <p>Not for use by third-party applications.</p> --> + <permission android:name="android.permission.ACCESS_CONTEXTUAL_SEARCH" + android:protectionLevel="signature|privileged" + android:featureFlag="android.app.contextualsearch.flags.enable_service"/> + <!-- @SystemApi Allows an application to manage the wallpaper effects - generation service. - @hide <p>Not for use by third-party applications.</p> --> + generation service. + @hide <p>Not for use by third-party applications.</p> --> <permission android:name="android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows an application to manage the cloudsearch service. - @hide <p>Not for use by third-party applications.</p> --> - <permission android:name="android.permission.MANAGE_CLOUDSEARCH" - android:protectionLevel="signature|privileged|role" /> - <!-- Allows an app to set the theme overlay in /vendor/overlay being used. @hide <p>Not for use by third-party applications.</p> --> @@ -6890,6 +7262,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" + android:description="@string/permdesc_foregroundServiceCamera" + android:label="@string/permlab_foregroundServiceCamera" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6897,6 +7271,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" + android:description="@string/permdesc_foregroundServiceConnectedDevice" + android:label="@string/permlab_foregroundServiceConnectedDevice" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6904,6 +7280,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" + android:description="@string/permdesc_foregroundServiceDataSync" + android:label="@string/permlab_foregroundServiceDataSync" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6911,6 +7289,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" + android:description="@string/permdesc_foregroundServiceLocation" + android:label="@string/permlab_foregroundServiceLocation" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6918,6 +7298,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" + android:description="@string/permdesc_foregroundServiceMediaPlayback" + android:label="@string/permlab_foregroundServiceMediaPlayback" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6925,6 +7307,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" + android:description="@string/permdesc_foregroundServiceMediaProjection" + android:label="@string/permlab_foregroundServiceMediaProjection" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6932,6 +7316,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" + android:description="@string/permdesc_foregroundServiceMicrophone" + android:label="@string/permlab_foregroundServiceMicrophone" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6939,6 +7325,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" + android:description="@string/permdesc_foregroundServicePhoneCall" + android:label="@string/permlab_foregroundServicePhoneCall" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6946,6 +7334,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH" + android:description="@string/permdesc_foregroundServiceHealth" + android:label="@string/permlab_foregroundServiceHealth" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6953,6 +7343,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" + android:description="@string/permdesc_foregroundServiceRemoteMessaging" + android:label="@string/permlab_foregroundServiceRemoteMessaging" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6962,6 +7354,8 @@ <p>Protection level: normal|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" + android:description="@string/permdesc_foregroundServiceSystemExempted" + android:label="@string/permlab_foregroundServiceSystemExempted" android:protectionLevel="normal|instant" /> <!-- Allows a regular application to use {@link android.app.Service#startForeground @@ -6974,11 +7368,23 @@ android:label="@string/permlab_foregroundServiceFileManagement" android:protectionLevel="normal|instant" /> + <!-- @FlaggedApi("android.content.pm.introduce_media_processing_type") + Allows a regular application to use {@link android.app.Service#startForeground + Service.startForeground} with the type "mediaProcessing". + <p>Protection level: normal|instant + --> + <permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROCESSING" + android:description="@string/permdesc_foregroundServiceMediaProcessing" + android:label="@string/permlab_foregroundServiceMediaProcessing" + android:protectionLevel="normal|instant" /> + <!-- Allows a regular application to use {@link android.app.Service#startForeground Service.startForeground} with the type "specialUse". <p>Protection level: normal|appop|instant --> <permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" + android:description="@string/permdesc_foregroundServiceSpecialUse" + android:label="@string/permlab_foregroundServiceSpecialUse" android:protectionLevel="normal|appop|instant" /> <!-- @SystemApi Allows to access all app shortcuts. @@ -7073,17 +7479,11 @@ android:protectionLevel="signature" /> <!-- @SystemApi Allows modifying accessibility state. + <p> The only approved role for this permission is COMPANION_DEVICE_APP_STREAMING. @hide --> <permission android:name="android.permission.MANAGE_ACCESSIBILITY" android:protectionLevel="signature|setup|recents|role" /> - <!-- @FlaggedApi("com.android.server.accessibility.motion_event_observing") - @hide - @TestApi - Allows an accessibility service to observe motion events without consuming them. --> - <permission android:name="android.permission.ACCESSIBILITY_MOTION_EVENT_OBSERVING" - android:protectionLevel="signature" /> - <!-- @SystemApi Allows an app to grant a profile owner access to device identifiers. <p>Not for use by third-party applications. @deprecated @@ -7121,16 +7521,6 @@ <permission android:name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO" android:protectionLevel="signature|privileged|appop" /> - <!-- @SystemApi Required for the privileged assistant apps targeting - {@link android.os.Build.VERSION_CODES#VANILLA_ICE_CREAM} - that receive training data from a sandboxed {@link HotwordDetectionService} or - {@link VisualQueryDetectionService}. - <p>Protection level: internal|appop - @FlaggedApi("android.permission.flags.voice_activation_permission_apis") - @hide --> - <permission android:name="android.permission.RECEIVE_SANDBOXED_DETECTION_TRAINING_DATA" - android:protectionLevel="internal|appop" /> - <!-- @SystemApi Allows requesting the framework broadcast the {@link Intent#ACTION_DEVICE_CUSTOMIZATION_READY} intent. @hide --> @@ -7198,8 +7588,8 @@ <!-- Allows input events to be monitored. Very dangerous! @hide --> <permission android:name="android.permission.MONITOR_INPUT" android:protectionLevel="signature|recents" /> - <!-- Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the current - window to the window where the touch currently is on top of. @hide --> + <!-- @SystemApi Allows the use of FLAG_SLIPPERY, which permits touch events to slip from the + current window to the window where the touch currently is on top of. @hide --> <permission android:name="android.permission.ALLOW_SLIPPERY_TOUCHES" android:protectionLevel="signature|privileged|recents|role" /> <!-- Allows the caller to change the associations between input devices and displays. @@ -7261,6 +7651,11 @@ <permission android:name="android.permission.RESET_APP_ERRORS" android:protectionLevel="signature" /> + <!-- @hide Allows ThemeOverlayController to delay launch of Home / SetupWizard on boot, ensuring + Theme Palettes and Colors are ready --> + <permission android:name="android.permission.SET_THEME_OVERLAY_CONTROLLER_READY" + android:protectionLevel="signature|setup" /> + <!-- @hide Allows an application to create/destroy input consumer. --> <permission android:name="android.permission.INPUT_CONSUMER" android:protectionLevel="signature" /> @@ -7290,38 +7685,34 @@ <permission android:name="android.permission.MANAGE_GAME_MODE" android:protectionLevel="signature|privileged" /> + <!-- @TestApi Allows setting the game service provider, meant for tests only. + @hide --> + <permission android:name="android.permission.SET_GAME_SERVICE" + android:protectionLevel="signature" /> + <!-- @SystemApi Allows accessing the frame rate per second of a given application - @hide --> + @hide --> <permission android:name="android.permission.ACCESS_FPS_COUNTER" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows managing the GameService APIs - @hide --> + <!-- @SystemApi Allows the GameService provider to create GameSession and call GameSession + APIs and overlay a view on top of the game's Activity. + @hide --> <permission android:name="android.permission.MANAGE_GAME_ACTIVITY" android:protectionLevel="signature|privileged" /> - <!-- Allows managing the Game service - @hide @TestApi Used only for testing. --> - <permission android:name="android.permission.SET_GAME_SERVICE" - android:protectionLevel="signature" /> - <!-- @SystemApi Allows the holder to register callbacks to inform the RebootReadinessManager when they are performing reboot-blocking work. @hide --> <permission android:name="android.permission.SIGNAL_REBOOT_READINESS" android:protectionLevel="signature|privileged" /> - <!-- @SystemApi Allows an application to change the touch mode state. - @hide --> - <permission android:name="android.permission.MODIFY_TOUCH_MODE_STATE" - android:protectionLevel="signature" /> - <!-- @SystemApi Allows the holder to launch an Intent Resolver flow with custom presentation and/or targets. - @FlaggedApi("android.service.chooser.support_nfc_resolver") + @FlaggedApi("android.nfc.enable_nfc_mainline") @hide --> <permission android:name="android.permission.SHOW_CUSTOMIZED_RESOLVER" - android:protectionLevel="signature|privileged" /> + android:protectionLevel="signature|privileged" /> <!-- @hide Allows an application to get a People Tile preview for a given shortcut. --> <permission android:name="android.permission.GET_PEOPLE_TILE_PREVIEW" @@ -7339,7 +7730,10 @@ android:protectionLevel="signature|privileged" /> <!-- Allows an application to read nearby streaming policy. The policy controls - whether to allow the device to stream its notifications and apps to nearby devices. --> + whether to allow the device to stream its notifications and apps to nearby devices. + Applications that are not the device owner will need this permission to call + {@link android.app.admin.DevicePolicyManager#getNearbyNotificationStreamingPolicy} or + {@link android.app.admin.DevicePolicyManager#getNearbyAppStreamingPolicy}. --> <permission android:name="android.permission.READ_NEARBY_STREAMING_POLICY" android:protectionLevel="normal" /> @@ -7375,6 +7769,7 @@ android:protectionLevel="normal" /> <uses-permission android:name="android.permission.ENFORCE_UPDATE_OWNERSHIP" /> + <!-- Allows an application to take screenshots of layers that normally would be blacked out when a screenshot is taken. Specifically, layers that have the flag {@link android.view.SurfaceControl#SECURE} will be screenshot if the caller requests to @@ -7385,16 +7780,8 @@ <permission android:name="android.permission.CAPTURE_BLACKOUT_CONTENT" android:protectionLevel="signature" /> - <!-- Allows read only access to phone state with a non dangerous permission, - including the information like cellular network type, software version. --> - <permission android:name="android.permission.READ_BASIC_PHONE_STATE" - android:permissionGroup="android.permission-group.UNDEFINED" - android:label="@string/permlab_readBasicPhoneState" - android:description="@string/permdesc_readBasicPhoneState" - android:protectionLevel="normal" /> - <!-- @SystemApi Allows an application to query over global data in AppSearch. - @hide --> + @hide --> <permission android:name="android.permission.READ_GLOBAL_APP_SEARCH_DATA" android:protectionLevel="internal|role" /> @@ -7465,6 +7852,19 @@ <permission android:name="android.permission.MANAGE_SAFETY_CENTER" android:protectionLevel="internal|installer|role" /> + <!-- @SystemApi Allows an application to access the AmbientContextEvent service. + @hide + --> + <permission android:name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT" + android:protectionLevel="signature|privileged|role"/> + + <!-- @SystemApi Required by a AmbientContextEventDetectionService + to ensure that only the service with this permission can bind to it. + @hide + --> + <permission android:name="android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE" + android:protectionLevel="signature" /> + <!-- @SystemApi Allows an app to set keep-clear areas without restrictions on the size or number of keep-clear areas (see {@link android.view.View#setPreferKeepClearRects}). When the system arranges floating windows onscreen, it might decide to ignore keep-clear @@ -7481,9 +7881,23 @@ <permission android:name="android.permission.SET_UNRESTRICTED_GESTURE_EXCLUSION" android:protectionLevel="signature|privileged|recents" /> + <!-- @SystemApi Allows TV input apps and TV apps to use TIS extension interfaces for + domain-specific features. + <p>Protection level: signature|privileged|vendorPrivileged + <p>Not for use by third-party applications. + @hide + --> + <permission android:name="android.permission.TIS_EXTENSION_INTERFACE" + android:protectionLevel="signature|privileged|vendorPrivileged" /> + + <!-- @SystemApi Allows an application to write to the security log buffer in logd. + @hide --> + <permission android:name="android.permission.WRITE_SECURITY_LOG" + android:protectionLevel="signature|privileged" /> + <!-- Allows an UID to be visible to the application based on an interaction between the two apps. This permission is not intended to be held by apps. - @hide @TestApi --> + @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) --> <permission android:name="android.permission.MAKE_UID_VISIBLE" android:protectionLevel="signature" /> @@ -7491,75 +7905,91 @@ @hide --> <permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" android:protectionLevel="signature" /> + + <!-- Allows low-level access to re-mapping modifier keys. + <p>Not for use by third-party applications. + @hide + @TestApi --> + <permission android:name="android.permission.REMAP_MODIFIER_KEYS" + android:protectionLevel="signature" /> + + <!-- Allows low-level access to monitor keyboard backlight changes. + <p>Not for use by third-party applications. + @hide --> + <permission android:name="android.permission.MONITOR_KEYBOARD_BACKLIGHT" + android:protectionLevel="signature" /> + + <!-- Allows low-level access to monitor sticky modifier state changes when A11Y Sticky keys + feature is enabled. + <p>Not for use by third-party applications. + @hide --> + <permission android:name="android.permission.MONITOR_STICKY_MODIFIER_STATE" + android:protectionLevel="signature" /> + <uses-permission android:name="android.permission.HANDLE_QUERY_PACKAGE_RESTART" /> <!-- Allows financed device kiosk apps to perform actions on the Device Lock service - @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) --> + <p>Protection level: internal|role + <p>Intended for use by the FINANCED_DEVICE_KIOSK role only. + --> <permission android:name="android.permission.MANAGE_DEVICE_LOCK_STATE" android:protectionLevel="internal|role" /> - <!-- Allows an app to turn on the screen on, e.g. with - {@link android.os.PowerManager#ACQUIRE_CAUSES_WAKEUP}. - <p>Intended to only be used by home automation apps. + <!-- @SystemApi Required by a WearableSensingService to + ensure that only the caller with this permission can bind to it. + <p> Protection level: signature + @hide --> - <permission android:name="android.permission.TURN_SCREEN_ON" - android:label="@string/permlab_turnScreenOn" - android:description="@string/permdesc_turnScreenOn" - android:protectionLevel="signature|privileged|appop" /> + <permission android:name="android.permission.BIND_WEARABLE_SENSING_SERVICE" + android:protectionLevel="signature" /> - <!-- Allows applications to use the user-initiated jobs API. For more details - see {@link android.app.job.JobInfo.Builder#setUserInitiated}. - <p>Protection level: normal - --> - <permission android:name="android.permission.RUN_USER_INITIATED_JOBS" - android:protectionLevel="normal"/> + <!-- @SystemApi Allows an app to manage the wearable sensing service. + <p>Protection level: signature|privileged + @hide + --> + <permission android:name="android.permission.MANAGE_WEARABLE_SENSING_SERVICE" + android:protectionLevel="signature|privileged" /> - <!-- Allows a browser to invoke the set of credential candidate query apis. - <p>Protection level: normal - --> - <permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS" - android:protectionLevel="normal" /> + <!-- @SystemApi Allows an app to use the on-device intelligence service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.USE_ON_DEVICE_INTELLIGENCE" + android:protectionLevel="signature|privileged" /> - <!-- Allows browsers to call on behalf of another app by passing in a custom origin. - <p>Protection level: normal - --> - <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN" - android:protectionLevel="normal"/> - - <!-- Allows specifying candidate credential providers to be queried in Credential Manager - get flows, or to be preferred as a default in the Credential Manager create flows. - <p>Protection level: normal --> - <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS" - android:protectionLevel="normal"/> - <!-- Allows permission to use Credential Manager UI for providing and saving credentials - @hide --> - <permission android:name="android.permission.LAUNCH_CREDENTIAL_SELECTOR" - android:protectionLevel="signature" /> + <!-- @SystemApi Allows an app to bind the on-device intelligence service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE" + android:protectionLevel="signature|privileged" /> - <!-- Allows an app to list Credential Manager providers. - @hide - --> - <permission android:name="android.permission.LIST_ENABLED_CREDENTIAL_PROVIDERS" - android:protectionLevel="signature|privileged"/> - <!-- Allows a system application to be registered with credential manager without - having to be enabled by the user. - @SystemApi - @hide --> - <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE" - android:protectionLevel="signature|privileged" /> + <!-- @SystemApi Allows an app to bind the on-device sandboxed service. + <p>Protection level: signature|privileged + @hide + @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") + --> + <permission android:name="android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE" + android:protectionLevel="signature"/> - <!-- Allows an application to be able to store and retrieve credentials from a remote - device. --> - <permission android:name="android.permission.PROVIDE_REMOTE_CREDENTIALS" - android:protectionLevel="signature|privileged|role" /> + + <!-- Allows applications to use the user-initiated jobs API. For more details + see {@link android.app.job.JobInfo.Builder#setUserInitiated}. + <p>Protection level: normal + --> + <permission android:name="android.permission.RUN_USER_INITIATED_JOBS" + android:protectionLevel="normal"/> <!-- Allows an app access to the installer provided app metadata. @SystemApi - @hide --> + @hide + --> <permission android:name="android.permission.GET_APP_METADATA" - android:protectionLevel="signature|installer" /> + android:protectionLevel="signature|installer|verifier" /> <!-- @hide @SystemApi Allows an application to stage HealthConnect's remote data so that HealthConnect can later integrate it. --> @@ -7572,15 +8002,15 @@ <permission android:name="android.permission.DELETE_STAGED_HEALTH_CONNECT_REMOTE_DATA" android:protectionLevel="signature" /> - <!-- @hide @TestApi Allows CTS tests running in Sandbox mode to launch activities --> + <!-- @hide @TestApi Allows tests running in CTS-in-sandbox mode to launch activities --> <permission android:name="android.permission.START_ACTIVITIES_FROM_SDK_SANDBOX" android:protectionLevel="signature" /> <!-- @SystemApi Allows the holder to call health connect migration APIs. - @hide --> + @hide --> <permission android:name="android.permission.MIGRATE_HEALTH_CONNECT_DATA" - android:protectionLevel="signature|knownSigner" - android:knownCerts="@array/config_healthConnectMigrationKnownSigners" /> + android:protectionLevel="signature|knownSigner" + android:knownCerts="@array/config_healthConnectMigrationKnownSigners" /> <!-- @SystemApi Allows an app to query apps in clone profile. The permission is bidirectional in nature, i.e. cloned apps would be able to query apps in root user. @@ -7623,6 +8053,7 @@ <permission android:name="android.permission.GET_ANY_PROVIDER_TYPE" android:protectionLevel="signature" /> + <!-- @hide Allows internal applications to read and synchronize non-core flags. Apps without this permission can only read a subset of flags specifically intended for use in "core", (i.e. third party apps). Apps with this permission can define their @@ -7631,14 +8062,14 @@ <p>Protection level: signature --> <permission android:name="android.permission.SYNC_FLAGS" - android:protectionLevel="signature" /> + android:protectionLevel="signature" /> <!-- @hide Allows internal applications to override flags in the FeatureFlags service. <p>Not for use by third-party applications. <p>Protection level: signature --> <permission android:name="android.permission.WRITE_FLAGS" - android:protectionLevel="signature" /> + android:protectionLevel="signature" /> <!-- @hide @SystemApi @FlaggedApi("android.app.get_binding_uid_importance") @@ -7650,22 +8081,14 @@ android:protectionLevel="signature|privileged" /> <!-- @hide Allows internal applications to manage displays. - <p>This means intercept internal signals about displays being (dis-)connected - and being able to enable or disable connected displays. - <p>Not for use by third-party applications. - <p>Protection level: signature + <p>This means intercept internal signals about displays being (dis-)connected + and being able to enable or disable the external displays. + <p>Not for use by third-party applications. + <p>Protection level: signature --> <permission android:name="android.permission.MANAGE_DISPLAYS" android:protectionLevel="signature" /> - <!-- @SystemApi Allows apps to reset hotword training data egress count for testing. - <p>CTS tests will use UiAutomation.AdoptShellPermissionIdentity() to gain access. - <p>Protection level: signature - @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") - @hide --> - <permission android:name="android.permission.RESET_HOTWORD_TRAINING_DATA_EGRESS_COUNT" - android:protectionLevel="signature" /> - <!-- @SystemApi Allows an app to track all preparations for a complete factory reset. <p>Protection level: signature|privileged @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis") @@ -7689,6 +8112,73 @@ <permission android:name="android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW" android:protectionLevel="signature|privileged" /> + <!-- Allows internal applications to restrict display modes + <p>Protection level: signature + @FlaggedApi("com.android.server.display.feature.flags.enable_restrict_display_modes") + @hide + --> + <permission android:name="android.permission.RESTRICT_DISPLAY_MODES" + android:protectionLevel="signature" /> + + <!-- @hide @SystemApi + @FlaggedApi("com.android.server.notification.flags.redact_otp_notifications_from_untrusted_listeners") + Allows apps with a NotificationListenerService to receive notifications with sensitive + information + <p>Apps with a NotificationListenerService without this permission will not be able + to view certain types of sensitive information contained in notifications + <p>Protection level: signature|role + --> + <permission android:name="android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS" + android:protectionLevel="signature|role" /> + + <!-- @SystemApi + @FlaggedApi("android.app.bic_client") + Allows app to call BackgroundInstallControlManager API to retrieve silently installed apps + for all users on device. + <p>Apps with a BackgroundInstallControlManager client will not be able to call any API without + this permission. + <p>Protection level: signature|role + @hide + --> + <permission android:name="android.permission.GET_BACKGROUND_INSTALLED_PACKAGES" + android:protectionLevel="signature|role" /> + + <!-- @SystemApi Allows an application to read the system grammatical gender. + @FlaggedApi("android.app.system_terms_of_address_enabled") + <p>Protection level: signature|privileged + @hide + --> + <permission android:name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER" + android:protectionLevel="signature|privileged"/> + + <!-- @SystemApi + @FlaggedApi("android.content.pm.emergency_install_permission") + Allows each app store in the system image to designate another app in the system image to + update the app store + <p>Protection level: signature|privileged + @hide + --> + <permission android:name="android.permission.EMERGENCY_INSTALL_PACKAGES" + android:protectionLevel="signature|privileged"/> + + <!-- Allows internal applications to override screen timeout temporarily + <p>Protection level: signature + <p>Not for use by third-party applications. + @FlaggedApi("com.android.server.power.feature.flags.enable_early_screen_timeout_detector") + @hide + --> + <permission android:name="android.permission.SCREEN_TIMEOUT_OVERRIDE" + android:protectionLevel="signature" /> + + <!-- @SystemApi + @FlaggedApi("android.security.fsverity_api") + Allows app to setup fs-verity through FileIntegrityManager. + <p>Protection level: signature|privileged + @hide + --> + <permission android:name="android.permission.SETUP_FSVERITY" + android:protectionLevel="signature|privileged"/> + <!-- Attribution for Geofencing service. --> <attribution android:tag="GeofencingService" android:label="@string/geofencing_service"/> <!-- Attribution for Country Detector. --> @@ -7709,6 +8199,9 @@ <p>Not for use by third-party applications.</p> --> <attribution android:tag="MusicRecognitionManagerService" android:label="@string/music_recognition_manager_service"/> + <!-- Attribution for Device Policy Manager service. --> + <attribution android:tag="DevicePolicyManagerService" + android:label="@string/device_policy_manager_service"/> <application android:process="system" android:persistent="true" @@ -7723,22 +8216,6 @@ android:defaultToDeviceProtectedStorage="true" android:forceQueryable="true" android:directBootAware="true"> - <activity android:name="com.android.internal.app.ChooserActivity" - android:theme="@style/Theme.DeviceDefault.Chooser" - android:finishOnCloseSystemDialogs="true" - android:excludeFromRecents="true" - android:documentLaunchMode="never" - android:relinquishTaskIdentity="true" - android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden" - android:process=":ui" - android:exported="true" - android:visibleToInstantApps="true"> - <intent-filter android:priority="100"> - <action android:name="android.intent.action.CHOOSER" /> - <category android:name="android.intent.category.DEFAULT" /> - <category android:name="android.intent.category.VOICE" /> - </intent-filter> - </activity> <activity android:name="com.android.internal.accessibility.dialog.AccessibilityShortcutChooserActivity" android:exported="false" android:theme="@style/Theme.DeviceDefault.Dialog.Alert.DayNight" @@ -7768,10 +8245,25 @@ <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> + <activity android:name="com.android.internal.app.NfcResolverActivity" + android:theme="@style/Theme.Dialog.Alert" + android:finishOnCloseSystemDialogs="true" + android:excludeFromRecents="true" + android:multiprocess="true" + android:permission="android.permission.SHOW_CUSTOMIZED_RESOLVER" + android:exported="true"> + <intent-filter android:priority="100" > + <action android:name="android.nfc.action.SHOW_NFC_RESOLVER" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> <activity android:name="com.android.internal.app.IntentForwarderActivity" android:finishOnCloseSystemDialogs="true" - android:theme="@style/Theme.Translucent.NoTitleBar" + android:theme="@style/Theme.DeviceDefault.Resolver" android:excludeFromRecents="true" + android:documentLaunchMode="never" + android:relinquishTaskIdentity="true" + android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden" android:label="@string/user_owner_label" android:exported="true" android:visibleToInstantApps="true" @@ -7796,8 +8288,9 @@ android:process=":ui"> </activity> <activity android:name="com.android.internal.app.PlatLogoActivity" - android:theme="@style/Theme.DeviceDefault.Wallpaper.NoTitleBar" + android:theme="@style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|screenSize|screenLayout|keyboardHidden" + android:enableOnBackInvokedCallback="true" android:icon="@drawable/platlogo" android:process=":ui"> </activity> @@ -7869,12 +8362,6 @@ </intent-filter> </activity> - <activity android:name="com.android.internal.app.NetInitiatedActivity" - android:theme="@style/Theme.Dialog.Confirmation" - android:excludeFromRecents="true" - android:process=":ui"> - </activity> - <activity android:name="com.android.internal.app.SystemUserHomeActivity" android:enabled="false" android:process=":ui" @@ -7912,6 +8399,12 @@ android:process=":ui"> </activity> + <activity android:name="com.android.internal.app.SetScreenLockDialogActivity" + android:theme="@style/Theme.Dialog.Confirmation" + android:excludeFromRecents="true" + android:process=":ui"> + </activity> + <activity android:name="com.android.internal.app.BlockedAppActivity" android:theme="@style/Theme.Dialog.Confirmation" android:excludeFromRecents="true" @@ -7919,6 +8412,12 @@ android:process=":ui"> </activity> + <activity android:name="com.android.internal.app.BlockedAppStreamingActivity" + android:theme="@style/Theme.Dialog.Confirmation" + android:excludeFromRecents="true" + android:process=":ui"> + </activity> + <activity android:name="com.android.internal.app.LaunchAfterAuthenticationActivity" android:theme="@style/Theme.Translucent.NoTitleBar" android:excludeFromRecents="true" @@ -7944,6 +8443,13 @@ android:exported="false"> </activity> + <activity android:name="android.service.games.GameSessionTrampolineActivity" + android:excludeFromRecents="true" + android:exported="true" + android:permission="android.permission.MANAGE_GAME_ACTIVITY" + android:theme="@style/Theme.GameSessionTrampoline"> + </activity> + <receiver android:name="com.android.server.BootReceiver" android:exported="true" android:systemUserOnly="true"> @@ -8085,6 +8591,16 @@ </intent-filter> </receiver> + <!-- Broadcast Receiver listens to sufficient verifier broadcast from Package Manager + when installing new SDK. Verification of SDK code during installation time is run + to determine compatibility with privacy sandbox restrictions. --> + <receiver android:name="com.android.server.sdksandbox.SdkSandboxVerifierReceiver" + android:exported="false"> + <intent-filter> + <action android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION"/> + </intent-filter> + </receiver> + <service android:name="android.hardware.location.GeofenceHardwareService" android:permission="android.permission.LOCATION_HARDWARE" android:exported="false" /> @@ -8094,6 +8610,11 @@ android:permission="android.permission.BIND_JOB_SERVICE" > </service> + <service android:name="com.android.server.SmartStorageMaintIdler" + android:exported="true" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + <service android:name="com.android.server.ZramWriteback" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE" > @@ -8121,6 +8642,18 @@ android:permission="android.permission.BIND_JOB_SERVICE"> </service> + <service android:name="com.android.server.selinux.SelinuxAuditLogsService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.compos.IsolatedCompilationJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.system.virtualmachine.SecretkeeperJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + <service android:name="com.android.server.PruneInstantAppsJobService" android:permission="android.permission.BIND_JOB_SERVICE" > </service> @@ -8157,6 +8690,10 @@ android:permission="android.permission.BIND_JOB_SERVICE" > </service> + <service android:name="com.android.server.pm.GentleUpdateHelper$Service" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + <service android:name="com.android.server.autofill.AutofillCompatAccessibilityService" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" @@ -8171,6 +8708,42 @@ android:permission="android.permission.BIND_JOB_SERVICE"> </service> + <service android:name="com.android.server.companion.association.InactiveAssociationsRemovalService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.appsearch.contactsindexer.ContactsIndexerMaintenanceService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.BinaryTransparencyService$UpdateMeasurementsJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.notification.ReviewNotificationPermissionsJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.notification.NotificationHistoryJobService" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + + <service android:name="com.android.server.notification.NotificationBitmapJobService" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + + <service android:name="com.android.server.healthconnect.HealthConnectDailyService" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + + <service android:name="com.android.server.healthconnect.migration.MigrationBroadcastJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + + <service android:name="com.android.server.healthconnect.backuprestore.BackupRestore$BackupRestoreJobService" + android:permission="android.permission.BIND_JOB_SERVICE"> + </service> + <service android:name="com.android.server.pm.PackageManagerShellCommandDataLoader" android:exported="false"> <intent-filter> @@ -8178,6 +8751,38 @@ </intent-filter> </service> + <!-- TODO: Move to ExtServices or relevant component. --> + <service android:name="android.service.selectiontoolbar.DefaultSelectionToolbarRenderService" + android:permission="android.permission.BIND_SELECTION_TOOLBAR_RENDER_SERVICE" + android:process=":ui" + android:exported="false"> + <intent-filter> + <action android:name="android.service.selectiontoolbar.SelectionToolbarRenderService"/> + </intent-filter> + </service> + + <service android:name="com.android.server.art.BackgroundDexoptJobService" + android:permission="android.permission.BIND_JOB_SERVICE" > + </service> + + <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncInCallService" + android:permission="android.permission.BIND_INCALL_SERVICE" + android:exported="true"> + <meta-data android:name="android.telecom.INCLUDE_SELF_MANAGED_CALLS" + android:value="true" /> + <intent-filter> + <action android:name="android.telecom.InCallService"/> + </intent-filter> + </service> + + <service android:name="com.android.server.companion.datatransfer.contextsync.CallMetadataSyncConnectionService" + android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" + android:exported="true"> + <intent-filter> + <action android:name="android.telecom.ConnectionService"/> + </intent-filter> + </service> + <provider android:name="com.android.server.textclassifier.IconsContentProvider" android:authorities="com.android.textclassifier.icons" @@ -8186,6 +8791,10 @@ android:exported="true"> </provider> + <meta-data + android:name="com.android.server.patch.25239169" + android:value="true" /> + </application> </manifest> diff --git a/tests/cts/permissionpolicy/res/raw/automotive_android_manifest.xml b/tests/cts/permissionpolicy/res/raw/automotive_android_manifest.xml index dcd8ec4bd..783cd7f6b 100644 --- a/tests/cts/permissionpolicy/res/raw/automotive_android_manifest.xml +++ b/tests/cts/permissionpolicy/res/raw/automotive_android_manifest.xml @@ -206,6 +206,42 @@ android:protectionLevel="signature|privileged" android:label="@string/car_permission_label_control_car_powertrain" android:description="@string/car_permission_desc_control_car_powertrain"/> + <permission android:name="android.car.permission.READ_CAR_SEAT_BELTS" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_car_seat_belts" + android:description="@string/car_permission_desc_read_car_seat_belts"/> + <permission android:name="android.car.permission.CONTROL_CAR_DYNAMICS_STATE" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_control_car_dynamics_state" + android:description="@string/car_permission_desc_control_car_dynamics_state"/> + <permission android:name="android.car.permission.READ_IMPACT_SENSORS" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_impact_sensors" + android:description="@string/car_permission_desc_read_impact_sensors"/> + <permission android:name="android.car.permission.READ_HEAD_UP_DISPLAY_STATUS" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_head_up_display_status" + android:description="@string/car_permission_desc_read_head_up_display_status"/> + <permission android:name="android.car.permission.CONTROL_HEAD_UP_DISPLAY" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_control_head_up_display" + android:description="@string/car_permission_desc_control_head_up_display"/> + <permission android:name="android.car.permission.READ_VALET_MODE" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_valet_mode" + android:description="@string/car_permission_desc_read_valet_mode"/> + <permission android:name="android.car.permission.CONTROL_VALET_MODE" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_control_valet_mode" + android:description="@string/car_permission_desc_control_valet_mode"/> + <permission android:name="android.car.permission.READ_CAR_AIRBAGS" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_car_airbags" + android:description="@string/car_permission_desc_read_car_airbags"/> + <permission android:name="android.car.permission.READ_ULTRASONICS_SENSOR_DATA" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_ultrasonics_sensor_data" + android:description="@string/car_permission_desc_read_ultrasonics_sensor_data"/> <permission android:name="android.car.permission.CAR_NAVIGATION_MANAGER" android:protectionLevel="signature|privileged" android:label="@string/car_permission_car_navigation_manager" @@ -570,8 +606,18 @@ android:protectionLevel="signature|privileged" android:label="@string/car_permission_label_control_windshield_wipers" android:description="@string/car_permission_desc_control_windshield_wipers"/> - <permission android:name="android.car.permission.QUERY_DISPLAY_COMPATIBILITY" + <permission android:name="android.car.permission.MANAGE_DISPLAY_COMPATIBILITY" android:protectionLevel="signature|privileged" - android:label="@string/car_permission_label_query_display_compatibility" - android:description="@string/car_permission_desc_query_display_compatibility"/> + android:label="@string/car_permission_label_manage_display_compatibility" + android:description="@string/car_permission_desc_manage_display_compatibility"/> + <permission + android:name="android.car.permission.READ_PERSIST_TETHERING_SETTINGS" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_read_persist_tethering_settings" + android:description="@string/car_permission_desc_read_persist_tethering_settings" /> + <permission + android:name="android.car.permission.BIND_APP_CARD_PROVIDER" + android:protectionLevel="signature|privileged" + android:label="@string/car_permission_label_bind_app_card_provider" + android:description="@string/car_permission_desc_bind_app_card_provider" /> </manifest> diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/ContactsProviderTest.java b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/ContactsProviderTest.java index d8dc11a14..f34170a9b 100644 --- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/ContactsProviderTest.java +++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/ContactsProviderTest.java @@ -21,7 +21,8 @@ import android.content.ContentValues; import android.platform.test.annotations.AppModeFull; import android.provider.ContactsContract; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify that deprecated contacts permissions are not enforced. diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoCaptureAudioOutputPermissionTest.java b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoCaptureAudioOutputPermissionTest.java index 0f7638694..ef38573ab 100644 --- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoCaptureAudioOutputPermissionTest.java +++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoCaptureAudioOutputPermissionTest.java @@ -21,7 +21,8 @@ import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder.AudioSource; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify the capture system video output permission requirements. diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoReceiveSmsPermissionTest.java b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoReceiveSmsPermissionTest.java index c3a29ccb3..ecd31e620 100644 --- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoReceiveSmsPermissionTest.java +++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/NoReceiveSmsPermissionTest.java @@ -28,10 +28,13 @@ import android.platform.test.annotations.SystemUserOnly; import android.telephony.SmsManager; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyManager; import android.test.AndroidTestCase; import android.text.TextUtils; import android.util.Log; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; @@ -55,6 +58,14 @@ public class NoReceiveSmsPermissionTest extends AndroidTestCase { private static final String LOG_TAG = "NoReceiveSmsPermissionTest"; + // List of carrier-id that does not support loop back messages + // This is copied from + // cts/tests/tests/telephony/current/src/android/telephony/cts/CarrierCapability.java + public static final List<Integer> UNSUPPORT_LOOP_BACK_MESSAGES = + Arrays.asList( + 1 // "T-Mobile - US" + ); + private Semaphore mSemaphore = new Semaphore(0); /** @@ -101,6 +112,11 @@ public class NoReceiveSmsPermissionTest extends AndroidTestCase { return; } + int carrierId = getContext().getSystemService(TelephonyManager.class).getSimCarrierId(); + assertFalse("[RERUN] Carrier [carrier-id: " + carrierId + "] does not support " + + "loop back messages. Use another carrier.", + UNSUPPORT_LOOP_BACK_MESSAGES.contains(carrierId)); + AppSpecificSmsReceiver receiver = new AppSpecificSmsReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(TELEPHONY_SMS_RECEIVED); diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionMaxSdkVersionTest.java b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionMaxSdkVersionTest.java index b02b32f22..8bf3e83a4 100644 --- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionMaxSdkVersionTest.java +++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionMaxSdkVersionTest.java @@ -19,7 +19,8 @@ package android.permission.cts; import android.content.pm.PackageManager; import android.os.Process; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; + +import androidx.test.filters.SmallTest; /** * Verify permission behaviors with android:maxSdkVersion diff --git a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionPolicyTest.java b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionPolicyTest.java index 94bd2be1b..c28b5d560 100644 --- a/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionPolicyTest.java +++ b/tests/cts/permissionpolicy/src/android/permissionpolicy/cts/PermissionPolicyTest.java @@ -19,6 +19,7 @@ package android.permissionpolicy.cts; import static android.content.pm.PermissionInfo.FLAG_INSTALLED; import static android.content.pm.PermissionInfo.PROTECTION_MASK_BASE; import static android.os.Build.VERSION.SECURITY_PATCH; +import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE; import static com.google.common.truth.Truth.assertWithMessage; @@ -32,13 +33,12 @@ import android.content.pm.PermissionInfo; import android.os.Process; import android.os.SystemProperties; import android.platform.test.annotations.AppModeFull; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import android.util.Xml; -import com.android.modules.utils.build.SdkLevel; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -87,6 +87,7 @@ public class PermissionPolicyTest { private static final String ATTR_PERMISSION_FLAGS = "permissionFlags"; private static final String ATTR_PROTECTION_LEVEL = "protectionLevel"; private static final String ATTR_BACKGROUND_PERMISSION = "backgroundPermission"; + private static final String ATTR_FEATURE_FLAG = "featureFlag"; private static final Context sContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); @@ -117,13 +118,17 @@ public class PermissionPolicyTest { declaredGroupsSet.add(declaredGroup.name); } + boolean filterFlaggedPermissions = sContext.getPackageManager() + .getApplicationInfo(PLATFORM_PACKAGE_NAME, 0).minSdkVersion <= UPSIDE_DOWN_CAKE; + Set<String> expectedPermissionGroups = loadExpectedPermissionGroupNames( R.raw.android_manifest); List<ExpectedPermissionInfo> expectedPermissions = loadExpectedPermissions( - R.raw.android_manifest); + R.raw.android_manifest, filterFlaggedPermissions); if (sContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { - expectedPermissions.addAll(loadExpectedPermissions(R.raw.automotive_android_manifest)); + expectedPermissions.addAll(loadExpectedPermissions(R.raw.automotive_android_manifest, + filterFlaggedPermissions)); String carServicePackageName = SystemProperties.get("ro.android.car.carservice.package", null); @@ -301,8 +306,11 @@ public class PermissionPolicyTest { return false; } - private List<ExpectedPermissionInfo> loadExpectedPermissions(int resourceId) throws Exception { + private List<ExpectedPermissionInfo> loadExpectedPermissions(int resourceId, + boolean filterFlaggedPermissions) throws Exception { List<ExpectedPermissionInfo> permissions = new ArrayList<>(); + DeviceFlagsValueProvider flagsValueProvider = new DeviceFlagsValueProvider(); + flagsValueProvider.setUp(); try (InputStream in = sContext.getResources().openRawResource(resourceId)) { XmlPullParser parser = Xml.newPullParser(); parser.setInput(in, null); @@ -315,6 +323,22 @@ public class PermissionPolicyTest { continue; } if (TAG_PERMISSION.equals(parser.getName())) { + if (filterFlaggedPermissions) { + String featureFlag = parser.getAttributeValue(null, ATTR_FEATURE_FLAG); + if (featureFlag != null) { + featureFlag = featureFlag.trim(); + boolean invert = featureFlag.startsWith("!"); + if (invert) { + featureFlag = featureFlag.substring(1).trim(); + } + boolean flagEnabled = + invert != flagsValueProvider.getBoolean(featureFlag); + if (!flagEnabled) { + continue; + } + } + } + ExpectedPermissionInfo permissionInfo = new ExpectedPermissionInfo( parser.getAttributeValue(null, ATTR_NAME), parser.getAttributeValue(null, ATTR_PERMISSION_GROUP), @@ -328,6 +352,8 @@ public class PermissionPolicyTest { Log.e(LOG_TAG, "Unknown tag " + parser.getName()); } } + } finally { + flagsValueProvider.tearDownBeforeTest(); } return permissions; diff --git a/tests/cts/permissionui/Android.bp b/tests/cts/permissionui/Android.bp index 12fdbe533..58f190ae8 100644 --- a/tests/cts/permissionui/Android.bp +++ b/tests/cts/permissionui/Android.bp @@ -25,7 +25,7 @@ android_test { min_sdk_version: "30", srcs: [ "src/**/*.kt", - ":CtsProviderTestUtils", + ":CtsMediaProviderTestUtils", ], static_libs: [ "kotlin-stdlib", @@ -42,6 +42,8 @@ android_test { "CtsAccessibilityCommon", "platform-test-rules", "platform-test-annotations", + "android.content.pm.flags-aconfig-java-export", + "android.permission.flags-aconfig-java", ], data: [ ":CtsPermissionPolicyApp25", @@ -57,6 +59,7 @@ android_test { ":CtsUsePermissionApp30WithBackground", ":CtsUsePermissionApp30WithBluetooth", ":CtsUsePermissionApp31", + ":CtsUsePermissionApp31WithAsl", ":CtsUsePermissionApp32", ":CtsUsePermissionAppLatest", ":CtsUsePermissionAppLatestNone", @@ -69,6 +72,7 @@ android_test { ":CtsUsePermissionAppImplicitUserSelectStorage", ":CtsAppThatAccessesMicAndCameraPermission", ":CtsUsePermissionAppStorage33", + ":CtsAppThatMakesTwoPermRequests", ], test_suites: [ "cts", @@ -77,5 +81,6 @@ android_test { "mts-permission", "automotive-tests", "automotive-general-tests", + "mcts-permission", ], } diff --git a/tests/cts/permissionui/AndroidTest.xml b/tests/cts/permissionui/AndroidTest.xml index eefa0018d..cac0b5737 100644 --- a/tests/cts/permissionui/AndroidTest.xml +++ b/tests/cts/permissionui/AndroidTest.xml @@ -59,6 +59,7 @@ <option name="push" value="CtsUsePermissionApp30WithBackground.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionApp30WithBackground.apk" /> <option name="push" value="CtsUsePermissionApp30WithBluetooth.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionApp30WithBluetooth.apk" /> <option name="push" value="CtsUsePermissionApp31.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionApp31.apk" /> + <option name="push" value="CtsUsePermissionApp31WithAsl.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionApp31WithAsl.apk" /> <option name="push" value="CtsUsePermissionApp32.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionApp32.apk" /> <option name="push" value="CtsUsePermissionAppLatest.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionAppLatest.apk" /> <option name="push" value="CtsUsePermissionAppLatestNone.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionAppLatestNone.apk" /> @@ -70,6 +71,7 @@ <option name="push" value="CtsUsePermissionAppImplicitUserSelectStorage.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionAppImplicitUserSelectStorage.apk" /> <option name="push" value="CtsAppThatAccessesMicAndCameraPermission.apk->/data/local/tmp/cts-permissionui/CtsAppThatAccessesMicAndCameraPermission.apk" /> <option name="push" value="CtsUsePermissionAppStorage33.apk->/data/local/tmp/cts-permissionui/CtsUsePermissionAppStorage33.apk" /> + <option name="push" value="CtsAppThatMakesTwoPermRequests.apk->/data/local/tmp/cts-permissionui/CtsAppThatMakesTwoPermRequests.apk" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> diff --git a/tests/cts/permissionui/AppThatAccessesCameraAndMic/AndroidManifest.xml b/tests/cts/permissionui/AppThatAccessesCameraAndMic/AndroidManifest.xml index e1130fbaa..67c691e0a 100644 --- a/tests/cts/permissionui/AppThatAccessesCameraAndMic/AndroidManifest.xml +++ b/tests/cts/permissionui/AppThatAccessesCameraAndMic/AndroidManifest.xml @@ -25,6 +25,7 @@ <application android:label="CtsCameraMicAccess"> <activity android:name=".AccessCameraOrMicActivity" android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden" + android:theme="@style/AccessCameraOrMicActivityTheme" android:exported="true"> <intent-filter> <action android:name="test.action.USE_CAMERA_OR_MIC" /> diff --git a/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values-watch/styles.xml b/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values-watch/styles.xml new file mode 100644 index 000000000..21c73df65 --- /dev/null +++ b/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values-watch/styles.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2024 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 + --> +<resources> + <style name="AccessCameraOrMicActivityTheme" parent="android:style/Theme.DeviceDefault"> + <item name="android:windowNoTitle">true</item> + <item name="android:windowContentOverlay">@null</item> + <item name="android:windowIsTranslucent">true</item> + <item name="android:windowBackground">#33FF0000</item> + <item name="android:windowDisablePreview">true</item> + </style> +</resources> diff --git a/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values/styles.xml b/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values/styles.xml new file mode 100644 index 000000000..9889e3f0b --- /dev/null +++ b/tests/cts/permissionui/AppThatAccessesCameraAndMic/res/values/styles.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2024 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 + --> +<resources> + <style name="AccessCameraOrMicActivityTheme" parent="android:style/Theme.DeviceDefault" /> +</resources> diff --git a/tests/cts/permissionui/AppThatAccessesCameraAndMic/src/android/permissionui/cts/appthataccessescameraandmic/AccessCameraOrMicActivity.kt b/tests/cts/permissionui/AppThatAccessesCameraAndMic/src/android/permissionui/cts/appthataccessescameraandmic/AccessCameraOrMicActivity.kt index ca0c458a3..aaeae4fac 100644 --- a/tests/cts/permissionui/AppThatAccessesCameraAndMic/src/android/permissionui/cts/appthataccessescameraandmic/AccessCameraOrMicActivity.kt +++ b/tests/cts/permissionui/AppThatAccessesCameraAndMic/src/android/permissionui/cts/appthataccessescameraandmic/AccessCameraOrMicActivity.kt @@ -18,6 +18,7 @@ package android.permissionui.cts.appthataccessescameraandmic import android.app.Activity import android.app.AppOpsManager +import android.content.pm.PackageManager import android.hardware.camera2.CameraAccessException import android.hardware.camera2.CameraCaptureSession import android.hardware.camera2.CameraCharacteristics @@ -35,6 +36,7 @@ import android.os.Handler import android.os.Process import android.util.Log import android.util.Size +import android.view.WindowManager import androidx.annotation.NonNull import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay @@ -65,6 +67,7 @@ class AccessCameraOrMicActivity : Activity() { private var hotwordFinished = false private var runHotword = false private var finishEarly = false + private var isWatch = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -84,6 +87,7 @@ class AccessCameraOrMicActivity : Activity() { runMic = intent.getBooleanExtra(USE_MICROPHONE, false) runHotword = intent.getBooleanExtra(USE_HOTWORD, false) finishEarly = intent.getBooleanExtra(FINISH_EARLY, false) + isWatch = packageManager.hasSystemFeature(PackageManager.FEATURE_WATCH) if (runMic) { useMic() @@ -96,6 +100,18 @@ class AccessCameraOrMicActivity : Activity() { if (runHotword) { useHotword() } + + if (isWatch) { + // Make it possible for uiautomator to find the microphone icon + // The icon is shown on the home screen so it is hidden behind the activity unless the + // activity is set to translucent. + getWindow() + .setFlags( + WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, + WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL + ) + getWindow().setLayout(100, 100) + } } override fun finish() { diff --git a/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/Android.bp b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/Android.bp new file mode 100644 index 000000000..c2ebe22b1 --- /dev/null +++ b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/Android.bp @@ -0,0 +1,33 @@ +// +// Copyright (C) 2021 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +android_test_helper_app { + name: "CtsAppThatMakesTwoPermRequests", + defaults: ["mts-target-sdk-version-current"], + min_sdk_version: "29", + + static_libs: [ + "kotlin-stdlib", + ], + + srcs: [ + "src/**/*.kt", + ], +} diff --git a/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/AndroidManifest.xml b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/AndroidManifest.xml new file mode 100644 index 000000000..f255f2fed --- /dev/null +++ b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/AndroidManifest.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2021 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. + --> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="android.permissionui.cts.usepermission" + android:versionCode="1"> + + <uses-permission android:name="android.permission.CALL_PHONE"/> + <uses-permission android:name="android.permission.READ_CONTACTS"/> + + <application android:label="StartTwoPermissionRequests"> + <activity android:name=".Activity1" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name=".Activity2" android:exported="true"/> + </application> +</manifest> diff --git a/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/src/android/permissionui/cts/usepermission/Activity1.kt b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/src/android/permissionui/cts/usepermission/Activity1.kt new file mode 100644 index 000000000..b806496e4 --- /dev/null +++ b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/src/android/permissionui/cts/usepermission/Activity1.kt @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2024 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 android.permissionui.cts.usepermission + +import android.Manifest.permission.READ_CONTACTS +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.os.Handler + +class Activity1 : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + requestPermissions(arrayOf(READ_CONTACTS), 2) + } + + // Once the permissions dialog is showing over this activity, trigger the next dialog, and + // finish + override fun onPause() { + super.onPause() + finish() + Handler().postDelayed({ startActivity(Intent(this, Activity2::class.java)) }, 1000) + } +} diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AdjustChipHeightToFontScale.kt b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/src/android/permissionui/cts/usepermission/Activity2.kt index 4d66e6a1b..15d40c324 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/elements/AdjustChipHeightToFontScale.kt +++ b/tests/cts/permissionui/AppThatStartsTwoPermissionDialogs/src/android/permissionui/cts/usepermission/Activity2.kt @@ -1,5 +1,5 @@ /* - * Copyright (C) 2023 The Android Open Source Project + * Copyright (C) 2024 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. @@ -14,17 +14,17 @@ * limitations under the License. */ -package com.android.permissioncontroller.permission.ui.wear.elements +package android.permissionui.cts.usepermission -import androidx.compose.foundation.layout.height -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp +import android.Manifest +import android.app.Activity +import android.os.Bundle +import android.os.Handler -/** Adjusts height of the chip as per the font scale. */ -public fun Modifier.adjustChipHeightToFontScale(fontScale: Float, padding: Dp = 0.dp): Modifier = - if (fontScale > 1) { - this.then(Modifier.height(60.dp + padding)) - } else { - this +class Activity2 : Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + requestPermissions(arrayOf(Manifest.permission.CALL_PHONE), 3) + Handler().postDelayed({ finish() }, 2000) } +} diff --git a/tests/cts/permissionui/TEST_MAPPING b/tests/cts/permissionui/TEST_MAPPING index c703c539d..444b1d5d9 100644 --- a/tests/cts/permissionui/TEST_MAPPING +++ b/tests/cts/permissionui/TEST_MAPPING @@ -19,6 +19,16 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsPermissionUiTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsPermissionUiTestCases" @@ -29,4 +39,4 @@ "name": "CtsPermissionUiTestCases[com.google.android.permission.apex]" } ] -}
\ No newline at end of file +} diff --git a/tests/cts/permissionui/UsePermissionApp31WithAsl/Android.bp b/tests/cts/permissionui/UsePermissionApp31WithAsl/Android.bp new file mode 100644 index 000000000..1d18a1a1f --- /dev/null +++ b/tests/cts/permissionui/UsePermissionApp31WithAsl/Android.bp @@ -0,0 +1,35 @@ +// +// Copyright (C) 2024 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +android_test_helper_app { + name: "CtsUsePermissionApp31WithAsl", + srcs: [ + ":CtsUsePermissionAppSrc", + ], + manifest: "AndroidManifest.xml", + assets: ["app.metadata"], + static_libs: [ + "kotlin-stdlib", + "compatibility-device-util-axt", + ], + certificate: ":cts-testkey2", + target_sdk_version: "31", + min_sdk_version: "31", +} diff --git a/tests/cts/permissionui/UsePermissionApp31WithAsl/AndroidManifest.xml b/tests/cts/permissionui/UsePermissionApp31WithAsl/AndroidManifest.xml new file mode 100644 index 000000000..02126f1b4 --- /dev/null +++ b/tests/cts/permissionui/UsePermissionApp31WithAsl/AndroidManifest.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2024 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. + --> +<manifest + xmlns:android="http://schemas.android.com/apk/res/android" + package="android.permissionui.cts.usepermission"> + <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> + <uses-permission android:name="android.permission.RECORD_AUDIO" /> + <uses-permission android:name="android.permission.CAMERA" /> + <uses-permission android:name="android.permission.BODY_SENSORS" /> + <application> + <activity android:name=".CheckCalendarAccessActivity" android:exported="true" /> + <activity android:name=".FinishOnCreateActivity" android:exported="true" /> + <activity android:name=".RequestPermissionsActivity" android:exported="true" /> + <property android:name="android.content.SAFETY_LABEL_PATH" + android:value="assets/app.metadata"/> + </application> +</manifest> diff --git a/tests/cts/permissionui/UsePermissionApp31WithAsl/app.metadata b/tests/cts/permissionui/UsePermissionApp31WithAsl/app.metadata new file mode 100644 index 000000000..d83d081d8 --- /dev/null +++ b/tests/cts/permissionui/UsePermissionApp31WithAsl/app.metadata @@ -0,0 +1,17 @@ +<bundle> +<long name="version" value="1" /> +<pbundle_as_map name="safety_labels"> +<pbundle_as_map name="data_labels"> +<pbundle_as_map name="data_shared"> +<pbundle_as_map name="location"> +<pbundle_as_map name="approx_location"> +<int-array name="purposes" num="1"> +<item value="5" /> +</int-array> +</pbundle_as_map> +</pbundle_as_map> +</pbundle_as_map> +</pbundle_as_map> +<long name="version" value="1" /> +</pbundle_as_map> +</bundle> diff --git a/tests/cts/permissionui/UsePermissionAppLatest/AndroidManifest.xml b/tests/cts/permissionui/UsePermissionAppLatest/AndroidManifest.xml index 49e45fc01..0b92f5ef1 100644 --- a/tests/cts/permissionui/UsePermissionAppLatest/AndroidManifest.xml +++ b/tests/cts/permissionui/UsePermissionAppLatest/AndroidManifest.xml @@ -20,6 +20,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="android.permissionui.cts.usepermission"> + <uses-permission android:name="android.permission.READ_PHONE_STATE"/> + <uses-permission android:name="android.permission.CALL_PHONE"/> + <!-- Request two different permissions within the same group --> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> diff --git a/tests/cts/permissionui/src/android/permissionui/cts/AppDataSharingUpdatesTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/AppDataSharingUpdatesTest.kt index cd002ebfc..0db639d49 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/AppDataSharingUpdatesTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/AppDataSharingUpdatesTest.kt @@ -30,6 +30,8 @@ import android.permission.cts.PermissionUtils import android.permissionui.cts.AppMetadata.createAppMetadataWithLocationSharingAds import android.permissionui.cts.AppMetadata.createAppMetadataWithLocationSharingNoAds import android.permissionui.cts.AppMetadata.createAppMetadataWithNoSharing +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.provider.DeviceConfig import android.safetylabel.SafetyLabelConstants.SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED import android.util.Log @@ -50,6 +52,7 @@ import org.junit.Ignore import org.junit.Rule import org.junit.Test + /** Tests the UI that displays information about apps' updates to their data sharing policies. */ @SdkSuppress(minSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE, codeName = "UpsideDownCake") @FlakyTest @@ -59,6 +62,9 @@ class AppDataSharingUpdatesTest : BaseUsePermissionTest() { private var activityManager: ActivityManager? = null @get:Rule + val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + + @get:Rule val deviceConfigSafetyLabelChangeNotificationsEnabled = DeviceConfigStateChangerRule( context, @@ -376,7 +382,7 @@ class AppDataSharingUpdatesTest : BaseUsePermissionTest() { } @Test - fun startActivityWithIntent_whenAppGrantedFineLocation_packageSourceUnspecified_showsUpdate() { + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceUnspecified_showsUpdate() { installAndWaitTillPackageAdded( APP_APK_NAME_31, createAppMetadataWithNoSharing(), @@ -499,10 +505,140 @@ class AppDataSharingUpdatesTest : BaseUsePermissionTest() { } } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceUnspecified_asAslInApk_doesntShowUpdate() { + installAndWaitTillPackageAdded( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_UNSPECIFIED, + waitTillBroadcastProcessed = true + ) + installAndWaitTillPackageAdded( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_UNSPECIFIED + ) + grantFineLocationPermission(APP_PACKAGE_NAME) + + startAppDataSharingUpdatesActivity() + + try { + assertNoUpdatesPresent() + } finally { + pressBack() + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceOther_asAslInApk_doesntShowUpdate() { + installAndWaitTillPackageAdded( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_OTHER, + waitTillBroadcastProcessed = true + ) + installAndWaitTillPackageAdded( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_OTHER + ) + grantFineLocationPermission(APP_PACKAGE_NAME) + + startAppDataSharingUpdatesActivity() + + try { + assertNoUpdatesPresent() + } finally { + pressBack() + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceStore_asAslInApk_doesntShowUpdate() { + installAndWaitTillPackageAdded( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_STORE, + waitTillBroadcastProcessed = true + ) + installAndWaitTillPackageAdded( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_STORE + ) + grantFineLocationPermission(APP_PACKAGE_NAME) + + startAppDataSharingUpdatesActivity() + + try { + assertNoUpdatesPresent() + } finally { + pressBack() + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceLocalFile_asAslInApk_doesntShowUpdate() { + installAndWaitTillPackageAdded( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_LOCAL_FILE, + waitTillBroadcastProcessed = true + ) + installAndWaitTillPackageAdded( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_LOCAL_FILE + ) + grantFineLocationPermission(APP_PACKAGE_NAME) + + startAppDataSharingUpdatesActivity() + + try { + assertNoUpdatesPresent() + } finally { + pressBack() + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun startActivityWithIntent_whenAppGrantedLocation_packageSourceDownloaded_asAslInApk_doesntShowUpdate() { + installAndWaitTillPackageAdded( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_DOWNLOADED_FILE, + waitTillBroadcastProcessed = true + ) + installAndWaitTillPackageAdded( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_DOWNLOADED_FILE + ) + grantFineLocationPermission(APP_PACKAGE_NAME) + + startAppDataSharingUpdatesActivity() + + try { + assertNoUpdatesPresent() + } finally { + pressBack() + } + } + /** Installs an app and waits for the package added broadcast to be dispatched. */ private fun installAndWaitTillPackageAdded( apkPath: String, - appMetadata: PersistableBundle, + appMetadata: PersistableBundle? = null, packageSource: Int? = null, waitTillBroadcastProcessed: Boolean = false ) { diff --git a/tests/cts/permissionui/src/android/permissionui/cts/AppPermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/AppPermissionTest.kt index 99fed6b79..11bad6bcc 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/AppPermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/AppPermissionTest.kt @@ -17,13 +17,20 @@ package android.permissionui.cts import android.Manifest.permission.ACCESS_COARSE_LOCATION +import android.Manifest.permission_group.PHONE +import android.Manifest.permission_group.SMS import android.os.Build +import android.permission.flags.Flags +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.CheckFlagsRule +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.provider.DeviceConfig import android.provider.Settings import android.provider.Settings.Secure.USER_SETUP_COMPLETE import androidx.test.filters.FlakyTest import androidx.test.filters.SdkSuppress import androidx.test.uiautomator.By +import androidx.test.uiautomator.Until import com.android.compatibility.common.util.DeviceConfigStateChangerRule import com.android.modules.utils.build.SdkLevel import com.google.common.truth.Truth @@ -46,6 +53,9 @@ class AppPermissionTest : BaseUsePermissionTest() { true.toString() ) + @get:Rule + val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + @Before fun setup() { Assume.assumeTrue("Permission rationale is only available on U+", SdkLevel.isAtLeastU()) @@ -113,6 +123,67 @@ class AppPermissionTest : BaseUsePermissionTest() { assertAppPermissionRationaleContainerIsVisible(false) } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun showPermissionRationaleContainer_withInstallSourceAndNoMetadata_packageSourceUnspecified() { + // Unspecified is the default, so no need to explicitly set it + installPackageWithInstallSourceAndNoMetadata(APP_APK_NAME_31_WITH_ASL) + + navigateToIndividualPermissionSetting(ACCESS_COARSE_LOCATION) + + assertAppPermissionRationaleContainerIsVisible(false) + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun showPermissionRationaleContainer_withInstallSourceAndNoMetadata_packageSourceStore() { + installPackageWithInstallSourceAndNoMetadataFromStore(APP_APK_NAME_31_WITH_ASL) + + navigateToIndividualPermissionSetting(ACCESS_COARSE_LOCATION) + + assertAppPermissionRationaleContainerIsVisible(false) + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun showPermissionRationaleContainer_withInstallSourceAndNoMetadata_packageSourceLocalFile() { + installPackageWithInstallSourceAndNoMetadataFromLocalFile(APP_APK_NAME_31_WITH_ASL) + + navigateToIndividualPermissionSetting(ACCESS_COARSE_LOCATION) + + assertAppPermissionRationaleContainerIsVisible(false) + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun showPermissionRationaleContainer_withInstallSourceAndNoMetadata_packageSourceDownloadedFile() { + installPackageWithInstallSourceAndNoMetadataFromDownloadedFile(APP_APK_NAME_31_WITH_ASL) + + navigateToIndividualPermissionSetting(ACCESS_COARSE_LOCATION) + + assertAppPermissionRationaleContainerIsVisible(false) + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun showPermissionRationaleContainer_withInstallSourceAndNoMetadata_packageSourceOther() { + installPackageWithInstallSourceAndNoMetadataFromOther(APP_APK_NAME_31_WITH_ASL) + + navigateToIndividualPermissionSetting(ACCESS_COARSE_LOCATION) + + assertAppPermissionRationaleContainerIsVisible(false) + } + @Test fun noShowPermissionRationaleContainer_withInstallSourceAndNoMetadata() { installPackageWithInstallSourceAndNoMetadata(APP_APK_NAME_31) @@ -203,11 +274,124 @@ class AppPermissionTest : BaseUsePermissionTest() { assertAppPermissionRationaleContainerIsVisible(false) } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installFromTrustedSource_enabledAllowRadioButtonAndIfClickedAndChecked() { + installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST) + + navigateToIndividualPermissionSetting(PHONE) + + assertAllowButtonIsEnabledAndClickAndChecked() + + pressBack() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installFromDownloadedFile_disabledAllowRadioButtonAndIfClickedAndRestrictedSettingDialog_PhonePermGroup() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + + navigateToIndividualPermissionSetting(PHONE) + + assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() + + pressBack() + + pressBack() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installFromDownloadedFile_disabledAllowRadioButtonAndIfClickedAndRestrictedSettingDialog_SMSPermGroup() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + + navigateToIndividualPermissionSetting(SMS) + + assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() + + pressBack() + + pressBack() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installFromLocalFile_disabledAllowRadioButtonAndIfClickedAndRestrictedSettingDialog_PhonePermGroup() { + installPackageWithInstallSourceAndMetadataFromLocalFile(APP_APK_NAME_LATEST) + + navigateToIndividualPermissionSetting(PHONE) + + assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() + + pressBack() + + pressBack() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installFromLocalFile_disabledAllowRadioButtonAndIfClickedAndRestrictedSettingDialog_SMSPermGroup() { + installPackageWithInstallSourceAndMetadataFromLocalFile(APP_APK_NAME_LATEST) + + navigateToIndividualPermissionSetting(SMS) + + assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() + + pressBack() + + pressBack() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installWithUnspecifiedSource_disabledAllowRadioButtonAndIfClickedAndRestrictedSettingDialog_SMSPermGroup() { + installPackageViaSession(APP_APK_NAME_LATEST) + + navigateToIndividualPermissionSetting(SMS) + + assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() + + pressBack() + + pressBack() + } + + private fun assertAllowButtonIsEnabledAndClickAndChecked() { + waitFindObject(By.res(ALLOW_RADIO_BUTTON).enabled(true).checked(false)) + .click() + waitFindObject(By.res(ALLOW_RADIO_BUTTON).checked(true)) + } + + private fun assertAllowButtonIsDisabledAndRestrictedSettingDialogPoppedUp() { + waitFindObject(By.res(ALLOW_RADIO_BUTTON).enabled(false)) + .clickAndWait(Until.newWindow(), TIMEOUT_MILLIS) + + waitFindObject(ENHANCED_CONFIRMATION_DIALOG_SELECTOR, TIMEOUT_MILLIS) + } + private fun assertAppPermissionRationaleContainerIsVisible(expected: Boolean) { findView(By.res(APP_PERMISSION_RATIONALE_CONTAINER_VIEW), expected) } companion object { private const val PERMISSION_RATIONALE_ENABLED = "permission_rationale_enabled" + private val ENHANCED_CONFIRMATION_DIALOG_SELECTOR = By.res( + "com.android.permissioncontroller:id/enhanced_confirmation_dialog_title") } } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/BasePermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/BasePermissionTest.kt index b47fba56f..17785a95b 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/BasePermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/BasePermissionTest.kt @@ -85,6 +85,7 @@ abstract class BasePermissionTest { const val QUICK_CHECK_TIMEOUT_MILLIS = 100L const val IDLE_TIMEOUT_MILLIS: Long = 1000 + const val IDLE_LONG_TIMEOUT_MILLIS: Long = 5000 const val UNEXPECTED_TIMEOUT_MILLIS = 1000 const val TIMEOUT_MILLIS: Long = 20000 const val PACKAGE_INSTALLER_TIMEOUT = 60000L @@ -111,6 +112,11 @@ abstract class BasePermissionTest { @JvmStatic protected val isAutomotive = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) + @JvmStatic + protected val isAutomotiveSplitscreen = isAutomotive && + packageManager.hasSystemFeature( + /* PackageManager.FEATURE_CAR_SPLITSCREEN_MULTITASKING */ + "android.software.car.splitscreen_multitasking") } @get:Rule val screenRecordRule = ScreenRecordRule(false, false) @@ -276,9 +282,13 @@ abstract class BasePermissionTest { protected fun installPackageViaSession( apkName: String, appMetadata: PersistableBundle? = null, - packageSource: Int? = null + packageSource: Int? = null, + allowlistedRestrictedPermissions: Set<String>? = null ) { - val (sessionId, session) = createPackageInstallerSession(packageSource) + val (sessionId, session) = createPackageInstallerSession( + packageSource, + allowlistedRestrictedPermissions + ) runWithShellPermissionIdentity { writePackageInstallerSession(session, apkName) if (appMetadata != null) { @@ -416,6 +426,9 @@ abstract class BasePermissionTest { protected fun waitForIdle() = uiAutomation.waitForIdle(IDLE_TIMEOUT_MILLIS, TIMEOUT_MILLIS) + protected fun waitForIdleLong() = + uiAutomation.waitForIdle(IDLE_LONG_TIMEOUT_MILLIS, TIMEOUT_MILLIS) + protected fun startActivityForFuture( intent: Intent ): CompletableFuture<Instrumentation.ActivityResult> = @@ -443,10 +456,15 @@ abstract class BasePermissionTest { } private fun createPackageInstallerSession( - packageSource: Int? = null + packageSource: Int? = null, + allowlistedRestrictedPermissions: Set<String>? = null ): Pair<Int, PackageInstaller.Session> { // Create session val sessionParam = SessionParams(SessionParams.MODE_FULL_INSTALL) + allowlistedRestrictedPermissions?.let { + sessionParam.setWhitelistedRestrictedPermissions(it) + } + if (packageSource != null) { sessionParam.setPackageSource(packageSource) } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt index d24f4fd27..b3197babc 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/BaseUsePermissionTest.kt @@ -29,6 +29,7 @@ import android.content.pm.PackageInstaller.PACKAGE_SOURCE_DOWNLOADED_FILE import android.content.pm.PackageInstaller.PACKAGE_SOURCE_LOCAL_FILE import android.content.pm.PackageInstaller.PACKAGE_SOURCE_OTHER import android.content.pm.PackageInstaller.PACKAGE_SOURCE_STORE +import android.content.pm.PackageInstaller.SessionParams import android.content.pm.PackageManager import android.net.Uri import android.os.Build @@ -38,6 +39,7 @@ import android.provider.Settings import android.text.Spanned import android.text.style.ClickableSpan import android.view.View +import android.view.accessibility.AccessibilityNodeInfo import androidx.test.uiautomator.By import androidx.test.uiautomator.BySelector import androidx.test.uiautomator.StaleObjectException @@ -49,6 +51,7 @@ import com.android.compatibility.common.util.SystemUtil import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity import com.android.compatibility.common.util.SystemUtil.eventually import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity +import com.android.compatibility.common.util.UiAutomatorUtils2 import com.android.modules.utils.build.SdkLevel import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit @@ -63,6 +66,8 @@ import org.junit.Before abstract class BaseUsePermissionTest : BasePermissionTest() { companion object { const val APP_APK_NAME_31 = "CtsUsePermissionApp31.apk" + const val APP_APK_NAME_31_WITH_ASL = "CtsUsePermissionApp31WithAsl.apk" + const val APP_APK_NAME_LATEST = "CtsUsePermissionAppLatest.apk" const val APP_APK_PATH_22 = "$APK_DIRECTORY/CtsUsePermissionApp22.apk" const val APP_APK_PATH_22_CALENDAR_ONLY = @@ -92,6 +97,8 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { "$APK_DIRECTORY/CtsUsePermissionAppImplicitUserSelectStorage.apk" const val APP_APK_PATH_STORAGE_33 = "$APK_DIRECTORY/CtsUsePermissionAppStorage33.apk" const val APP_APK_PATH_OTHER_APP = "$APK_DIRECTORY/CtsDifferentPkgNameApp.apk" + const val APP_APK_PATH_TWO_PERM_REQUESTS = + "$APK_DIRECTORY/CtsAppThatMakesTwoPermRequests.apk" const val APP_PACKAGE_NAME = "android.permissionui.cts.usepermission" const val OTHER_APP_PACKAGE_NAME = "android.permissionui.cts.usepermissionother" const val TEST_INSTALLER_PACKAGE_NAME = "android.permissionui.cts" @@ -116,13 +123,16 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { const val ALLOW_ALWAYS_RADIO_BUTTON = "com.android.permissioncontroller:id/allow_always_radio_button" + const val ALLOW_RADIO_BUTTON_FRAME = + "com.android.permissioncontroller:id/allow_radio_button_frame" const val ALLOW_RADIO_BUTTON = "com.android.permissioncontroller:id/allow_radio_button" const val ALLOW_FOREGROUND_RADIO_BUTTON = "com.android.permissioncontroller:id/allow_foreground_only_radio_button" const val ASK_RADIO_BUTTON = "com.android.permissioncontroller:id/ask_radio_button" const val DENY_RADIO_BUTTON = "com.android.permissioncontroller:id/deny_radio_button" - const val SELECT_RADIO_BUTTON = "com.android.permissioncontroller:id/select_radio_button" - const val EDIT_PHOTOS_BUTTON = "com.android.permissioncontroller:id/edit_selected_button" + const val ALLOW_LIMITED_RADIO_BUTTON = + "com.android.permissioncontroller:id/allow_limited_radio_button" + const val SELECT_PHOTOS_BUTTON = "com.android.permissioncontroller:id/select_photos_button" const val NOTIF_TEXT = "permgrouprequest_notifications" const val ALLOW_BUTTON_TEXT = "grant_dialog_button_allow" @@ -154,6 +164,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { const val PURPOSE_MESSAGE_ID = "com.android.permissioncontroller:id/purpose_message" const val LEARN_MORE_TITLE_ID = "com.android.permissioncontroller:id/learn_more_title" const val LEARN_MORE_MESSAGE_ID = "com.android.permissioncontroller:id/learn_more_message" + const val DETAIL_MESSAGE_ID = "com.android.permissioncontroller:id/detail_message" const val PERMISSION_RATIONALE_SETTINGS_SECTION = "com.android.permissioncontroller:id/settings_section" const val SETTINGS_TITLE_ID = "com.android.permissioncontroller:id/settings_title" @@ -242,6 +253,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { android.Manifest.permission.READ_CALENDAR to "@android:string/permgrouplab_calendar", android.Manifest.permission.WRITE_CALENDAR to "@android:string/permgrouplab_calendar", // SMS + android.Manifest.permission_group.SMS to "@android:string/permgrouplab_sms", android.Manifest.permission.SEND_SMS to "@android:string/permgrouplab_sms", android.Manifest.permission.RECEIVE_SMS to "@android:string/permgrouplab_sms", android.Manifest.permission.READ_SMS to "@android:string/permgrouplab_sms", @@ -261,6 +273,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { android.Manifest.permission.ACCESS_BACKGROUND_LOCATION to "@android:string/permgrouplab_location", // Phone + android.Manifest.permission_group.PHONE to "@android:string/permgrouplab_phone", android.Manifest.permission.READ_PHONE_STATE to "@android:string/permgrouplab_phone", android.Manifest.permission.CALL_PHONE to "@android:string/permgrouplab_phone", "android.permission.ACCESS_IMS_CALL_SERVICE" to "@android:string/permgrouplab_phone", @@ -443,6 +456,17 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { ) } + protected fun installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + apkName: String + ) { + installPackageViaSession( + apkName, + AppMetadata.createDefaultAppMetadata(), + PACKAGE_SOURCE_DOWNLOADED_FILE, + allowlistedRestrictedPermissions = SessionParams.RESTRICTED_PERMISSIONS_ALL + ) + } + protected fun installPackageWithInstallSourceAndMetadataFromOther(apkName: String) { installPackageViaSession( apkName, @@ -455,6 +479,34 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { installPackageViaSession(apkName) } + protected fun installPackageWithInstallSourceAndNoMetadataFromStore(apkName: String) { + installPackageViaSession( + apkName, + packageSource = PACKAGE_SOURCE_STORE + ) + } + + protected fun installPackageWithInstallSourceAndNoMetadataFromLocalFile(apkName: String) { + installPackageViaSession( + apkName, + packageSource = PACKAGE_SOURCE_LOCAL_FILE + ) + } + + protected fun installPackageWithInstallSourceAndNoMetadataFromDownloadedFile(apkName: String) { + installPackageViaSession( + apkName, + packageSource = PACKAGE_SOURCE_DOWNLOADED_FILE + ) + } + + protected fun installPackageWithInstallSourceAndNoMetadataFromOther(apkName: String) { + installPackageViaSession( + apkName, + packageSource = PACKAGE_SOURCE_OTHER + ) + } + protected fun installPackageWithInstallSourceAndInvalidMetadata(apkName: String) { installPackageViaSession(apkName, AppMetadata.createInvalidAppMetadata()) } @@ -615,7 +667,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { protected inline fun requestAppPermissions( vararg permissions: String?, askTwice: Boolean = false, - waitForWindowTransition: Boolean = true, + waitForWindowTransition: Boolean = !isWatch, crossinline block: () -> Unit ): Instrumentation.ActivityResult { // Request the permissions @@ -653,11 +705,26 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { waitForWindowTransition: Boolean = !isWatch, crossinline block: () -> Unit ) { + var shouldWaitForWindowTransition = waitForWindowTransition + // Do not wait for windowTransition after action is performed on auto, when permissions + // are being denied. The click deny function explicitly waits for window to transition + if (isAutomotive) { + var somePermissionsTrue = false + // http://go/nl-kt-best-practices#for-loop-vs-foreach + for (it in permissionAndExpectedGrantResults) { + somePermissionsTrue = somePermissionsTrue || it.second + } + // When all permissions being requested are to be denied + // do not wait for windowTransition + if (!somePermissionsTrue) { + shouldWaitForWindowTransition = false + } + } val result = requestAppPermissions( *permissions, askTwice = askTwice, - waitForWindowTransition = waitForWindowTransition, + waitForWindowTransition = shouldWaitForWindowTransition, block = block ) assertEquals( @@ -807,7 +874,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { } } - protected fun clickPermissionRequestAllowForegroundButton(timeoutMillis: Long = 10_000) { + protected fun clickPermissionRequestAllowForegroundButton(timeoutMillis: Long = 20_000) { if (isAutomotive || isWatch) { click( By.text(getPermissionControllerString(ALLOW_FOREGROUND_BUTTON_TEXT)), @@ -819,7 +886,11 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { } protected fun clickPermissionRequestDenyButton() { - if (isAutomotive || isWatch || isTv) { + if (isAutomotive) { + clickAndWaitForWindowTransition( + By.text(getPermissionControllerString(DENY_BUTTON_TEXT)) + ) + } else if (isWatch || isTv) { click(By.text(getPermissionControllerString(DENY_BUTTON_TEXT))) } else { click(By.res(DENY_BUTTON)) @@ -834,6 +905,10 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { protected fun clickPermissionRequestSettingsLink() { eventually { + if (isWatch) { + clickPermissionRequestSettingsLinkForWear() + return@eventually + } // UiObject2 doesn't expose CharSequence. val node = if (isAutomotive) { @@ -843,14 +918,13 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { .findAccessibilityNodeInfosByText(" settings.")[0] } else { uiAutomation.rootInActiveWindow - .findAccessibilityNodeInfosByViewId( - "com.android.permissioncontroller:id/detail_message" - )[0] + .findAccessibilityNodeInfosByViewId(DETAIL_MESSAGE_ID)[0] } if (!node.isVisibleToUser) { scrollToBottom() } assertTrue(node.isVisibleToUser) + val text = node.text as Spanned val clickableSpan = text.getSpans(0, text.length, ClickableSpan::class.java)[0] // We could pass in null here in Java, but we need an instance in Kotlin. @@ -858,9 +932,43 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { } } + private fun clickPermissionRequestSettingsLinkForWear() { + // Find detail message. + val text = waitFindObject(By.textContains(" settings.")) + + // Move the view to the top of the screen. + var visibleBounds = text.getVisibleBounds() + val centerX = (visibleBounds.left + visibleBounds.right) / 2 + uiDevice.drag(centerX, visibleBounds.top, centerX, 0, 10) + + // Click the deep link. + // Not sure where the clickable text is. So try different point in the last line + // of the 5 line text. + val bounds = text.getVisibleBounds() + val xdelta = 0.2 * bounds.width() + val y = bounds.bottom - (0.05 * bounds.height()) + var clickedOnLink: Boolean = false + for (i in 1..4) { + val x = bounds.left + (i * xdelta) + uiDevice.click(x.toInt(), y.toInt()) + waitForIdleLong() + val nextScreenNode: AccessibilityNodeInfo? = + findAccessibilityNodeInfosByTextForSurfaceView( + uiAutomation.rootInActiveWindow, + "All the time") + if (nextScreenNode != null) { + clickedOnLink = true + break + } + } + assertTrue("Could not click on the settings link correctly", clickedOnLink) + } + protected fun clickPermissionRequestDenyAndDontAskAgainButton() { if (isAutomotive) { - click(By.text(getPermissionControllerString(DENY_AND_DONT_ASK_AGAIN_BUTTON_TEXT))) + clickAndWaitForWindowTransition( + By.text(getPermissionControllerString(DENY_AND_DONT_ASK_AGAIN_BUTTON_TEXT)) + ) } else if (isWatch) { click(By.text(getPermissionControllerString(DENY_BUTTON_TEXT))) } else { @@ -880,7 +988,7 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { } protected fun clickPermissionRequestNoUpgradeAndDontAskAgainButton() { - if (isAutomotive) { + if (isAutomotive || isWatch) { click(By.text(getPermissionControllerString(NO_UPGRADE_AND_DONT_ASK_AGAIN_BUTTON_TEXT))) } else { click(By.res(NO_UPGRADE_AND_DONT_ASK_AGAIN_BUTTON)) @@ -1268,6 +1376,20 @@ abstract class BaseUsePermissionTest : BasePermissionTest() { } } + protected fun findAccessibilityNodeInfosByTextForSurfaceView( + node: AccessibilityNodeInfo, + text: String + ): AccessibilityNodeInfo? { + if (node.text != null && node.text.contains(text)) return node + for (i in 0 until node.childCount) { + val child = node.getChild(i) + if (child != null) { + return findAccessibilityNodeInfosByTextForSurfaceView(child, text) ?: continue + } + } + return null + } + private fun byTextRes(textRes: Int): BySelector = By.text(context.getString(textRes)) private fun byTextStartsWithCaseInsensitive(prefix: String): BySelector = diff --git a/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt index 47fe17bac..0ba251aac 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/CameraMicIndicatorsPermissionTest.kt @@ -30,6 +30,7 @@ import android.os.SystemClock import android.os.SystemProperties import android.permission.PermissionManager import android.platform.test.annotations.AsbSecurityTest +import android.platform.test.rule.ScreenRecordRule import android.provider.DeviceConfig import android.provider.Settings import android.safetycenter.SafetyCenterManager @@ -52,6 +53,7 @@ import com.android.compatibility.common.util.SystemUtil.runShellCommand import com.android.compatibility.common.util.SystemUtil.runShellCommandOrThrow import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity import com.android.compatibility.common.util.UiAutomatorUtils2 +import com.android.compatibility.common.util.UiAutomatorUtils2.assertWithUiDump import com.android.modules.utils.build.SdkLevel import com.android.sts.common.util.StsExtraBusinessLogicTestCase import java.util.regex.Pattern @@ -81,6 +83,7 @@ private const val USE_INTENT_ACTION = "test.action.USE_CAMERA_OR_MIC" private const val PRIVACY_CHIP_ID = "com.android.systemui:id/privacy_chip" private const val PRIVACY_ITEM_ID = "com.android.systemui:id/privacy_item" private const val INDICATORS_FLAG = "camera_mic_icons_enabled" +private const val WEAR_MIC_LABEL = "Microphone" private const val PERMISSION_INDICATORS_NOT_PRESENT = 162547999L private const val IDLE_TIMEOUT_MILLIS: Long = 1000 private const val UNEXPECTED_TIMEOUT_MILLIS = 1000L @@ -92,6 +95,7 @@ private val HOTWORD_DETECTION_SERVICE_REQUIRED = SystemProperties.getBoolean("ro.hotword.detection_service_required", false) @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S, codeName = "S") +@ScreenRecordRule.ScreenRecord @FlakyTest class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() @@ -104,6 +108,7 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { private val isTv = packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK) private val isCar = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) + private val isWatch = packageManager.hasSystemFeature(PackageManager.FEATURE_WATCH) private val safetyCenterMicLabel = getPermissionControllerString(MIC_LABEL_NAME) private val safetyCenterCameraLabel = getPermissionControllerString(CAMERA_LABEL_NAME) private val originalCameraLabel = @@ -126,6 +131,8 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { @get:Rule val disableAnimationRule = DisableAnimationRule() + @get:Rule val screenRecordRule = ScreenRecordRule(false, false) + constructor() : super() companion object { @@ -265,7 +272,6 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { testCameraAndMicIndicator(useMic = true, useCamera = false) } - // TODO b/269687722: remove once mainline presubmit uses a more recent S build @Test @AsbSecurityTest(cveBugId = [258672042]) fun testMicIndicatorWithManualFinishOpStillShows() { @@ -363,8 +369,17 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { openApp(useMic, useCamera, useHotword, finishEarly) try { eventually { - val appView = uiDevice.findObject(UiSelector().textContains(APP_LABEL)) - assertTrue("View with text $APP_LABEL not found", appView.exists()) + val appView = + if (isWatch) { + // Title is disabled by default on watch apps + uiDevice.findObject(UiSelector().packageName(APP_PKG)) + } else { + uiDevice.findObject(UiSelector().textContains(APP_LABEL)) + } + + assertWithUiDump { + assertTrue("View with text $APP_LABEL not found", appView.exists()) + } } if (chainUsage) { chainAttribution = createChainAttribution() @@ -383,14 +398,19 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { if (finishEarly) { // Assert that the indicator doesn't go away - val indicatorGoneException: Exception? = - try { - eventually { assertIndicatorsShown(false, false, false) } - null - } catch (e: Exception) { - e - } - assertNotNull("Expected the indicator to be present", indicatorGoneException) + var failed = false + try { + // Check if the indicator has gone away. This will throw an exception if the + // indicator is still present + assertIndicatorsShown(false, false, false) + // If we successfully asserted that the indicator went away, fail the test + failed = true + } catch (t: Throwable) { + // expected + } + if (failed) { + assertWithUiDump { Assert.fail("Expected the indicator to remain present") } + } } } finally { if (chainAttribution != null) { @@ -415,6 +435,8 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { assertTvIndicatorsShown(useMic, useCamera, useHotword) } else if (isCar) { assertCarIndicatorsShown(useMic, useCamera, useHotword, chainUsage) + } else if (isWatch) { + assertWatchIndicatorsShown(useMic, useCamera, useHotword) } else { uiDevice.openQuickSettings() val micInUse = @@ -433,6 +455,23 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { } } + private fun assertWatchIndicatorsShown( + useMic: Boolean, + useCamera: Boolean, + useHotword: Boolean + ) { + if (useMic || useHotword || (!useMic && !useCamera && !useHotword)) { + val iconView = UiAutomatorUtils2.waitFindObjectOrNull(By.descContains(WEAR_MIC_LABEL)) + if (useMic) { + assertNotNull("Did not find mic chip", iconView) + } else { + assertNull("Found mic chip, but did not expect to", iconView) + // waitFindObject leaves the watch on the notification screen + pressBack() + } + } + } + private fun assertTvIndicatorsShown(useMic: Boolean, useCamera: Boolean, useHotword: Boolean) { if (useMic || useHotword || (!useMic && !useCamera && !useHotword)) { eventually { @@ -530,11 +569,13 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { if (useCamera || useMic) { eventually { val privacyChip = UiAutomatorUtils2.waitFindObjectOrNull(By.res(PRIVACY_CHIP_ID)) - assertNotNull("view with id $PRIVACY_CHIP_ID not found", privacyChip) + assertWithUiDump { + assertNotNull("view with id $PRIVACY_CHIP_ID not found", privacyChip) + } privacyChip.click() } } else { - UiAutomatorUtils2.waitUntilObjectGone(By.res(PRIVACY_CHIP_ID)) + assertWithUiDump { UiAutomatorUtils2.waitUntilObjectGone(By.res(PRIVACY_CHIP_ID)) } return } @@ -548,7 +589,9 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { assertSafetyCenterMicViewNotNull() } else { val iconView = waitFindObject(By.descContains(micLabel)) - assertNotNull("View with description '$micLabel' not found", iconView) + assertWithUiDump { + assertNotNull("View with description '$micLabel' not found", iconView) + } } } if (useCamera) { @@ -556,11 +599,13 @@ class CameraMicIndicatorsPermissionTest : StsExtraBusinessLogicTestCase { assertSafetyCenterCameraViewNotNull() } else { val iconView = waitFindObject(By.descContains(cameraLabel)) - assertNotNull("View with description '$cameraLabel' not found", iconView) + assertWithUiDump { + assertNotNull("View with description '$cameraLabel' not found", iconView) + } } } var appView = waitFindObject(By.textContains(APP_LABEL)) - assertNotNull("View with text $APP_LABEL not found", appView) + assertWithUiDump { assertNotNull("View with text $APP_LABEL not found", appView) } } uiDevice.pressBack() } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt new file mode 100644 index 000000000..a55a48cf2 --- /dev/null +++ b/tests/cts/permissionui/src/android/permissionui/cts/EnhancedConfirmationManagerTest.kt @@ -0,0 +1,372 @@ +/* + * Copyright (C) 2024 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 android.permissionui.cts + +import android.Manifest +import android.app.AppOpsManager +import android.app.Instrumentation +import android.app.ecm.EnhancedConfirmationManager +import android.content.Context +import android.content.pm.PackageInstaller +import android.content.pm.PackageManager +import android.os.Build +import android.os.Process +import android.permission.flags.Flags +import android.platform.test.annotations.AppModeFull +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.CheckFlagsRule +import android.platform.test.flag.junit.DeviceFlagsValueProvider +import androidx.test.filters.SdkSuppress +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.By +import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity +import com.android.compatibility.common.util.SystemUtil.eventually +import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertNotNull +import org.junit.Assert.assertNull +import org.junit.Assert.assertTrue +import org.junit.Assume +import org.junit.Before +import org.junit.Rule +import org.junit.Test + +@AppModeFull(reason = "Instant apps cannot install packages") +@SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = "VanillaIceCream") +@RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) +class EnhancedConfirmationManagerTest : BaseUsePermissionTest() { + private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() + private val context: Context = instrumentation.targetContext + private val ecm by lazy { context.getSystemService(EnhancedConfirmationManager::class.java)!! } + private val appOpsManager by lazy { context.getSystemService(AppOpsManager::class.java)!! } + private val packageManager by lazy { context.packageManager } + + @Rule + @JvmField + val mCheckFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + + @Before + fun assumeNotAutoTvOrWear() { + Assume.assumeFalse(packageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) + Assume.assumeFalse( + packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) + ) + Assume.assumeFalse(packageManager.hasSystemFeature(PackageManager.FEATURE_WATCH)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun installedAppStartsWithModeDefault() { + installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + assertEquals( + getAppEcmState(context, appOpsManager, APP_PACKAGE_NAME), + AppOpsManager.MODE_DEFAULT + ) + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenStoreAppThenIsNotRestrictedFromProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenLocalAppThenIsRestrictedFromProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromLocalFile(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenDownloadedThenAppIsRestrictedFromProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenExplicitlyRestrictedAppThenIsRestrictedFromProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromStore(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + setAppEcmState(context, appOpsManager, APP_PACKAGE_NAME, AppOpsManager.MODE_ERRORED) + eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenRestrictedAppThenIsNotRestrictedFromNonProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, NON_PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenRestrictedAppThenClearRestrictionNotAllowedByDefault() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertFalse(ecm.isClearRestrictionAllowed(APP_PACKAGE_NAME)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenRestrictedAppWhenClearRestrictionThenNotRestrictedFromProtectedSetting() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST) + runWithShellPermissionIdentity { + eventually { assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + ecm.setClearRestrictionAllowed(APP_PACKAGE_NAME) + eventually { assertTrue(ecm.isClearRestrictionAllowed(APP_PACKAGE_NAME)) } + ecm.clearRestriction(APP_PACKAGE_NAME) + eventually { assertFalse(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) } + } + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun createRestrictedSettingDialogIntentReturnsIntent() { + installPackageWithInstallSourceAndMetadataFromDownloadedFile(APP_APK_NAME_LATEST) + + val intent = ecm.createRestrictedSettingDialogIntent(APP_PACKAGE_NAME, PROTECTED_SETTING) + + assertNotNull(intent) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun grantDialogBlocksRestrictedPermissionsOfSameGroupTogether() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + val permissionAndExpectedGrantResults = + arrayOf( + GROUP_1_PERMISSION_1_RESTRICTED to false, + GROUP_1_PERMISSION_2_RESTRICTED to false + ) + + requestAppPermissionsAndAssertResult(*permissionAndExpectedGrantResults) { + click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + + requestAppPermissionsAndAssertResult( + *permissionAndExpectedGrantResults, + waitForWindowTransition = false + ) { + assertNoEcmDialogShown() + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun grantDialogBlocksRestrictedPermissionsOfDifferentGroupsIndividually() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + val permissionAndExpectedGrantResults = + arrayOf( + GROUP_1_PERMISSION_1_RESTRICTED to false, + GROUP_2_PERMISSION_1_RESTRICTED to false + ) + + requestAppPermissionsAndAssertResult( + *permissionAndExpectedGrantResults, + waitForWindowTransition = false + ) { + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + + requestAppPermissionsAndAssertResult( + *permissionAndExpectedGrantResults, + waitForWindowTransition = false + ) { + assertNoEcmDialogShown() + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun grantDialogBlocksRestrictedGroupsThenRequestsUnrestrictedGroupsDespiteOutOfOrderRequest() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + + requestAppPermissionsAndAssertResult( + GROUP_3_PERMISSION_1_UNRESTRICTED to false, + GROUP_2_PERMISSION_1_RESTRICTED to false, + GROUP_3_PERMISSION_2_UNRESTRICTED to false, + GROUP_2_PERMISSION_2_RESTRICTED to false, + waitForWindowTransition = false + ) { + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { clickPermissionRequestDenyButton() } + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + + requestAppPermissionsAndAssertResult( + GROUP_3_PERMISSION_1_UNRESTRICTED to true, + GROUP_3_PERMISSION_2_UNRESTRICTED to true, + waitForWindowTransition = false + ) { + doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun grantDialogBlocksRestrictedGroupsThenRequestsUnrestrictedHighPriorityGroups() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + + requestAppPermissionsAndAssertResult( + GROUP_3_PERMISSION_1_UNRESTRICTED to true, + GROUP_2_PERMISSION_1_RESTRICTED to false, + GROUP_1_PERMISSION_1_RESTRICTED to false, + waitForWindowTransition = false + ) { + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun grantDialogBlocksRestrictedGroupsThenRequestsUnrestrictedLowPriorityGroups() { + installPackageWithInstallSourceFromDownloadedFileAndAllowHardRestrictedPerms( + APP_APK_NAME_LATEST + ) + + requestAppPermissionsAndAssertResult( + GROUP_4_PERMISSION_1_UNRESTRICTED to true, + GROUP_2_PERMISSION_1_RESTRICTED to false, + GROUP_1_PERMISSION_1_RESTRICTED to false, + waitForWindowTransition = false + ) { + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { click(By.res(ALERT_DIALOG_OK_BUTTON), TIMEOUT_MILLIS) } + doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + } + assertTrue(isClearRestrictionAllowed(APP_PACKAGE_NAME)) + } + + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @Test + fun givenPackagesSourceUnspecifiedAndInstallerTargetVersionAtLeastVThenIsRestricted() { + val installingApplicationInfo = getApplicationInfoAsUser(context, + TEST_INSTALLER_PACKAGE_NAME) + assertTrue(installingApplicationInfo.targetSdkVersion >= + Build.VERSION_CODES.VANILLA_ICE_CREAM) + + installPackageViaSession(APP_APK_NAME_LATEST) + + val installSource = packageManager.getInstallSourceInfo(APP_PACKAGE_NAME) + assertEquals(installSource.installingPackageName, TEST_INSTALLER_PACKAGE_NAME) + assertEquals(installSource.packageSource, PackageInstaller.PACKAGE_SOURCE_UNSPECIFIED) + + runWithShellPermissionIdentity { + assertTrue(ecm.isRestricted(APP_PACKAGE_NAME, PROTECTED_SETTING)) + } + } + + private fun isClearRestrictionAllowed(packageName: String) = callWithShellPermissionIdentity { + ecm.isClearRestrictionAllowed(packageName) + } + + private fun assertNoEcmDialogShown() { + assertNull( + "expected to not see dialog", + waitFindObjectOrNull(By.res(ALERT_DIALOG_OK_BUTTON), UNEXPECTED_TIMEOUT_MILLIS.toLong()) + ) + } + + companion object { + private const val GROUP_1_PERMISSION_1_RESTRICTED = Manifest.permission.CALL_PHONE + private const val GROUP_1_PERMISSION_2_RESTRICTED = Manifest.permission.READ_PHONE_STATE + private const val GROUP_2_PERMISSION_1_RESTRICTED = Manifest.permission.SEND_SMS + private const val GROUP_2_PERMISSION_2_RESTRICTED = Manifest.permission.READ_SMS + private const val GROUP_3_PERMISSION_1_UNRESTRICTED = + Manifest.permission.ACCESS_FINE_LOCATION + private const val GROUP_3_PERMISSION_2_UNRESTRICTED = + Manifest.permission.ACCESS_COARSE_LOCATION + private const val GROUP_4_PERMISSION_1_UNRESTRICTED = Manifest.permission.BODY_SENSORS + + private const val NON_PROTECTED_SETTING = "example_setting_which_is_not_protected" + private const val PROTECTED_SETTING = "android:bind_accessibility_service" + + @Throws(PackageManager.NameNotFoundException::class) + private fun setAppEcmState( + context: Context, + appOpsManager: AppOpsManager, + packageName: String, + mode: Int + ) = + appOpsManager.setMode( + AppOpsManager.OPSTR_ACCESS_RESTRICTED_SETTINGS, + getPackageUid(context, packageName), + packageName, + mode + ) + + @Throws(PackageManager.NameNotFoundException::class) + private fun getAppEcmState( + context: Context, + appOpsManager: AppOpsManager, + packageName: String + ) = + appOpsManager.noteOpNoThrow( + AppOpsManager.OPSTR_ACCESS_RESTRICTED_SETTINGS, + getPackageUid(context, packageName), + packageName, + context.attributionTag, + /* message */ null + ) + + @Throws(PackageManager.NameNotFoundException::class) + private fun getPackageUid(context: Context, packageName: String) = + getApplicationInfoAsUser(context, packageName).uid + + @Throws(PackageManager.NameNotFoundException::class) + private fun getApplicationInfoAsUser(context: Context, packageName: String) = + packageManager.getApplicationInfoAsUser( + packageName, + /* flags */ 0, + Process.myUserHandle() + ) + } +} diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionRationalePermissionGrantDialogTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionRationalePermissionGrantDialogTest.kt index 73faaa7f6..751c56b3c 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionRationalePermissionGrantDialogTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionRationalePermissionGrantDialogTest.kt @@ -20,6 +20,8 @@ import android.Manifest.permission.ACCESS_COARSE_LOCATION import android.Manifest.permission.ACCESS_FINE_LOCATION import android.Manifest.permission.CAMERA import android.os.Build +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.provider.DeviceConfig import android.safetylabel.SafetyLabelConstants.PERMISSION_RATIONALE_ENABLED import androidx.test.filters.FlakyTest @@ -40,6 +42,9 @@ import org.junit.Test class PermissionRationalePermissionGrantDialogTest : BaseUsePermissionTest() { @get:Rule + val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + + @get:Rule val deviceConfigPermissionRationaleEnabled = DeviceConfigStateChangerRule( context, @@ -243,6 +248,76 @@ class PermissionRationalePermissionGrantDialogTest : BaseUsePermissionTest() { } } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun requestCoarseLocationPerm_hasAslInApk_packageSourceUnspecified() { + installPackageWithInstallSourceAndNoMetadata(APP_APK_NAME_31_WITH_ASL) + + assertAppHasPermission(ACCESS_COARSE_LOCATION, false) + + requestAppPermissionsForNoResult(ACCESS_COARSE_LOCATION) { + assertPermissionRationaleContainerOnGrantDialogIsVisible(false) + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun requestCoarseLocationPerm_hasAslInApk_packageSourceStore() { + installPackageWithInstallSourceAndNoMetadataFromStore(APP_APK_NAME_31_WITH_ASL) + + assertAppHasPermission(ACCESS_COARSE_LOCATION, false) + + requestAppPermissionsForNoResult(ACCESS_COARSE_LOCATION) { + assertPermissionRationaleContainerOnGrantDialogIsVisible(false) + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun requestCoarseLocationPerm_hasAslInApk_packageSourceLocalFile() { + installPackageWithInstallSourceAndNoMetadataFromLocalFile(APP_APK_NAME_31_WITH_ASL) + + assertAppHasPermission(ACCESS_COARSE_LOCATION, false) + + requestAppPermissionsForNoResult(ACCESS_COARSE_LOCATION) { + assertPermissionRationaleContainerOnGrantDialogIsVisible(false) + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun requestCoarseLocationPerm_hasAslInApk_packageSourceDownloadedFile() { + installPackageWithInstallSourceAndNoMetadataFromDownloadedFile(APP_APK_NAME_31_WITH_ASL) + + assertAppHasPermission(ACCESS_COARSE_LOCATION, false) + + requestAppPermissionsForNoResult(ACCESS_COARSE_LOCATION) { + assertPermissionRationaleContainerOnGrantDialogIsVisible(false) + } + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun requestCoarseLocationPerm_hasAslInApk_packageSourceOther() { + installPackageWithInstallSourceAndNoMetadataFromOther(APP_APK_NAME_31_WITH_ASL) + + assertAppHasPermission(ACCESS_COARSE_LOCATION, false) + + requestAppPermissionsForNoResult(ACCESS_COARSE_LOCATION) { + assertPermissionRationaleContainerOnGrantDialogIsVisible(false) + } + } + @Test fun requestFineLocationPerm_hasPermissionRationale() { installPackageWithInstallSourceAndMetadata(APP_APK_NAME_31) diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionSplitTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionSplitTest.kt index 927b9833b..d509add3a 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionSplitTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionSplitTest.kt @@ -87,7 +87,11 @@ class PermissionSplitTest : BaseUsePermissionTest() { if (expectSplit) { clickPermissionRequestSettingsLinkAndAllowAlways() } else { - doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + if (isWatch) { + clickPermissionRequestAllowForegroundButton() + } else { + doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + } } } @@ -105,7 +109,11 @@ class PermissionSplitTest : BaseUsePermissionTest() { if (expectSplit) { clickPermissionRequestSettingsLinkAndAllowAlways() } else { - doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + if (isWatch) { + clickPermissionRequestAllowForegroundButton() + } else { + doAndWaitForWindowTransition { clickPermissionRequestAllowForegroundButton() } + } } } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTapjackingTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTapjackingTest.kt index 3a8a6a838..b81432369 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTapjackingTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTapjackingTest.kt @@ -43,6 +43,9 @@ class PermissionTapjackingTest : BaseUsePermissionTest() { // PermissionController for television uses a floating window. assumeFalse(isTv) + // Automotive split-screen multitasking uses multi-window mode + assumeFalse(isAutomotiveSplitscreen) + assertAppHasPermission(ACCESS_FINE_LOCATION, false) requestAppPermissionsForNoResult(ACCESS_FINE_LOCATION) {} @@ -63,6 +66,9 @@ class PermissionTapjackingTest : BaseUsePermissionTest() { // PermissionController for television uses a floating window. assumeFalse(isTv) + // Automotive split-screen multitasking uses multi-window mode + assumeFalse(isAutomotiveSplitscreen) + assertAppHasPermission(ACCESS_FINE_LOCATION, false) requestAppPermissionsForNoResult(ACCESS_FINE_LOCATION) {} diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest23.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest23.kt index 01993adc5..4f06fb417 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest23.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest23.kt @@ -26,7 +26,6 @@ import org.junit.Before import org.junit.Test /** Runtime permission behavior tests for apps targeting API 23. */ -@FlakyTest class PermissionTest23 : BaseUsePermissionTest() { companion object { private const val NON_EXISTENT_PERMISSION = "permission.does.not.exist" @@ -39,12 +38,14 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testDefault() { // New permission model is denied by default assertAppHasAllOrNoPermissions(false) } @Test + @FlakyTest fun testGranted() { grantAppPermissionsByUi(android.Manifest.permission.READ_CALENDAR) @@ -55,6 +56,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testInteractiveGrant() { // Start out without permission assertAppHasPermission(android.Manifest.permission.READ_CALENDAR, false) @@ -74,6 +76,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testRuntimeGroupGrantSpecificity() { // Start out without permission assertAppHasPermission(android.Manifest.permission.READ_CONTACTS, false) @@ -90,6 +93,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testCancelledPermissionRequest() { // Make sure we don't have the permission assertAppHasPermission(android.Manifest.permission.WRITE_CONTACTS, false) @@ -102,6 +106,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testRequestGrantedPermission() { // Make sure we don't have the permission assertAppHasPermission(android.Manifest.permission.WRITE_CONTACTS, false) @@ -121,6 +126,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testDenialWithPrejudice() { // Make sure we don't have the permission assertAppHasPermission(android.Manifest.permission.WRITE_CONTACTS, false) @@ -163,6 +169,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testGrantPreviouslyRevokedWithPrejudiceShowsPrompt() { // Make sure we don't have the permission assertAppHasPermission(android.Manifest.permission.READ_CALENDAR, false) @@ -195,6 +202,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testRequestNonRuntimePermission() { // Make sure we don't have the permission assertAppHasPermission(android.Manifest.permission.BIND_PRINT_SERVICE, false) @@ -208,6 +216,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testRequestNonExistentPermission() { // Make sure we don't have the permission assertAppHasPermission(NON_EXISTENT_PERMISSION, false) @@ -221,6 +230,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testRequestPermissionFromTwoGroups() { // Make sure we don't have the permissions assertAppHasPermission(android.Manifest.permission.WRITE_CONTACTS, false) @@ -274,6 +284,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testNullPermissionRequest() { val permissions: Array<String?> = arrayOf(null) val results: Array<Pair<String?, Boolean>> = arrayOf() @@ -286,6 +297,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testNullAndRealPermission() { // Make sure we don't have the permissions assertAppHasPermission(android.Manifest.permission.WRITE_CONTACTS, false) @@ -311,6 +323,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testInvalidPermission() { // Request the permission and allow it // Expect the permission is not granted @@ -321,6 +334,7 @@ class PermissionTest23 : BaseUsePermissionTest() { } @Test + @FlakyTest fun testAskButtonSetsFlags() { Assume.assumeFalse( "other form factors might not support the ask button", diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest29.kt b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest29.kt index 892cae5c6..3278596d4 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest29.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PermissionTest29.kt @@ -16,10 +16,14 @@ package android.permissionui.cts +import android.content.ComponentName +import android.content.Intent import android.permission.cts.MtsIgnore +import android.platform.test.annotations.AsbSecurityTest import androidx.test.filters.FlakyTest import androidx.test.uiautomator.By import com.android.compatibility.common.util.SystemUtil.eventually +import org.junit.Assert import org.junit.Assume.assumeFalse import org.junit.Before import org.junit.Test @@ -173,6 +177,11 @@ class PermissionTest29 : BaseUsePermissionTest() { pressBack() if (isAutomotive) { waitFindObject(By.textContains("Allow in settings."), 100) + } else if (isWatch) { + waitForIdleLong() + findAccessibilityNodeInfosByTextForSurfaceView( + uiAutomation.rootInActiveWindow, + "Allow in settings") } else { waitFindObject(By.res("com.android.permissioncontroller:id/grant_dialog"), 100) } @@ -202,4 +211,31 @@ class PermissionTest29 : BaseUsePermissionTest() { assertAppHasPermission(android.Manifest.permission.ACCESS_FINE_LOCATION, false) assertAppHasPermission(android.Manifest.permission.ACCESS_BACKGROUND_LOCATION, false) } + + @Test + @AsbSecurityTest(cveBugId = [313909156]) + fun testAppCanOnlyShowOneDialog() { + uninstallPackage(APP_PACKAGE_NAME, requireSuccess = true) + installPackage(APP_APK_PATH_TWO_PERM_REQUESTS) + doAndWaitForWindowTransition { + val intent = + Intent(Intent.ACTION_MAIN) + .setComponent(ComponentName(APP_PACKAGE_NAME, "$APP_PACKAGE_NAME.Activity1")) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK) + context.startActivity(intent) + } + waitFindObject( + By.textContains("contacts").pkg(packageManager.permissionControllerPackageName) + ) + var didNotFindPhone = false + try { + waitFindObject( + By.textContains("phone calls").pkg(packageManager.permissionControllerPackageName), + 3000L + ) + } catch (expected: Exception) { + didNotFindPhone = true + } + Assert.assertTrue("Found phone permission dialog", didNotFindPhone) + } } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerPermissionTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerPermissionTest.kt index 1f1aba1e7..883cb2601 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerPermissionTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerPermissionTest.kt @@ -20,6 +20,7 @@ import android.Manifest.permission.ACCESS_MEDIA_LOCATION import android.Manifest.permission.READ_MEDIA_IMAGES import android.Manifest.permission.READ_MEDIA_VIDEO import android.Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED +import android.app.UiAutomation.ROTATION_FREEZE_0 import android.app.UiAutomation.ROTATION_FREEZE_270 import android.app.UiAutomation.ROTATION_UNFREEZE import android.content.pm.PackageManager @@ -301,7 +302,7 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { fun testSelectPhotosInSettingsImplicit() { installPackage(APP_APK_PATH_IMPLICIT_USER_SELECT_STORAGE) navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - click(By.res(SELECT_RADIO_BUTTON)) + click(By.res(ALLOW_LIMITED_RADIO_BUTTON)) eventually { assertAppHasPermission(READ_MEDIA_IMAGES, expectPermission = false) @@ -315,7 +316,7 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { fun testSelectPhotosInSettingsExplicit() { installPackage(APP_APK_PATH_LATEST) navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - click(By.res(SELECT_RADIO_BUTTON)) + click(By.res(ALLOW_LIMITED_RADIO_BUTTON)) eventually { assertAppHasPermission(READ_MEDIA_IMAGES, expectPermission = false) @@ -347,7 +348,7 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { } navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - findView(By.res(SELECT_RADIO_BUTTON), expected = false) + findView(By.res(ALLOW_LIMITED_RADIO_BUTTON), expected = false) } @Test @@ -372,7 +373,7 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { } navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - findView(By.res(SELECT_RADIO_BUTTON), expected = false) + findView(By.res(ALLOW_LIMITED_RADIO_BUTTON), expected = false) } @Test @@ -476,9 +477,9 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { waitForWindowTransition = false ) { doAndWaitForWindowTransition { click(By.res(SELECT_BUTTON)) } - clickImageOrVideo() try { doAndWaitForWindowTransition { uiAutomation.setRotation(ROTATION_FREEZE_270) } + doAndWaitForWindowTransition { uiAutomation.setRotation(ROTATION_FREEZE_0) } clickImageOrVideo() doAndWaitForWindowTransition { clickAllow() } } finally { @@ -491,8 +492,8 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { fun testCanSelectPhotosInSettings() { installPackage(APP_APK_PATH_LATEST) navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - click(By.res(SELECT_RADIO_BUTTON)) - doAndWaitForWindowTransition { click(By.res(EDIT_PHOTOS_BUTTON)) } + click(By.res(ALLOW_LIMITED_RADIO_BUTTON)) + doAndWaitForWindowTransition { click(By.res(SELECT_PHOTOS_BUTTON)) } clickImageOrVideo() clickAllow() } @@ -501,7 +502,7 @@ class PhotoPickerPermissionTest : BaseUsePermissionTest() { fun testEditButtonNotShownInSettingsWhenNoPhotosRequested() { installPackage(APP_APK_PATH_LATEST) navigateToIndividualPermissionSetting(READ_MEDIA_IMAGES) - UiAutomatorUtils2.waitUntilObjectGone(By.res(EDIT_PHOTOS_BUTTON)) + UiAutomatorUtils2.waitUntilObjectGone(By.res(SELECT_PHOTOS_BUTTON)) } private fun clickImageOrVideo() { diff --git a/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerUtils.kt b/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerUtils.kt index 9a6de1514..db6c412db 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerUtils.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/PhotoPickerUtils.kt @@ -22,7 +22,7 @@ import android.net.Uri import android.os.Bundle import android.os.FileUtils import android.provider.MediaStore -import android.provider.cts.ProviderTestUtils +import android.provider.cts.media.MediaProviderTestUtils import android.provider.cts.media.MediaStoreUtils import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity import java.io.IOException @@ -92,7 +92,7 @@ object PhotoPickerUtils { return } try { - ProviderTestUtils.setOwner(uri, context.packageName) + MediaProviderTestUtils.setOwner(uri, context.packageName) context.contentResolver.delete(uri, Bundle.EMPTY) } catch (ignored: Exception) {} } diff --git a/tests/cts/permissionui/src/android/permissionui/cts/SafetyLabelChangesJobServiceTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/SafetyLabelChangesJobServiceTest.kt index 690d76729..dbbdae921 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/SafetyLabelChangesJobServiceTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/SafetyLabelChangesJobServiceTest.kt @@ -36,6 +36,8 @@ import android.permission.cts.PermissionUtils import android.permission.cts.TestUtils import android.permissionui.cts.AppMetadata.createAppMetadataWithLocationSharingNoAds import android.permissionui.cts.AppMetadata.createAppMetadataWithNoSharing +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.provider.DeviceConfig import android.safetylabel.SafetyLabelConstants import android.safetylabel.SafetyLabelConstants.SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED @@ -61,6 +63,9 @@ import org.junit.Test class SafetyLabelChangesJobServiceTest : BaseUsePermissionTest() { @get:Rule + val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + + @get:Rule val safetyLabelChangeNotificationsEnabledConfig = DeviceConfigStateChangerRule( context, @@ -101,11 +106,6 @@ class SafetyLabelChangesJobServiceTest : BaseUsePermissionTest() { SystemUtil.runShellCommand("input keyevent KEYCODE_WAKEUP") SystemUtil.runShellCommand("wm dismiss-keyguard") - // Bypass battery saving restrictions - SystemUtil.runShellCommand( - "cmd tare set-vip " + - "${Process.myUserHandle().identifier} $permissionControllerPackageName true" - ) CtsNotificationListenerServiceUtils.cancelNotifications(permissionControllerPackageName) resetPermissionControllerAndSimulateReboot() } @@ -115,11 +115,6 @@ class SafetyLabelChangesJobServiceTest : BaseUsePermissionTest() { cancelJob(SAFETY_LABEL_CHANGES_DETECT_UPDATES_JOB_ID) cancelJob(SAFETY_LABEL_CHANGES_PERIODIC_NOTIFICATION_JOB_ID) CtsNotificationListenerServiceUtils.cancelNotifications(permissionControllerPackageName) - // Reset battery saving restrictions - SystemUtil.runShellCommand( - "cmd tare set-vip " + - "${Process.myUserHandle().identifier} $permissionControllerPackageName default" - ) } @Test @@ -314,7 +309,7 @@ class SafetyLabelChangesJobServiceTest : BaseUsePermissionTest() { } @Test - fun runNotificationJob_packageSourceDownloadedFile_udoesNotShowNotification() { + fun runNotificationJob_packageSourceDownloadedFile_doesNotShowNotification() { installPackageViaSession( APP_APK_NAME_31, createAppMetadataWithNoSharing(), @@ -335,6 +330,126 @@ class SafetyLabelChangesJobServiceTest : BaseUsePermissionTest() { assertNotificationNotShown() } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun runNotificationJob_packageSourceUnspecified_aslInApk_doesNotShowNotification() { + installPackageViaSession( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_UNSPECIFIED + ) + waitForBroadcastReceiverFinished() + installPackageNoBroadcast( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_UNSPECIFIED + ) + grantLocationPermission(APP_PACKAGE_NAME) + + // Run the job to check whether the missing safety label for the above app update is + // identified and recorded. + runNotificationJob() + + assertNotificationNotShown() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun runNotificationJob_packageSourceOther_aslInApk_doesNotShowNotification() { + installPackageViaSession( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_OTHER + ) + waitForBroadcastReceiverFinished() + installPackageNoBroadcast( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_OTHER + ) + grantLocationPermission(APP_PACKAGE_NAME) + + // Run the job to check whether the missing safety label for the above app update is + // identified and recorded. + runNotificationJob() + + assertNotificationNotShown() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun runNotificationJob_packageSourceStore_aslInApk_doesNotShowNotification() { + installPackageViaSession( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_STORE + ) + waitForBroadcastReceiverFinished() + installPackageNoBroadcast( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_STORE + ) + grantLocationPermission(APP_PACKAGE_NAME) + + // Run the job to check whether the missing safety label for the above app update is + // identified and recorded. + runNotificationJob() + + assertNotificationNotShown() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun runNotificationJob_packageSourceLocalFile_aslInApk_doesNotShowNotification() { + installPackageViaSession( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_LOCAL_FILE + ) + waitForBroadcastReceiverFinished() + installPackageNoBroadcast( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_LOCAL_FILE + ) + grantLocationPermission(APP_PACKAGE_NAME) + + // Run the job to check whether the missing safety label for the above app update is + // identified and recorded. + runNotificationJob() + + assertNotificationNotShown() + } + + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @RequiresFlagsEnabled(android.content.pm.Flags.FLAG_ASL_IN_APK_APP_METADATA_SOURCE) + @Test + fun runNotificationJob_packageSourceDownloadedFile_aslInApk_doesNotShowNotification() { + installPackageViaSession( + APP_APK_NAME_31, + createAppMetadataWithNoSharing(), + PACKAGE_SOURCE_DOWNLOADED_FILE + ) + waitForBroadcastReceiverFinished() + installPackageNoBroadcast( + APP_APK_NAME_31_WITH_ASL, + packageSource = PACKAGE_SOURCE_DOWNLOADED_FILE + ) + grantLocationPermission(APP_PACKAGE_NAME) + + // Run the job to check whether the missing safety label for the above app update is + // identified and recorded. + runNotificationJob() + + assertNotificationNotShown() + } + private fun grantLocationPermission(packageName: String) { uiAutomation.grantRuntimePermission( packageName, diff --git a/tests/cts/permissionui/src/android/permissionui/cts/SensorBlockedBannerTest.kt b/tests/cts/permissionui/src/android/permissionui/cts/SensorBlockedBannerTest.kt index f8c7d4f51..614b59f3c 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/SensorBlockedBannerTest.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/SensorBlockedBannerTest.kt @@ -31,6 +31,7 @@ import androidx.test.filters.SdkSuppress import androidx.test.uiautomator.By import com.android.compatibility.common.util.SystemUtil.callWithShellPermissionIdentity import com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity +import com.android.modules.utils.build.SdkLevel import java.util.regex.Pattern import org.junit.Assert.assertTrue import org.junit.Assume @@ -50,7 +51,6 @@ class SensorBlockedBannerTest : BaseUsePermissionTest() { private val sensorPrivacyManager = context.getSystemService(SensorPrivacyManager::class.java)!! private val locationManager = context.getSystemService(LocationManager::class.java)!! - private val safetyCenterManager = context.getSystemService(SafetyCenterManager::class.java)!! private val sensorToPermissionGroup = mapOf( @@ -122,7 +122,11 @@ class SensorBlockedBannerTest : BaseUsePermissionTest() { @Test fun testCardClickOpenPrivacyControls() { + Assume.assumeTrue(SdkLevel.isAtLeastT()) Assume.assumeTrue(sensorPrivacyManager.supportsSensorToggle(CAMERA)) + val safetyCenterManager = context.getSystemService(SafetyCenterManager::class.java) + Assume.assumeNotNull(safetyCenterManager) + var isSafetyCenterEnabled = false runWithShellPermissionIdentity { isSafetyCenterEnabled = safetyCenterManager.isSafetyCenterEnabled diff --git a/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt b/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt index 8caa4e6bf..f9f9e8cd2 100644 --- a/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt +++ b/tests/cts/permissionui/src/android/permissionui/cts/StartForFutureActivity.kt @@ -21,7 +21,9 @@ import android.app.Instrumentation import android.content.Intent import android.os.Bundle import android.util.Log +import android.util.LruCache import java.util.concurrent.CompletableFuture +import java.util.concurrent.atomic.AtomicInteger class StartForFutureActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -36,26 +38,25 @@ class StartForFutureActivity : Activity() { intent: Intent, future: CompletableFuture<Instrumentation.ActivityResult> ) { - if (StartForFutureActivity.future != null) { - throw RuntimeException( - "StartForFutureActivity only supports launching one " + - "concurrent activity, but more than one was attempted." - ) - } - - startActivityForResult(intent, 1) - StartForFutureActivity.future = future + val requestCode = nextRequestCode.getAndIncrement() + futures.put(requestCode, future) + startActivityForResult(intent, requestCode) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) - future!!.complete(Instrumentation.ActivityResult(resultCode, data)) - future = null + val future = + futures.remove(requestCode) + ?: throw IllegalStateException( + "StartForFutureActivity received an activity result with an unknown requestCode" + ) + future.complete(Instrumentation.ActivityResult(resultCode, data)) finish() } companion object { - private var future: CompletableFuture<Instrumentation.ActivityResult>? = null private val TAG = StartForFutureActivity::class.simpleName + private var nextRequestCode = AtomicInteger(1) + private val futures = LruCache<Int, CompletableFuture<Instrumentation.ActivityResult>>(10) } } diff --git a/tests/cts/role/Android.bp b/tests/cts/role/Android.bp index 368a45263..ce07bd01d 100644 --- a/tests/cts/role/Android.bp +++ b/tests/cts/role/Android.bp @@ -28,22 +28,26 @@ android_test { ], static_libs: [ + "android.permission.flags-aconfig-java", "androidx.test.rules", "compatibility-device-util-axt", "ctstestrunner-axt", - "truth", + "Harrier", "platform-test-annotations", + "truth", ], test_suites: [ "cts", "general-tests", "mts-permission", + "mcts-permission", ], data: [ ":CtsRoleTestApp", ":CtsRoleTestApp28", ":CtsRoleTestApp33WithoutInCallService", + ":CtsRoleTestAppForProfile", ], } diff --git a/tests/cts/role/AndroidTest.xml b/tests/cts/role/AndroidTest.xml index 527ac3d32..a53fa62d0 100644 --- a/tests/cts/role/AndroidTest.xml +++ b/tests/cts/role/AndroidTest.xml @@ -42,6 +42,7 @@ <option name="push" value="CtsRoleTestApp.apk->/data/local/tmp/cts-role/CtsRoleTestApp.apk" /> <option name="push" value="CtsRoleTestApp28.apk->/data/local/tmp/cts-role/CtsRoleTestApp28.apk" /> <option name="push" value="CtsRoleTestApp33WithoutInCallService.apk->/data/local/tmp/cts-role/CtsRoleTestApp33WithoutInCallService.apk" /> + <option name="push" value="CtsRoleTestAppForProfile.apk->/data/local/tmp/cts-role/CtsRoleTestAppForProfile.apk" /> </target_preparer> <test class="com.android.tradefed.testtype.AndroidJUnitTest" > diff --git a/tests/cts/role/CtsRoleTestAppForProfile/Android.bp b/tests/cts/role/CtsRoleTestAppForProfile/Android.bp new file mode 100644 index 000000000..1d9a1e6e8 --- /dev/null +++ b/tests/cts/role/CtsRoleTestAppForProfile/Android.bp @@ -0,0 +1,23 @@ +// Copyright (C) 2024 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +android_test_helper_app { + name: "CtsRoleTestAppForProfile", + defaults: ["mts-target-sdk-version-current"], + min_sdk_version: "30", +} diff --git a/tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml b/tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml new file mode 100644 index 000000000..05413e55f --- /dev/null +++ b/tests/cts/role/CtsRoleTestAppForProfile/AndroidManifest.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + ~ Copyright (C) 2024 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. + --> + +<manifest + xmlns:android="http://schemas.android.com/apk/res/android" + package="android.app.role.cts.appForProfile"> + + <application android:label="CtsRoleTestAppForProfile"> + <!-- Browser --> + <activity + android:name=".BrowserActivity" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + <category android:name="android.intent.category.BROWSABLE" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:scheme="http" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/tests/cts/role/TEST_MAPPING b/tests/cts/role/TEST_MAPPING index 01d04bea0..46b148e68 100644 --- a/tests/cts/role/TEST_MAPPING +++ b/tests/cts/role/TEST_MAPPING @@ -26,6 +26,23 @@ ] } ], + "permission-mainline-presubmit": [ + { + "name": "CtsRoleTestCases", + "options": [ + // TODO(b/238677748): These two tests currently fails on R base image + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#openDefaultAppListThenIsNotDefaultAppInList" + }, + { + "exclude-filter": "android.app.role.cts.RoleManagerTest#removeSmsRoleHolderThenPermissionIsRevoked" + }, + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } + ], "postsubmit": [ { "name": "CtsRoleTestCases" diff --git a/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java b/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java index f3c2c445e..56f681388 100644 --- a/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java +++ b/tests/cts/role/src/android/app/role/cts/RoleManagerTest.java @@ -27,9 +27,11 @@ import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; import static org.junit.Assert.fail; +import static org.junit.Assume.assumeFalse; import static org.junit.Assume.assumeTrue; import android.app.Activity; +import android.app.AppOpsManager; import android.app.Instrumentation; import android.app.role.OnRoleHoldersChangedListener; import android.app.role.RoleManager; @@ -41,8 +43,13 @@ import android.content.pm.PermissionInfo; import android.os.Build; import android.os.Process; import android.os.UserHandle; +import android.permission.flags.Flags; +import android.platform.test.annotations.RequiresFlagsEnabled; +import android.platform.test.flag.junit.CheckFlagsRule; +import android.platform.test.flag.junit.DeviceFlagsValueProvider; import android.provider.Settings; import android.provider.Telephony; +import android.telephony.TelephonyManager; import android.util.Pair; import androidx.annotation.NonNull; @@ -51,12 +58,16 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.FlakyTest; import androidx.test.filters.SdkSuppress; import androidx.test.rule.ActivityTestRule; -import androidx.test.runner.AndroidJUnit4; import androidx.test.uiautomator.By; import androidx.test.uiautomator.BySelector; import androidx.test.uiautomator.UiObject2; import androidx.test.uiautomator.UiObjectNotFoundException; +import androidx.test.uiautomator.Until; +import com.android.bedstead.harrier.BedsteadJUnit4; +import com.android.bedstead.harrier.DeviceState; +import com.android.bedstead.harrier.annotations.EnsureHasPrivateProfile; +import com.android.bedstead.nene.types.OptionalBoolean; import com.android.compatibility.common.util.DisableAnimationRule; import com.android.compatibility.common.util.FreezeRotationRule; import com.android.compatibility.common.util.TestUtils; @@ -65,6 +76,7 @@ import com.android.compatibility.common.util.UiAutomatorUtils; import org.junit.After; import org.junit.Before; +import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -81,7 +93,7 @@ import java.util.function.Consumer; /** * Tests {@link RoleManager}. */ -@RunWith(AndroidJUnit4.class) +@RunWith(BedsteadJUnit4.class) public class RoleManagerTest { private static final long TIMEOUT_MILLIS = 15 * 1000; @@ -89,11 +101,17 @@ public class RoleManagerTest { private static final long UNEXPECTED_TIMEOUT_MILLIS = 1000; private static final String ROLE_NAME = RoleManager.ROLE_BROWSER; + private static final String ROLE_PHONE_NAME = RoleManager.ROLE_DIALER; + private static final String ROLE_SMS_NAME = RoleManager.ROLE_SMS; private static final String ROLE_SHORT_LABEL = "Browser app"; private static final String APP_APK_PATH = "/data/local/tmp/cts-role/CtsRoleTestApp.apk"; private static final String APP_PACKAGE_NAME = "android.app.role.cts.app"; private static final String APP_LABEL = "CtsRoleTestApp"; + private static final String APP_FOR_PROFILE_APK_PATH = + "/data/local/tmp/cts-role/CtsRoleTestAppForProfile.apk"; + private static final String APP_FOR_PROFILE_PACKAGE_NAME = "android.app.role.cts.appForProfile"; + private static final String APP_FOR_PROFILE = "CtsRoleTestAppForProfile"; private static final String APP_IS_ROLE_HELD_ACTIVITY_NAME = APP_PACKAGE_NAME + ".IsRoleHeldActivity"; private static final String APP_IS_ROLE_HELD_EXTRA_IS_ROLE_HELD = APP_PACKAGE_NAME @@ -126,9 +144,15 @@ public class RoleManagerTest { private static final Context sContext = InstrumentationRegistry.getTargetContext(); private static final PackageManager sPackageManager = sContext.getPackageManager(); private static final RoleManager sRoleManager = sContext.getSystemService(RoleManager.class); + private static final boolean sIsAutomotive = sPackageManager.hasSystemFeature( + PackageManager.FEATURE_AUTOMOTIVE); + private static final boolean sIsTelevision = sPackageManager.hasSystemFeature( + PackageManager.FEATURE_TELEVISION); private static final boolean sIsWatch = sPackageManager.hasSystemFeature( PackageManager.FEATURE_WATCH); + private static final BySelector ENHANCED_CONFIRMATION_DIALOG_SELECTOR = + By.res("com.android.permissioncontroller:id/enhanced_confirmation_dialog_title"); // TODO(b/327528959): consider using resource selectors for Wear too, once the underlying // issue is handled. private static final BySelector NEGATIVE_BUTTON_SELECTOR = @@ -141,6 +165,8 @@ public class RoleManagerTest { : By.res("com.android.permissioncontroller:id/dont_ask_again"); @Rule + public CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); + @Rule public DisableAnimationRule mDisableAnimationRule = new DisableAnimationRule(); @Rule @@ -150,6 +176,10 @@ public class RoleManagerTest { public ActivityTestRule<WaitForResultActivity> mActivityRule = new ActivityTestRule<>(WaitForResultActivity.class); + @ClassRule + @Rule + public static final DeviceState sDeviceState = new DeviceState(); + private String mRoleHolder; @Before @@ -231,6 +261,24 @@ public class RoleManagerTest { assertIsRoleHolder(ROLE_NAME, APP_PACKAGE_NAME, true); } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @Test + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") + public void requestRoleThenBlockRequestRoleDialogByRestrictedSettingDialog() throws Exception { + assumeTrue(sRoleManager.isRoleAvailable(RoleManager.ROLE_SMS)); + assumeFalse(sIsWatch || sIsAutomotive || sIsTelevision); + runWithShellPermissionIdentity( + () -> setEnhancedConfirmationRestrictedAppOpMode(sContext, APP_PACKAGE_NAME, + AppOpsManager.MODE_ERRORED)); + + requestRole(ROLE_SMS_NAME); + waitFindObject(ENHANCED_CONFIRMATION_DIALOG_SELECTOR, TIMEOUT_MILLIS); + + pressBack(); + } + @Test @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") public void requestRoleFirstTimeNoDontAskAgain() throws Exception { @@ -440,13 +488,19 @@ public class RoleManagerTest { } private void installPackage(@NonNull String apkPath) { - runShellCommandOrThrow( - "pm install -r --user " + Process.myUserHandle().getIdentifier() + " " + apkPath); + installPackage(apkPath, Process.myUserHandle()); + } + + private void installPackage(@NonNull String apkPath, UserHandle user) { + runShellCommandOrThrow("pm install -r --user " + user.getIdentifier() + " " + apkPath); } private void uninstallPackage(@NonNull String packageName) { - runShellCommand("pm uninstall --user " + Process.myUserHandle().getIdentifier() + " " - + packageName); + uninstallPackage(packageName, Process.myUserHandle()); + } + + private void uninstallPackage(@NonNull String packageName, UserHandle user) { + runShellCommand("pm uninstall --user " + user.getIdentifier() + " " + packageName); } @Test @@ -633,6 +687,35 @@ public class RoleManagerTest { pressBack(); } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, codeName = + "VanillaIceCream") + @Test + @RequiresFlagsEnabled(Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED) + @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") + public void openDefaultAppDetailsOnHandHeldThenRestrictedAppIsNotSelectableAsDefaultApp() + throws Exception { + assumeTrue(sRoleManager.isRoleAvailable(RoleManager.ROLE_DIALER)); + assumeFalse(sIsWatch || sIsAutomotive || sIsTelevision); + runWithShellPermissionIdentity( + () -> setEnhancedConfirmationRestrictedAppOpMode(sContext, APP_PACKAGE_NAME, + AppOpsManager.MODE_ERRORED)); + + runWithShellPermissionIdentity(() -> sContext.startActivity(new Intent( + Intent.ACTION_MANAGE_DEFAULT_APP) + .addCategory(Intent.CATEGORY_DEFAULT) + .putExtra(Intent.EXTRA_ROLE_NAME, ROLE_PHONE_NAME) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK + | Intent.FLAG_ACTIVITY_CLEAR_TASK))); + + waitFindObject(By.text(APP_LABEL).enabled(false)).clickAndWait(Until.newWindow(), + TIMEOUT_MILLIS); + + waitFindObject(ENHANCED_CONFIRMATION_DIALOG_SELECTOR, TIMEOUT_MILLIS); + pressBack(); + + pressBack(); + } + @Test @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") public void openDefaultAppDetailsAndSetDefaultAppThenIsDefaultApp() throws Exception { @@ -687,8 +770,8 @@ public class RoleManagerTest { if (sIsWatch) { waitFindObject(By.clickable(true).checked(false)).click(); } else { - waitFindObject( - By.clickable(true).hasDescendant(By.checkable(true).checked(false))).click(); + waitFindObject(By.clickable(true).hasDescendant(By.checkable(true).enabled(true) + .checked(false))).click(); } if (sIsWatch) { @@ -714,7 +797,7 @@ public class RoleManagerTest { pressBack(); } - @FlakyTest(bugId = 333036689, detail = "This test breaches flakiness SLO") + @FlakyTest @Test public void openDefaultAppListThenIsNotDefaultAppInList() throws Exception { sContext.startActivity(new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS) @@ -757,6 +840,45 @@ public class RoleManagerTest { } @Test + @RequiresFlagsEnabled(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE) + @EnsureHasPrivateProfile(installInstrumentedApp = OptionalBoolean.TRUE) + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, + codeName = "VanillaIceCream") + @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") + public void openDefaultAppListAndSetDefaultAppThenIsDefaultAppForPrivateSpace() + throws Exception { + // Private space is not supported on Watch right now and there are no existing plans yet. + if (sIsWatch) { + return; + } + + UserHandle privateProfile = sDeviceState.privateProfile().userHandle(); + assertThat(privateProfile).isNotNull(); + installPackage(APP_APK_PATH, privateProfile); + installPackage(APP_FOR_PROFILE_APK_PATH, privateProfile); + addRoleHolderAsUser(ROLE_NAME, APP_FOR_PROFILE_PACKAGE_NAME, privateProfile); + + sContext.startActivity(new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS) + .addCategory(Intent.CATEGORY_DEFAULT) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)); + waitForIdle(); + + waitFindObject(By.hasDescendant(By.text(APP_FOR_PROFILE))).click(); + + waitForIdle(); + waitFindObject(By.clickable(true).hasDescendant(By.checkable(true).checked(false)) + .hasDescendant(By.text(APP_LABEL))).click(); + + assertIsRoleHolderAsUser(ROLE_NAME, APP_PACKAGE_NAME, true, privateProfile); + + pressBack(); + pressBack(); + + uninstallPackage(APP_PACKAGE_NAME, privateProfile); + uninstallPackage(APP_FOR_PROFILE_APK_PATH, privateProfile); + } + + @Test @FlakyTest(bugId = 288468003, detail = "CtsRoleTestCases is breaching 20min SLO") public void openDefaultAppListAndSetDefaultAppThenIsDefaultAppInList() throws Exception { sContext.startActivity(new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS) @@ -782,6 +904,15 @@ public class RoleManagerTest { pressBack(); } + private void setEnhancedConfirmationRestrictedAppOpMode(@NonNull Context context, + @NonNull String packageName, int mode) + throws PackageManager.NameNotFoundException { + AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class); + appOpsManager.setMode(AppOpsManager.OPSTR_ACCESS_RESTRICTED_SETTINGS, + context.getPackageManager().getApplicationInfo(packageName, 0).uid, + packageName, mode); + } + private static void waitForIdle() { UiAutomatorUtils.getUiDevice().waitForIdle(); } @@ -1067,6 +1198,32 @@ public class RoleManagerTest { assertThat(Telephony.Sms.getDefaultSmsPackage(sContext)).isEqualTo(APP_PACKAGE_NAME); } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM, + codeName = "VanillaIceCream") + @Test + @RequiresFlagsEnabled(Flags.FLAG_GET_EMERGENCY_ROLE_HOLDER_API_ENABLED) + public void telephonyManagerGetEmergencyAssistancePackageNameBackedByRole() throws Exception { + TelephonyManager telephonyManager = sContext.getSystemService(TelephonyManager.class); + List<String> emergencyRoleHolders = getRoleHolders(RoleManager.ROLE_EMERGENCY); + + if (telephonyManager.isVoiceCapable() + && callWithShellPermissionIdentity(() -> + telephonyManager.isEmergencyAssistanceEnabled())) { + String emergencyAssistancePackageName = callWithShellPermissionIdentity(() -> + telephonyManager.getEmergencyAssistancePackageName()); + if (emergencyRoleHolders.isEmpty()) { + assertThat(emergencyAssistancePackageName).isNull(); + } else { + assertThat(emergencyRoleHolders).hasSize(1); + assertThat(emergencyAssistancePackageName).isEqualTo(emergencyRoleHolders.get(0)); + } + } else { + assertThrows(IllegalStateException.class, () -> + callWithShellPermissionIdentity(() -> + telephonyManager.getEmergencyAssistancePackageName())); + } + } + @SdkSuppress(minSdkVersion = Build.VERSION_CODES.S, codeName = "S") @Test public void cannotBypassRoleQualificationWithoutPermission() throws Exception { @@ -1181,6 +1338,13 @@ public class RoleManagerTest { return callWithShellPermissionIdentity(() -> sRoleManager.getRoleHolders(roleName)); } + @NonNull + private List<String> getRoleHoldersAsUser(@NonNull String roleName, UserHandle userHandle) + throws Exception { + return callWithShellPermissionIdentity( + () -> sRoleManager.getRoleHoldersAsUser(roleName, userHandle)); + } + private void assertIsRoleHolder(@NonNull String roleName, @NonNull String packageName, boolean shouldBeRoleHolder) throws Exception { List<String> packageNames = getRoleHolders(roleName); @@ -1192,12 +1356,20 @@ public class RoleManagerTest { } } + private void assertIsRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName, + boolean shouldBeRoleHolder, UserHandle userHandle) throws Exception { + List<String> packageNames = getRoleHoldersAsUser(roleName, userHandle); + + if (shouldBeRoleHolder) { + assertThat(packageNames).contains(packageName); + } else { + assertThat(packageNames).doesNotContain(packageName); + } + } + private void addRoleHolder(@NonNull String roleName, @NonNull String packageName, boolean expectSuccess) throws Exception { - CallbackFuture future = new CallbackFuture(); - runWithShellPermissionIdentity(() -> sRoleManager.addRoleHolderAsUser(roleName, - packageName, 0, Process.myUserHandle(), sContext.getMainExecutor(), future)); - assertThat(future.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)).isEqualTo(expectSuccess); + addRoleHolderAsUser(roleName, packageName, Process.myUserHandle(), expectSuccess); } private void addRoleHolder(@NonNull String roleName, @NonNull String packageName) @@ -1205,6 +1377,19 @@ public class RoleManagerTest { addRoleHolder(roleName, packageName, true); } + private void addRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName, + UserHandle userHandle, boolean expectSuccess) throws Exception { + CallbackFuture future = new CallbackFuture(); + runWithShellPermissionIdentity(() -> sRoleManager.addRoleHolderAsUser(roleName, + packageName, 0, userHandle, sContext.getMainExecutor(), future)); + assertThat(future.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)).isEqualTo(expectSuccess); + } + + private void addRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName, + UserHandle userHandle) throws Exception { + addRoleHolderAsUser(roleName, packageName, userHandle, true); + } + private void removeRoleHolder(@NonNull String roleName, @NonNull String packageName, boolean expectSuccess) throws Exception { CallbackFuture future = new CallbackFuture(); diff --git a/tests/cts/safetycenter/Android.bp b/tests/cts/safetycenter/Android.bp index 6e0fedec0..e49587c39 100644 --- a/tests/cts/safetycenter/Android.bp +++ b/tests/cts/safetycenter/Android.bp @@ -48,5 +48,6 @@ android_test { "cts", "general-tests", "mts-permission", + "mcts-permission", ], } diff --git a/tests/cts/safetycenter/TEST_MAPPING b/tests/cts/safetycenter/TEST_MAPPING index b1f60307b..3bdba6266 100644 --- a/tests/cts/safetycenter/TEST_MAPPING +++ b/tests/cts/safetycenter/TEST_MAPPING @@ -13,5 +13,15 @@ } ] } + ], + "permission-mainline-presubmit": [ + { + "name": "CtsSafetyCenterTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } ] } diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/config/SafetySourceTest.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/config/SafetySourceTest.kt index 59cc6547a..4b6f0f6f9 100644 --- a/tests/cts/safetycenter/src/android/safetycenter/cts/config/SafetySourceTest.kt +++ b/tests/cts/safetycenter/src/android/safetycenter/cts/config/SafetySourceTest.kt @@ -18,11 +18,14 @@ package android.safetycenter.cts.config import android.content.res.Resources import android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE +import android.os.Build.VERSION_CODES.VANILLA_ICE_CREAM +import android.platform.test.annotations.RequiresFlagsEnabled import android.safetycenter.config.SafetySource import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.truth.os.ParcelableSubject.assertThat import androidx.test.filters.SdkSuppress import com.android.modules.utils.build.SdkLevel +import com.android.permission.flags.Flags import com.android.safetycenter.testing.EqualsHashCodeToStringTester import com.google.common.truth.Truth.assertThat import org.junit.Assert.assertThrows @@ -126,6 +129,35 @@ class SafetySourceTest { } } + @RequiresFlagsEnabled(Flags.FLAG_PRIVATE_PROFILE_TITLE_API) + @SdkSuppress(minSdkVersion = VANILLA_ICE_CREAM, codeName = "VanillaIceCream") + @Test + fun getTitleForPrivateProfileResId_returnsTitleForPrivateProfileResIdOrThrows() { + if (!Flags.privateProfileTitleApi()) { + return + } + assertThrows(UnsupportedOperationException::class.java) { + DYNAMIC_BAREBONE.titleForPrivateProfileResId + } + assertThat(dynamicAllOptional().titleForPrivateProfileResId).isEqualTo(REFERENCE_RES_ID) + assertThrows(UnsupportedOperationException::class.java) { + DYNAMIC_DISABLED.titleForPrivateProfileResId + } + assertThat(DYNAMIC_HIDDEN.titleForPrivateProfileResId).isEqualTo(Resources.ID_NULL) + assertThat(DYNAMIC_HIDDEN_WITH_SEARCH.titleForPrivateProfileResId) + .isEqualTo(REFERENCE_RES_ID) + assertThrows(UnsupportedOperationException::class.java) { + STATIC_BAREBONE.titleForPrivateProfileResId + } + assertThat(STATIC_ALL_OPTIONAL.titleForPrivateProfileResId).isEqualTo(REFERENCE_RES_ID) + assertThrows(UnsupportedOperationException::class.java) { + ISSUE_ONLY_BAREBONE.titleForPrivateProfileResId + } + assertThrows(UnsupportedOperationException::class.java) { + issueOnlyAllOptional().titleForPrivateProfileResId + } + } + @Test fun getSummaryResId_returnsSummaryResIdOrThrows() { assertThat(DYNAMIC_BAREBONE.summaryResId).isEqualTo(REFERENCE_RES_ID) @@ -360,6 +392,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -390,6 +425,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -413,6 +451,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -436,6 +477,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -459,6 +503,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -482,6 +529,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -505,6 +555,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -536,6 +589,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -559,6 +615,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -582,6 +641,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -605,6 +667,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -628,6 +693,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() ) @@ -650,6 +718,11 @@ class SafetySourceTest { .setNotificationsAllowed(false) .setDeduplicationGroup(DEDUPLICATION_GROUP) .addPackageCertificateHash(HASH1) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() ) addEqualityGroup( @@ -669,6 +742,11 @@ class SafetySourceTest { .setNotificationsAllowed(true) .setDeduplicationGroup("other_deduplication_group") .addPackageCertificateHash(HASH1) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() ) // With no package cert hashes provided @@ -688,6 +766,11 @@ class SafetySourceTest { .setRefreshOnPageOpenAllowed(true) .setNotificationsAllowed(true) .setDeduplicationGroup(DEDUPLICATION_GROUP) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() ) // With longer package cert hash list @@ -709,6 +792,11 @@ class SafetySourceTest { .setDeduplicationGroup(DEDUPLICATION_GROUP) .addPackageCertificateHash(HASH1) .addPackageCertificateHash(HASH2) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() ) // With package cert hash list with different value @@ -729,6 +817,11 @@ class SafetySourceTest { .setNotificationsAllowed(true) .setDeduplicationGroup(DEDUPLICATION_GROUP) .addPackageCertificateHash(HASH2) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() ) } @@ -785,6 +878,9 @@ class SafetySourceTest { setDeduplicationGroup(DEDUPLICATION_GROUP) addPackageCertificateHash(HASH1) } + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } } .build() @@ -817,6 +913,11 @@ class SafetySourceTest { .setProfile(SafetySource.PROFILE_ALL) .setInitialDisplayState(SafetySource.INITIAL_DISPLAY_STATE_HIDDEN) .setSearchTermsResId(REFERENCE_RES_ID) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() internal val STATIC_BAREBONE = @@ -837,6 +938,11 @@ class SafetySourceTest { .setIntentAction(INTENT_ACTION) .setProfile(SafetySource.PROFILE_ALL) .setSearchTermsResId(REFERENCE_RES_ID) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(REFERENCE_RES_ID) + } + } .build() internal val ISSUE_ONLY_BAREBONE = diff --git a/tests/functional/safetycenter/multiusers/Android.bp b/tests/functional/safetycenter/multiusers/Android.bp index b5caf48e6..2f1cda9ed 100644 --- a/tests/functional/safetycenter/multiusers/Android.bp +++ b/tests/functional/safetycenter/multiusers/Android.bp @@ -36,6 +36,7 @@ android_test { "Harrier", "Nene", "TestApp", + "permissions-aconfig-flags-lib", ], test_suites: [ "general-tests", diff --git a/tests/functional/safetycenter/multiusers/src/android/safetycenter/functional/multiusers/SafetyCenterMultiUsersTest.kt b/tests/functional/safetycenter/multiusers/src/android/safetycenter/functional/multiusers/SafetyCenterMultiUsersTest.kt index acbc5cfc0..c40c73b41 100644 --- a/tests/functional/safetycenter/multiusers/src/android/safetycenter/functional/multiusers/SafetyCenterMultiUsersTest.kt +++ b/tests/functional/safetycenter/multiusers/src/android/safetycenter/functional/multiusers/SafetyCenterMultiUsersTest.kt @@ -21,6 +21,9 @@ import android.Manifest.permission.INTERACT_ACROSS_USERS_FULL import android.app.PendingIntent import android.content.Context import android.os.UserHandle +import android.platform.test.annotations.RequiresFlagsDisabled +import android.platform.test.annotations.RequiresFlagsEnabled +import android.platform.test.flag.junit.DeviceFlagsValueProvider import android.safetycenter.SafetyCenterData import android.safetycenter.SafetyCenterEntry import android.safetycenter.SafetyCenterEntry.ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING @@ -43,6 +46,7 @@ import com.android.bedstead.harrier.DeviceState import com.android.bedstead.harrier.annotations.EnsureHasAdditionalUser import com.android.bedstead.harrier.annotations.EnsureHasCloneProfile import com.android.bedstead.harrier.annotations.EnsureHasNoWorkProfile +import com.android.bedstead.harrier.annotations.EnsureHasPrivateProfile import com.android.bedstead.harrier.annotations.EnsureHasWorkProfile import com.android.bedstead.harrier.annotations.enterprise.EnsureHasDeviceOwner import com.android.bedstead.harrier.annotations.enterprise.EnsureHasNoDeviceOwner @@ -110,6 +114,8 @@ class SafetyCenterMultiUsersTest { @JvmField @ClassRule @Rule val deviceState: DeviceState = DeviceState() } + @Rule @JvmField val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule() + private val context: Context = ApplicationProvider.getApplicationContext() private val safetyCenterResourcesApk = SafetyCenterResourcesApk.forTests(context) private val safetyCenterTestHelper = SafetyCenterTestHelper(context) @@ -227,6 +233,13 @@ class SafetyCenterMultiUsersTest { .setEnabled(false) .build() + private val dynamicDisabledForPrivateUpdated: SafetyCenterEntry + get() = + safetyCenterEntryOkForPrivate(DYNAMIC_DISABLED_ID, deviceState.privateProfile().id()) + + private val dynamicHiddenForPrivateUpdated: SafetyCenterEntry + get() = safetyCenterEntryOkForPrivate(DYNAMIC_HIDDEN_ID, deviceState.privateProfile().id()) + private val staticGroupBuilder = SafetyCenterEntryGroup.Builder(STATIC_GROUP_ID, "OK") .setSeverityLevel(ENTRY_SEVERITY_LEVEL_UNSPECIFIED) @@ -267,6 +280,24 @@ class SafetyCenterMultiUsersTest { .setEnabled(false) .build() + private val staticAllOptionalForPrivateBuilder + get() = + safetyCenterTestData + .safetyCenterEntryDefaultStaticBuilder( + STATIC_ALL_OPTIONAL_ID, + userId = deviceState.privateProfile().id(), + title = "Unknown" + ) + .setPendingIntent( + createTestActivityRedirectPendingIntentForUser( + deviceState.privateProfile().userHandle(), + explicit = false + ) + ) + + private val staticAllOptionalForPrivate + get() = staticAllOptionalForPrivateBuilder.build() + private fun createStaticEntry(explicit: Boolean = true): SafetyCenterStaticEntry = SafetyCenterStaticEntry.Builder("OK") .setSummary("OK") @@ -292,9 +323,25 @@ class SafetyCenterMultiUsersTest { ) ) + private fun staticEntryForPrivateBuilder( + title: CharSequence = "Unknown", + explicit: Boolean = true + ) = + SafetyCenterStaticEntry.Builder(title) + .setSummary("OK") + .setPendingIntent( + createTestActivityRedirectPendingIntentForUser( + deviceState.privateProfile().userHandle(), + explicit + ) + ) + private fun createStaticEntryForWork(explicit: Boolean = true): SafetyCenterStaticEntry = staticEntryForWorkBuilder(explicit = explicit).build() + private fun createStaticEntryForPrivate(explicit: Boolean = true): SafetyCenterStaticEntry = + staticEntryForPrivateBuilder(explicit = explicit).build() + private fun createStaticEntryForWorkPaused(): SafetyCenterStaticEntry = staticEntryForWorkBuilder(explicit = false) .setSummary(safetyCenterResourcesApk.getStringByName("work_profile_paused")) @@ -313,6 +360,13 @@ class SafetyCenterMultiUsersTest { .setPendingIntent(safetySourceTestData.createTestActivityRedirectPendingIntent()) .build() + private val staticEntryForPrivateUpdated: SafetyCenterStaticEntry + get() = + SafetyCenterStaticEntry.Builder("Unspecified title for Private") + .setSummary("Unspecified summary") + .setPendingIntent(safetySourceTestData.createTestActivityRedirectPendingIntent()) + .build() + private val safetyCenterDataForAdditionalUser get() = SafetyCenterData( @@ -657,7 +711,7 @@ class SafetyCenterMultiUsersTest { @Test @EnsureHasWorkProfile(installInstrumentedApp = TRUE) - fun getSafetyCenterData_withComplexConfigWithAllDataProvided_returnsAllDataProvided() { + fun getSafetyCenterData_withComplexConfigWithExtraWorkOnlyWithAllDataProvided_returnsAllDataProvided() { safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.complexAllProfileConfig) updatePrimaryProfileSources() updateWorkProfileSources() @@ -765,6 +819,267 @@ class SafetyCenterMultiUsersTest { } @Test + @RequiresFlagsDisabled(com.android.permission.flags.Flags.FLAG_PRIVATE_PROFILE_SUPPORTED) + @EnsureHasWorkProfile(installInstrumentedApp = TRUE) + @EnsureHasPrivateProfile(installInstrumentedApp = TRUE) + fun getSafetyCenterData_withComplexConfigWithPrivateProfileDisallowedWithAllDataProvided_returnsAllDataProvided() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.complexAllProfileConfig) + updatePrimaryProfileSources() + updateWorkProfileSources() + updatePrivateProfileSources() + + val apiSafetyCenterData = safetyCenterManager.getSafetyCenterDataWithPermission() + + val managedUserId = deviceState.workProfile().id() + val safetyCenterDataFromComplexConfig = + SafetyCenterData( + safetyCenterTestData.safetyCenterStatusCritical(11), + listOf( + safetyCenterTestData.safetyCenterIssueCritical( + DYNAMIC_BAREBONE_ID, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueCritical( + ISSUE_ONLY_BAREBONE_ID, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueRecommendation( + DYNAMIC_DISABLED_ID, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueRecommendation( + ISSUE_ONLY_ALL_OPTIONAL_ID, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_IN_STATELESS_ID, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_IN_STATELESS_ID, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_DISABLED_ID, + managedUserId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_HIDDEN_ID, + managedUserId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_ALL_OPTIONAL_ID, + managedUserId, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_IN_STATELESS_ID, + managedUserId, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_IN_STATELESS_ID, + managedUserId, + groupId = MIXED_STATELESS_GROUP_ID + ) + ), + listOf( + SafetyCenterEntryOrGroup( + SafetyCenterEntryGroup.Builder(DYNAMIC_GROUP_ID, "OK") + .setSeverityLevel(ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING) + .setSummary("Critical summary") + .setEntries( + listOf( + dynamicBareboneUpdated, + dynamicDisabledUpdated, + dynamicDisabledForWorkUpdated, + dynamicHiddenUpdated, + dynamicHiddenForWorkUpdated + ) + ) + .setSeverityUnspecifiedIconType( + SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION + ) + .build() + ), + SafetyCenterEntryOrGroup( + staticGroupBuilder + .setEntries( + listOf(staticBarebone, staticAllOptional, staticAllOptionalForWork) + ) + .build() + ) + ), + listOf( + SafetyCenterStaticEntryGroup( + "OK", + listOf( + staticEntryUpdated, + staticEntryForWorkUpdated, + createStaticEntry(explicit = false), + createStaticEntryForWork(explicit = false) + ) + ) + ) + ) + assertThat(apiSafetyCenterData.withoutExtras()).isEqualTo(safetyCenterDataFromComplexConfig) + } + + // TODO(b/286539356) add the os feature flag requirement when available. + @Test + @RequiresFlagsEnabled(com.android.permission.flags.Flags.FLAG_PRIVATE_PROFILE_SUPPORTED) + @EnsureHasWorkProfile(installInstrumentedApp = TRUE) + @EnsureHasPrivateProfile(installInstrumentedApp = TRUE) + fun getSafetyCenterData_withComplexConfigWithAllDataProvided_returnsAllDataProvided() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.complexAllProfileConfig) + updatePrimaryProfileSources() + updateWorkProfileSources() + updatePrivateProfileSources() + + val apiSafetyCenterData = safetyCenterManager.getSafetyCenterDataWithPermission() + + val managedUserId = deviceState.workProfile().id() + val privateProfileId = deviceState.privateProfile().id() + val safetyCenterDataFromComplexConfig = + SafetyCenterData( + safetyCenterTestData.safetyCenterStatusCritical(11), + listOf( + safetyCenterTestData.safetyCenterIssueCritical( + DYNAMIC_BAREBONE_ID, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueCritical( + ISSUE_ONLY_BAREBONE_ID, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueRecommendation( + DYNAMIC_DISABLED_ID, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueRecommendation( + ISSUE_ONLY_ALL_OPTIONAL_ID, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_IN_STATELESS_ID, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_IN_STATELESS_ID, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_DISABLED_ID, + managedUserId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_HIDDEN_ID, + managedUserId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_ALL_OPTIONAL_ID, + managedUserId, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_IN_STATELESS_ID, + managedUserId, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_IN_STATELESS_ID, + managedUserId, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_DISABLED_ID, + privateProfileId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_HIDDEN_ID, + privateProfileId, + groupId = DYNAMIC_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_ALL_OPTIONAL_ID, + privateProfileId, + attributionTitle = null, + groupId = ISSUE_ONLY_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + DYNAMIC_IN_STATELESS_ID, + privateProfileId, + groupId = MIXED_STATELESS_GROUP_ID + ), + safetyCenterTestData.safetyCenterIssueInformation( + ISSUE_ONLY_IN_STATELESS_ID, + privateProfileId, + groupId = MIXED_STATELESS_GROUP_ID + ) + ), + listOf( + SafetyCenterEntryOrGroup( + SafetyCenterEntryGroup.Builder(DYNAMIC_GROUP_ID, "OK") + .setSeverityLevel(ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING) + .setSummary("Critical summary") + .setEntries( + listOf( + dynamicBareboneUpdated, + dynamicDisabledUpdated, + dynamicDisabledForWorkUpdated, + dynamicDisabledForPrivateUpdated, + dynamicHiddenUpdated, + dynamicHiddenForWorkUpdated, + dynamicHiddenForPrivateUpdated + ) + ) + .setSeverityUnspecifiedIconType( + SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION + ) + .build() + ), + SafetyCenterEntryOrGroup( + staticGroupBuilder + .setEntries( + listOf( + staticBarebone, + staticAllOptional, + staticAllOptionalForWork, + staticAllOptionalForPrivate + ) + ) + .build() + ) + ), + listOf( + SafetyCenterStaticEntryGroup( + "OK", + listOf( + staticEntryUpdated, + staticEntryForWorkUpdated, + staticEntryForPrivateUpdated, + createStaticEntry(explicit = false), + createStaticEntryForWork(explicit = false), + createStaticEntryForPrivate(explicit = false) + ) + ) + ) + ) + assertThat(apiSafetyCenterData.withoutExtras()).isEqualTo(safetyCenterDataFromComplexConfig) + } + + @Test @EnsureHasWorkProfile(installInstrumentedApp = TRUE) fun getSafetyCenterData_withQuietMode_shouldHaveWorkProfilePausedSummaryAndNoWorkIssues() { safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.complexAllProfileConfig) @@ -920,6 +1235,77 @@ class SafetyCenterMultiUsersTest { } @Test + @RequiresFlagsEnabled(com.android.permission.flags.Flags.FLAG_PRIVATE_PROFILE_SUPPORTED) + @EnsureHasPrivateProfile(installInstrumentedApp = TRUE) + fun getSafetyCenterData_afterPrivateProfileRemoved_returnsDefaultData() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceAllProfileConfig) + val privateSafetyCenterManager = + getSafetyCenterManagerForUser(deviceState.privateProfile().userHandle()) + val safetyCenterDataWithPrivateProfile = + SafetyCenterData( + safetyCenterTestData.safetyCenterStatusUnknown, + emptyList(), + listOf( + SafetyCenterEntryOrGroup( + SafetyCenterEntryGroup.Builder(SINGLE_SOURCE_GROUP_ID, "OK") + .setSeverityLevel(ENTRY_SEVERITY_LEVEL_UNKNOWN) + .setSummary( + safetyCenterResourcesApk.getStringByName("group_unknown_summary") + ) + .setEntries( + listOf( + safetyCenterTestData.safetyCenterEntryDefault( + SINGLE_SOURCE_ALL_PROFILE_ID + ), + safetyCenterTestData.safetyCenterEntryDefault( + SINGLE_SOURCE_ALL_PROFILE_ID, + deviceState.privateProfile().id(), + title = "Unknown", + pendingIntent = + createTestActivityRedirectPendingIntentForUser( + deviceState.privateProfile().userHandle() + ) + ) + ) + ) + .setSeverityUnspecifiedIconType( + SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION + ) + .build() + ) + ), + emptyList() + ) + + assertThat(safetyCenterManager.getSafetyCenterDataWithPermission()) + .isEqualTo(safetyCenterDataWithPrivateProfile) + assertThat( + privateSafetyCenterManager.getSafetyCenterDataWithInteractAcrossUsersPermission() + ) + .isEqualTo(safetyCenterDataWithPrivateProfile) + + deviceState.privateProfile().remove() + + val safetyCenterDataForPrimaryUser = + SafetyCenterData( + safetyCenterTestData.safetyCenterStatusUnknown, + emptyList(), + listOf( + SafetyCenterEntryOrGroup( + safetyCenterTestData.safetyCenterEntryDefault(SINGLE_SOURCE_ALL_PROFILE_ID) + ) + ), + emptyList() + ) + assertThat(safetyCenterManager.getSafetyCenterDataWithPermission()) + .isEqualTo(safetyCenterDataForPrimaryUser) + assertThat( + privateSafetyCenterManager.getSafetyCenterDataWithInteractAcrossUsersPermission() + ) + .isEqualTo(SafetyCenterTestData.DEFAULT) + } + + @Test @EnsureHasAdditionalUser(installInstrumentedApp = TRUE) fun getSafetyCenterData_afterAdditionalUserRemoved_returnsDefaultData() { safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceAllProfileConfig) @@ -1290,6 +1676,11 @@ class SafetyCenterMultiUsersTest { .safetyCenterEntryOkBuilder(sourceId, managedUserId, title = "Ok title for Work") .build() + private fun safetyCenterEntryOkForPrivate(sourceId: String, managedUserId: Int) = + safetyCenterTestData + .safetyCenterEntryOkBuilder(sourceId, managedUserId, title = "Ok title for Private") + .build() + private fun updatePrimaryProfileSources() { safetyCenterTestHelper.setData( DYNAMIC_BAREBONE_ID, @@ -1342,4 +1733,29 @@ class SafetyCenterMultiUsersTest { SafetySourceTestData.issuesOnly(safetySourceTestData.informationIssue) ) } + + private fun updatePrivateProfileSources() { + val privateSafetyCenterManager = + getSafetyCenterManagerForUser(deviceState.privateProfile().userHandle()) + privateSafetyCenterManager.setSafetySourceDataWithInteractAcrossUsersPermission( + DYNAMIC_DISABLED_ID, + safetySourceTestData.informationWithIssueForPrivate + ) + privateSafetyCenterManager.setSafetySourceDataWithInteractAcrossUsersPermission( + DYNAMIC_HIDDEN_ID, + safetySourceTestData.informationWithIssueForPrivate + ) + privateSafetyCenterManager.setSafetySourceDataWithInteractAcrossUsersPermission( + ISSUE_ONLY_ALL_OPTIONAL_ID, + SafetySourceTestData.issuesOnly(safetySourceTestData.informationIssue) + ) + privateSafetyCenterManager.setSafetySourceDataWithInteractAcrossUsersPermission( + DYNAMIC_IN_STATELESS_ID, + safetySourceTestData.unspecifiedWithIssueForPrivate + ) + privateSafetyCenterManager.setSafetySourceDataWithInteractAcrossUsersPermission( + ISSUE_ONLY_IN_STATELESS_ID, + SafetySourceTestData.issuesOnly(safetySourceTestData.informationIssue) + ) + } } diff --git a/tests/functional/safetycenter/safetycenteractivity/TEST_MAPPING b/tests/functional/safetycenter/safetycenteractivity/TEST_MAPPING index dcc2f817f..a7ffdf96d 100644 --- a/tests/functional/safetycenter/safetycenteractivity/TEST_MAPPING +++ b/tests/functional/safetycenter/safetycenteractivity/TEST_MAPPING @@ -13,5 +13,15 @@ } ] } + ], + "permission-mainline-presubmit": [ + { + "name": "SafetyCenterActivityFunctionalTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } ] } diff --git a/tests/functional/safetycenter/singleuser/TEST_MAPPING b/tests/functional/safetycenter/singleuser/TEST_MAPPING index 9ba98a87a..3eec3e812 100644 --- a/tests/functional/safetycenter/singleuser/TEST_MAPPING +++ b/tests/functional/safetycenter/singleuser/TEST_MAPPING @@ -13,5 +13,15 @@ } ] } + ], + "permission-mainline-presubmit": [ + { + "name": "SafetyCenterFunctionalTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } ] } diff --git a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterManagerTest.kt b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterManagerTest.kt index 963c593cd..4f06c0f3f 100644 --- a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterManagerTest.kt +++ b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterManagerTest.kt @@ -3796,6 +3796,17 @@ class SafetyCenterManagerTest { assertThat(lastUpdated[key]).isNotNull() } + @Test + fun setSafetySourceData_dynamicHiddenWithIssueOnlyData_allowed() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.hiddenSourceConfig) + val expectedData = SafetySourceTestData.issuesOnly(safetySourceTestData.informationIssue) + + safetyCenterTestHelper.setData(DYNAMIC_HIDDEN_ID, expectedData) + + val actualData = safetyCenterManager.getSafetySourceDataWithPermission(DYNAMIC_HIDDEN_ID) + assertThat(actualData).isEqualTo(expectedData) + } + private fun dumpLastUpdated(): Map<String, String> { val dump = SystemUtil.runShellCommand("dumpsys safety_center data") return dump @@ -3825,9 +3836,9 @@ class SafetyCenterManagerTest { companion object { private val RESURFACE_DELAY = Duration.ofMillis(500) - // Wait 1.5 times the RESURFACE_DELAY before asserting whether an issue has or has not + // Wait 3 times the RESURFACE_DELAY before asserting whether an issue has or has not // resurfaced. Use a constant additive error buffer if we increase the delay considerably. - private val RESURFACE_TIMEOUT = RESURFACE_DELAY.multipliedBy(3).dividedBy(2) + private val RESURFACE_TIMEOUT = RESURFACE_DELAY.multipliedBy(3) // Check more than once during a RESURFACE_DELAY before asserting whether an issue has or // has not resurfaced. Use a different check logic (focused at the expected resurface time) // if we increase the delay considerably. diff --git a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt index 9c9e9b009..1678ccced 100644 --- a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt +++ b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt @@ -44,7 +44,6 @@ import com.android.safetycenter.testing.SafetyCenterApisWithShellPermissions.dis import com.android.safetycenter.testing.SafetyCenterApisWithShellPermissions.reportSafetySourceErrorWithPermission import com.android.safetycenter.testing.SafetyCenterFlags import com.android.safetycenter.testing.SafetyCenterTestConfigs -import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_1 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_2 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_5 @@ -68,6 +67,7 @@ import kotlinx.coroutines.TimeoutCancellationException import org.junit.Before import org.junit.Rule import org.junit.Test +import org.junit.rules.TestName import org.junit.runner.RunWith /** Notification-related tests for [SafetyCenterManager]. */ @@ -81,6 +81,7 @@ class SafetyCenterNotificationTest { requireNotNull(context.getSystemService(SafetyCenterManager::class.java)) { "Could not get SafetyCenterManager" } + private var uniqueSafetySourceId: String = "" @get:Rule(order = 1) val supportsSafetyCenterRule = SupportsSafetyCenterRule(context) @get:Rule(order = 2) @@ -88,17 +89,23 @@ class SafetyCenterNotificationTest { SafetyCenterTestRule(safetyCenterTestHelper, withNotifications = true) @get:Rule(order = 3) val disableAnimationRule = DisableAnimationRule() @get:Rule(order = 4) val freezeRotationRule = FreezeRotationRule() + @get:Rule(order = 5) val testNameRule = TestName() @Before fun enableNotificationsForTestSourceBeforeTest() { SafetyCenterFlags.notificationsEnabled = true - setFlagsForImmediateNotifications(SINGLE_SOURCE_ID) - safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig) + uniqueSafetySourceId = testNameRule.methodName + setFlagsForImmediateNotifications(uniqueSafetySourceId) + safetyCenterTestHelper.setConfig( + safetyCenterTestConfigs.singleSourceConfig( + safetyCenterTestConfigs.dynamicSafetySourceBuilder(uniqueSafetySourceId).build() + ) + ) } @Test fun setSafetySourceData_withNoIssue_noNotification() { - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.information) + safetyCenterTestHelper.setData(uniqueSafetySourceId, safetySourceTestData.information) TestNotificationListener.waitForZeroNotifications() } @@ -108,7 +115,7 @@ class SafetyCenterNotificationTest { SafetyCenterFlags.immediateNotificationBehaviorIssues = emptySet() safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithAccountIssue ) @@ -120,7 +127,7 @@ class SafetyCenterNotificationTest { SafetyCenterFlags.notificationsAllowedSources = emptySet() safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithAccountIssue ) @@ -132,7 +139,7 @@ class SafetyCenterNotificationTest { SafetyCenterFlags.notificationsEnabled = false safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithAccountIssue ) @@ -153,7 +160,7 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForZeroNotifications() } @@ -173,7 +180,7 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForZeroNotifications() } @@ -204,7 +211,7 @@ class SafetyCenterNotificationTest { .addIssue(neverNotifyIssue) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) TestNotificationListener.waitForZeroNotifications() SafetyCenterFlags.notificationsMinDelay = TIMEOUT_SHORT @@ -212,13 +219,14 @@ class SafetyCenterNotificationTest { // Sending new data causes Safety Center to recompute which issues to send notifications // about and this should now include the delayed issue sent in data1 above. Thread.sleep(TIMEOUT_SHORT.toMillis()) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Notify later", text = "This is not urgent.", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -239,13 +247,14 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Notify immediately", text = "This is urgent!", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -267,29 +276,31 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Notify immediately", text = "This is urgent!", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) } @Test fun setSafetySourceData_withNotificationsAllowedForSourceByFlag_sendsNotification() { - SafetyCenterFlags.notificationsAllowedSources = setOf(SINGLE_SOURCE_ID) + SafetyCenterFlags.notificationsAllowedSources = setOf(uniqueSafetySourceId) val data = safetySourceTestData.recommendationWithAccountIssue - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Recommendation issue title", text = "Recommendation issue summary", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -316,13 +327,14 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Recommendation issue title", text = "Recommendation issue summary", - actions = listOf("Action 1", "Action 2") + actions = listOf("Action 1", "Action 2"), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -355,7 +367,12 @@ class SafetyCenterNotificationTest { safetyCenterTestHelper.setData("MyNotifiableSource", data) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = "MyNotifiableSource", + ) + ) } @Test @@ -393,13 +410,14 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Custom title", text = "Custom text", - actions = listOf("Custom action 1", "Custom action 2") + actions = listOf("Custom action 1", "Custom action 2"), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -431,13 +449,14 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Custom title", text = "Custom text", - actions = emptyList() + actions = emptyList(), + safetySourceId = uniqueSafetySourceId, ) ) } @@ -454,14 +473,15 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) val initialNotification = TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Initial", text = "Blah", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) @@ -485,14 +505,15 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) val revisedNotification = TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Revised", text = "Different", - actions = listOf("See issue", "New action") + actions = listOf("See issue", "New action"), + safetySourceId = uniqueSafetySourceId, ) ) assertThat(initialNotification.statusBarNotification.key) @@ -503,11 +524,16 @@ class SafetyCenterNotificationTest { fun setSafetySourceData_twiceWithExactSameIssue_doNotNotifyTwice() { val data = safetySourceTestData.recommendationWithAccountIssue - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) TestNotificationListener.waitForZeroNotificationEvents() } @@ -517,11 +543,16 @@ class SafetyCenterNotificationTest { val data1 = safetySourceTestData.recommendationWithAccountIssue val data2 = safetySourceTestData.information - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) TestNotificationListener.waitForZeroNotifications() } @@ -532,12 +563,17 @@ class SafetyCenterNotificationTest { val data1 = safetySourceTestData.recommendationWithAccountIssue val data2 = safetySourceTestData.information - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) SafetyCenterFlags.notificationsEnabled = false - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) TestNotificationListener.waitForZeroNotificationEvents() } @@ -550,11 +586,16 @@ class SafetyCenterNotificationTest { SafetyEvent.Builder(SafetyEvent.SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build() ) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) - safetyCenterManager.reportSafetySourceErrorWithPermission(SINGLE_SOURCE_ID, error) + safetyCenterManager.reportSafetySourceErrorWithPermission(uniqueSafetySourceId, error) TestNotificationListener.waitForZeroNotifications() } @@ -584,20 +625,21 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) val notificationWithChannel = TestNotificationListener.waitForSingleNotificationMatching( NotificationCharacteristics( title = "Initial", text = "Blah", - actions = listOf("See issue") + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, ) ) TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) TestNotificationListener.waitForZeroNotifications() } @@ -623,13 +665,24 @@ class SafetyCenterNotificationTest { .build() ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + safetyCenterTestHelper.setData(uniqueSafetySourceId, data1) + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key) - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data2) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) } @Test @@ -658,6 +711,7 @@ class SafetyCenterNotificationTest { "Critical issue title", "Critical issue summary", actions = listOf("Solve issue"), + safetySourceId = SOURCE_ID_5, ) ) } @@ -677,7 +731,13 @@ class SafetyCenterNotificationTest { ) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = SOURCE_ID_1, + ) + ) TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key) @@ -693,13 +753,17 @@ class SafetyCenterNotificationTest { "Critical issue title", "Critical issue summary", actions = listOf("Solve issue"), + safetySourceId = SOURCE_ID_5, ) ) } @Test fun setSafetySourceData_withInformationIssue_lowImportanceBlockableNotification() { - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue) + safetyCenterTestHelper.setData( + uniqueSafetySourceId, + safetySourceTestData.informationWithIssue + ) TestNotificationListener.waitForNotificationsMatching( NotificationCharacteristics( @@ -707,7 +771,8 @@ class SafetyCenterNotificationTest { "Information issue summary", actions = listOf("Review"), importance = NotificationManager.IMPORTANCE_LOW, - blockable = true + blockable = true, + safetySourceId = uniqueSafetySourceId, ) ) } @@ -715,7 +780,7 @@ class SafetyCenterNotificationTest { @Test fun setSafetySourceData_withRecommendationIssue_defaultImportanceUnblockableNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithAccountIssue ) @@ -725,7 +790,8 @@ class SafetyCenterNotificationTest { "Recommendation issue summary", importance = NotificationManager.IMPORTANCE_DEFAULT, actions = listOf("See issue"), - blockable = false + blockable = false, + safetySourceId = uniqueSafetySourceId, ) ) } @@ -733,8 +799,8 @@ class SafetyCenterNotificationTest { @Test fun setSafetySourceData_withCriticalIssue_highImportanceUnblockableNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingDeviceIssue + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingDeviceIssue(sourceId = uniqueSafetySourceId) ) TestNotificationListener.waitForNotificationsMatching( @@ -743,7 +809,8 @@ class SafetyCenterNotificationTest { "Critical issue summary", actions = listOf("Solve issue"), importance = NotificationManager.IMPORTANCE_HIGH, - blockable = false + blockable = false, + safetySourceId = uniqueSafetySourceId, ) ) } @@ -751,15 +818,20 @@ class SafetyCenterNotificationTest { @Test fun dismissSafetyCenterIssue_dismissesNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithAccountIssue ) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) safetyCenterManager.dismissSafetyCenterIssueWithPermission( SafetyCenterTestData.issueId( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, SafetySourceTestData.RECOMMENDATION_ISSUE_ID ) ) @@ -770,14 +842,20 @@ class SafetyCenterNotificationTest { @Test fun dismissingNotification_doesNotUpdateSafetyCenterData() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingGeneralIssue + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId) ) // Add the listener after setting the initial data so that we don't need to consume/receive // an update for that val listener = safetyCenterTestHelper.addListener() - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key) @@ -813,6 +891,7 @@ class SafetyCenterNotificationTest { "Critical issue title", "Critical issue summary", actions = listOf("Solve issue"), + safetySourceId = SOURCE_ID_1, ) ) @@ -829,9 +908,14 @@ class SafetyCenterNotificationTest { fun clearSafetySourceData_cancelsAllNotifications() { val data = safetySourceTestData.recommendationWithAccountIssue - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) safetyCenterManager.clearAllSafetySourceDataForTestsWithPermission() @@ -841,15 +925,21 @@ class SafetyCenterNotificationTest { @Test fun sendActionPendingIntent_successful_updatesListener() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingGeneralIssue + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) val listener = safetyCenterTestHelper.addListener() @@ -867,15 +957,21 @@ class SafetyCenterNotificationTest { @Test fun sendActionPendingIntent_successfulNoSuccessMessage_removesNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingGeneralIssue + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) @@ -887,40 +983,61 @@ class SafetyCenterNotificationTest { @Test fun sendActionPendingIntent_successfulWithSuccessMessage_successNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage( + sourceId = uniqueSafetySourceId + ) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) sendActionPendingIntentAndWaitWithPermission(action) - TestNotificationListener.waitForSuccessNotification("Issue solved") + TestNotificationListener.waitForSuccessNotification("Issue solved") { + assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId)) + .isTrue() + } } @Test fun successNotification_notificationHasAutoCancel() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage( + sourceId = uniqueSafetySourceId + ) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) sendActionPendingIntentAndWaitWithPermission(action) TestNotificationListener.waitForSuccessNotification("Issue solved") { + assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId)) + .isTrue() assertThat(it.hasAutoCancel()).isTrue() } } @@ -929,15 +1046,23 @@ class SafetyCenterNotificationTest { @Test fun sendActionPendingIntent_flagDisabled_pendingIntentNotSentToSource() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage( + sourceId = uniqueSafetySourceId + ) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) SafetyCenterFlags.notificationsEnabled = false @@ -950,15 +1075,23 @@ class SafetyCenterNotificationTest { @Test fun sendActionPendingIntent_sourceStateChangedSafetyEvent_successNotification() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage( + sourceId = uniqueSafetySourceId + ) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData( safetySourceTestData.information, overrideSafetyEvent = @@ -968,7 +1101,10 @@ class SafetyCenterNotificationTest { sendActionPendingIntentAndWaitWithPermission(action) - TestNotificationListener.waitForSuccessNotification("Issue solved") + TestNotificationListener.waitForSuccessNotification("Issue solved") { + assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId)) + .isTrue() + } } @Test @@ -981,6 +1117,7 @@ class SafetyCenterNotificationTest { "notification_action_id", "Solve now!", safetySourceTestData.resolvingActionPendingIntent( + sourceId = uniqueSafetySourceId, sourceIssueActionId = "notification_action_id" ) ) @@ -1002,6 +1139,7 @@ class SafetyCenterNotificationTest { "issue_action_id", "Default action", safetySourceTestData.resolvingActionPendingIntent( + sourceId = uniqueSafetySourceId, sourceIssueActionId = "issue_action_id" ) ) @@ -1017,19 +1155,28 @@ class SafetyCenterNotificationTest { ) .build() - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + safetyCenterTestHelper.setData(uniqueSafetySourceId, data) + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve now!"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } SafetySourceReceiver.setResponse( - Request.ResolveAction(SINGLE_SOURCE_ID), + Request.ResolveAction(uniqueSafetySourceId), Response.SetData(safetySourceTestData.information) ) sendActionPendingIntentAndWaitWithPermission(action) - TestNotificationListener.waitForSuccessNotification("Solved via notification action :)") + TestNotificationListener.waitForSuccessNotification("Solved via notification action :)") { + assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId)) + .isTrue() + } } @Test @@ -1037,14 +1184,23 @@ class SafetyCenterNotificationTest { // Here we cause a notification with an action to be posted and prepare the fake receiver // to resolve that action successfully. safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, - safetySourceTestData.criticalWithResolvingGeneralIssue + uniqueSafetySourceId, + safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) val action = notificationWithChannel.statusBarNotification.notification.actions.firstOrNull() checkNotNull(action) { "Notification action unexpectedly null" } - SafetySourceReceiver.setResponse(Request.ResolveAction(SINGLE_SOURCE_ID), Response.Error) + SafetySourceReceiver.setResponse( + Request.ResolveAction(uniqueSafetySourceId), + Response.Error + ) val listener = safetyCenterTestHelper.addListener() sendActionPendingIntentAndWaitWithPermission(action) @@ -1056,16 +1212,27 @@ class SafetyCenterNotificationTest { assertThat(listenerData2.inFlightActions).isEmpty() assertThat(listenerData2.status.severityLevel) .isEqualTo(SafetyCenterStatus.OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING) - TestNotificationListener.waitForSingleNotification() + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Solve issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) } @Test fun sendContentPendingIntent_singleIssue_opensSafetyCenterWithIssueVisible() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithDeviceIssue ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) sendContentPendingIntent(notificationWithChannel) { waitSourceIssueDisplayed(safetySourceTestData.recommendationDeviceIssue) @@ -1082,9 +1249,15 @@ class SafetyCenterNotificationTest { ) safetyCenterTestHelper.setData( SOURCE_ID_2, - safetySourceTestData.criticalWithResolvingGeneralIssue + safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = SOURCE_ID_2) ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = SOURCE_ID_1, + ) + ) sendContentPendingIntent(notificationWithChannel) { waitSourceIssueDisplayed(safetySourceTestData.criticalResolvingGeneralIssue) @@ -1094,8 +1267,17 @@ class SafetyCenterNotificationTest { @Test fun whenGreenIssue_notificationHasAutoCancel() { - safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + safetyCenterTestHelper.setData( + uniqueSafetySourceId, + safetySourceTestData.informationWithIssue + ) + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("Review"), + safetySourceId = uniqueSafetySourceId, + ) + ) assertThat(notificationWithChannel.statusBarNotification.hasAutoCancel()).isTrue() } @@ -1103,10 +1285,16 @@ class SafetyCenterNotificationTest { @Test fun whenNotGreenIssue_notificationDoesntHaveAutoCancel() { safetyCenterTestHelper.setData( - SINGLE_SOURCE_ID, + uniqueSafetySourceId, safetySourceTestData.recommendationWithDeviceIssue ) - val notificationWithChannel = TestNotificationListener.waitForSingleNotification() + val notificationWithChannel = + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = uniqueSafetySourceId, + ) + ) assertThat(notificationWithChannel.statusBarNotification.hasAutoCancel()).isFalse() } diff --git a/tests/functional/safetycenter/subpages/TEST_MAPPING b/tests/functional/safetycenter/subpages/TEST_MAPPING index e6802586e..097a99612 100644 --- a/tests/functional/safetycenter/subpages/TEST_MAPPING +++ b/tests/functional/safetycenter/subpages/TEST_MAPPING @@ -13,5 +13,15 @@ } ] } + ], + "permission-mainline-presubmit": [ + { + "name": "SafetyCenterSubpagesTestCases", + "options": [ + { + "exclude-annotation": "androidx.test.filters.FlakyTest" + } + ] + } ] } diff --git a/tests/hostside/safetycenter/TEST_MAPPING b/tests/hostside/safetycenter/TEST_MAPPING index ba303cf90..798c5e485 100644 --- a/tests/hostside/safetycenter/TEST_MAPPING +++ b/tests/hostside/safetycenter/TEST_MAPPING @@ -8,5 +8,10 @@ { "name": "SafetyCenterHostSideTestCases[com.google.android.permission.apex]" } + ], + "permission-mainline-presubmit": [ + { + "name": "SafetyCenterHostSideTestCases" + } ] -}
\ No newline at end of file +} diff --git a/tests/hostside/safetycenter/helper-app/Android.bp b/tests/hostside/safetycenter/helper-app/Android.bp index d15caceaa..04e660134 100644 --- a/tests/hostside/safetycenter/helper-app/Android.bp +++ b/tests/hostside/safetycenter/helper-app/Android.bp @@ -31,6 +31,7 @@ android_test_helper_app { static_libs: [ "androidx.test.rules", "androidx.test.ext.junit", + "safety-center-pending-intents", "safety-center-test-util-lib", ], } diff --git a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt index 784701b8a..6afcff85a 100644 --- a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt +++ b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt @@ -19,14 +19,23 @@ package android.safetycenter.hostside.device import android.content.Context import android.os.Bundle import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCES_GROUP_ID +import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCE_ID +import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCE_ISSUE_ID import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.compatibility.common.util.UiAutomatorUtils2 import com.android.safetycenter.testing.SafetyCenterActivityLauncher.launchSafetyCenterActivity +import com.android.safetycenter.testing.SafetyCenterActivityLauncher.launchSafetyCenterQsActivity import com.android.safetycenter.testing.SafetyCenterActivityLauncher.openPageAndExit import com.android.safetycenter.testing.SafetyCenterFlags import com.android.safetycenter.testing.SafetyCenterTestConfigs +import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID import com.android.safetycenter.testing.SafetyCenterTestHelper import com.android.safetycenter.testing.SafetyCenterTestRule +import com.android.safetycenter.testing.SafetySourceTestData +import com.android.safetycenter.testing.SafetySourceTestData.Companion.INFORMATION_ISSUE_ID +import com.android.safetycenter.testing.UiTestHelper.waitAllTextDisplayed +import org.junit.After import org.junit.Before import org.junit.Rule import org.junit.Test @@ -47,6 +56,7 @@ class SafetyCenterInteractionLoggingHelperTests { private val context: Context = ApplicationProvider.getApplicationContext() private val safetyCenterTestHelper = SafetyCenterTestHelper(context) private val safetyCenterTestConfigs = SafetyCenterTestConfigs(context) + private val safetySourceTestData = SafetySourceTestData(context) @get:Rule val safetyCenterTestRule = SafetyCenterTestRule(safetyCenterTestHelper) @@ -55,12 +65,48 @@ class SafetyCenterInteractionLoggingHelperTests { SafetyCenterFlags.showSubpages = true } + @After + fun tearDown() { + // When an assertion fails, it will end up leaving the previous view open, which screws + // with the logging assertions made by this test (polluting with view events from whatever + // view was left open). Here we preemptively clear whatever's open to get back to home + UiAutomatorUtils2.getUiDevice().pressHome() + } + @Test fun openSafetyCenter() { context.launchSafetyCenterActivity {} } @Test + fun openSafetyCenterFullFromQs() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig) + safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue) + + context.launchSafetyCenterQsActivity { + openPageAndExit("Settings") { waitAllTextDisplayed(safetySourceTestData.informationIssue.title) } + } + } + + @Test + fun openSafetyCenterWithIssueIntent() { + safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig) + + safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue) + + val extras = Bundle() + extras.putString(EXTRA_SAFETY_SOURCE_ID, SINGLE_SOURCE_ID) + extras.putString(EXTRA_SAFETY_SOURCE_ISSUE_ID, INFORMATION_ISSUE_ID) + + context.launchSafetyCenterActivity(extras) {} + } + + @Test + fun openSafetyCenterQs() { + context.launchSafetyCenterQsActivity {} + } + + @Test fun openSubpageFromIntentExtra() { val config = safetyCenterTestConfigs.singleSourceConfig safetyCenterTestHelper.setConfig(config) diff --git a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt index 458516379..60e6e41ec 100644 --- a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt +++ b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt @@ -21,12 +21,17 @@ import android.safetycenter.SafetySourceData import android.safetycenter.SafetySourceIssue import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.android.safetycenter.pendingintents.PendingIntentSender +import com.android.safetycenter.testing.NotificationCharacteristics +import com.android.safetycenter.testing.SafetyCenterActivityLauncher import com.android.safetycenter.testing.SafetyCenterFlags import com.android.safetycenter.testing.SafetyCenterTestConfigs import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID import com.android.safetycenter.testing.SafetyCenterTestHelper import com.android.safetycenter.testing.SafetyCenterTestRule import com.android.safetycenter.testing.SafetySourceTestData +import com.android.safetycenter.testing.StatusBarNotificationWithChannel +import com.android.safetycenter.testing.TestNotificationListener import org.junit.Before import org.junit.Rule import org.junit.Test @@ -49,7 +54,9 @@ class SafetyCenterNotificationLoggingHelperTests { private val safetySourceTestData = SafetySourceTestData(context) private val safetyCenterTestConfigs = SafetyCenterTestConfigs(context) - @get:Rule val safetyCenterTestRule = SafetyCenterTestRule(safetyCenterTestHelper) + @get:Rule + val safetyCenterTestRule = + SafetyCenterTestRule(safetyCenterTestHelper, withNotifications = true) @Before fun setUp() { @@ -64,6 +71,20 @@ class SafetyCenterNotificationLoggingHelperTests { safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, newTestDataWithNotifiableIssue()) } + @Test + fun openSafetyCenterFromNotification() { + safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, newTestDataWithNotifiableIssue()) + + sendContentPendingIntent( + TestNotificationListener.waitForSingleNotificationMatching( + NotificationCharacteristics( + actions = listOf("See issue"), + safetySourceId = SINGLE_SOURCE_ID, + ) + ) + ) + } + private fun newTestDataWithNotifiableIssue(): SafetySourceData = safetySourceTestData .defaultCriticalDataBuilder() @@ -74,4 +95,17 @@ class SafetyCenterNotificationLoggingHelperTests { .build() ) .build() + + companion object { + private fun sendContentPendingIntent( + statusBarNotificationWithChannel: StatusBarNotificationWithChannel + ) { + val contentIntent = + statusBarNotificationWithChannel.statusBarNotification.notification.contentIntent + SafetyCenterActivityLauncher.executeBlockAndExit( + launchActivity = { PendingIntentSender.send(contentIntent) }, + block = {} // No action required + ) + } + } } diff --git a/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt b/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt index 5fe9e0a2a..42a2a8a89 100644 --- a/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt +++ b/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt @@ -24,13 +24,17 @@ import com.android.compatibility.common.util.ApiLevelUtil import com.android.os.AtomsProto.Atom import com.android.os.AtomsProto.SafetyCenterInteractionReported import com.android.os.AtomsProto.SafetyCenterInteractionReported.Action +import com.android.os.AtomsProto.SafetyCenterInteractionReported.NavigationSource import com.android.os.AtomsProto.SafetyCenterInteractionReported.ViewType import com.android.tradefed.testtype.DeviceJUnit4ClassRunner import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test import com.google.common.truth.Truth.assertThat +import java.math.BigInteger +import java.security.MessageDigest import org.junit.After import org.junit.Assume.assumeTrue import org.junit.Before +import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -67,15 +71,77 @@ class SafetyCenterInteractionLoggingHostTest : BaseHostJUnit4Test() { val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED) - assertThat(safetyCenterViewedAtoms).isNotEmpty() + assertThat(safetyCenterViewedAtoms).hasSize(1) + with(safetyCenterViewedAtoms.first()) { + assertThat(navigationSource).isEqualTo(NavigationSource.SOURCE_UNKNOWN) + assertThat(viewType).isEqualTo(ViewType.FULL) + } } @Test - fun sendNotification_recordsNotificationPostedEvent() { + fun openSafetyCenterQs_recordsSafetyCenterViewedEvent() { + helperAppRule.runTest(TEST_CLASS_NAME, "openSafetyCenterQs") + + val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED) + + assertThat(safetyCenterViewedAtoms).hasSize(1) + with(safetyCenterViewedAtoms.first()) { + assertThat(navigationSource).isEqualTo(NavigationSource.QUICK_SETTINGS_TILE) + assertThat(viewType).isEqualTo(ViewType.QUICK_SETTINGS) + } + } + + @Ignore // TODO: b/323269529 - Deflake this test + @Test + fun openSafetyCenterFullFromQs_recordsViewEventWithCorrectSource() { + helperAppRule.runTest(TEST_CLASS_NAME, "openSafetyCenterFullFromQs") + + val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED) + + val viewTypesToNavSources = + safetyCenterViewedAtoms.associate { Pair(it.viewType, it.navigationSource) } + assertThat(viewTypesToNavSources) + .containsEntry(ViewType.FULL, NavigationSource.QUICK_SETTINGS_TILE) + } + + @Test + fun openSafetyCenterWithIssueIntent_recordsViewEventWithAssociatedIssueMetadata() { + helperAppRule.runTest(TEST_CLASS_NAME, testMethodName = "openSafetyCenterWithIssueIntent") + + val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED) + + assertThat(safetyCenterViewedAtoms).hasSize(1) + with(safetyCenterViewedAtoms.first()) { + assertThat(navigationSource).isEqualTo(NavigationSource.NOTIFICATION) + assertThat(encodedSafetySourceId).isEqualTo(ENCODED_SINGLE_SOURCE_ID) + assertThat(encodedIssueTypeId).isEqualTo(ENCODED_ISSUE_TYPE_ID) + } + } + + @Test + fun openSafetyCenterWithNotification_recordsViewEventWithAssociatedIssueMetadata() { assumeAtLeastUpsideDownCake("Safety Center notification APIs require Android U+") helperAppRule.runTest( testClassName = ".SafetyCenterNotificationLoggingHelperTests", + testMethodName = "openSafetyCenterFromNotification" + ) + + val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED) + + assertThat(safetyCenterViewedAtoms).hasSize(1) + with(safetyCenterViewedAtoms.first()) { + assertThat(navigationSource).isEqualTo(NavigationSource.NOTIFICATION) + assertThat(encodedSafetySourceId).isEqualTo(ENCODED_SINGLE_SOURCE_ID) + assertThat(encodedIssueTypeId).isEqualTo(ENCODED_ISSUE_TYPE_ID) + } + } + + @Test + fun sendNotification_recordsNotificationPostedEvent() { + assumeAtLeastUpsideDownCake("Safety Center notification APIs require Android U+") + helperAppRule.runTest( + testClassName = ".SafetyCenterNotificationLoggingHelperTests", testMethodName = "sendNotification" ) @@ -97,8 +163,7 @@ class SafetyCenterInteractionLoggingHostTest : BaseHostJUnit4Test() { assertThat(safetyCenterViewedAtoms).hasSize(1) with(safetyCenterViewedAtoms.first()) { assertThat(viewType).isEqualTo(ViewType.SUBPAGE) - assertThat(navigationSource) - .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SOURCE_UNKNOWN) + assertThat(navigationSource).isEqualTo(NavigationSource.SOURCE_UNKNOWN) assertThat(sessionId).isNotNull() } } @@ -113,8 +178,7 @@ class SafetyCenterInteractionLoggingHostTest : BaseHostJUnit4Test() { val subpageViewedEvent = safetyCenterViewedAtoms.find { it.viewType == ViewType.SUBPAGE } assertThat(subpageViewedEvent).isNotNull() - assertThat(subpageViewedEvent!!.navigationSource) - .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SAFETY_CENTER) + assertThat(subpageViewedEvent!!.navigationSource).isEqualTo(NavigationSource.SAFETY_CENTER) assertThat(safetyCenterViewedAtoms.map { it.sessionId }.distinct()).hasSize(1) } @@ -129,8 +193,7 @@ class SafetyCenterInteractionLoggingHostTest : BaseHostJUnit4Test() { assertThat(safetyCenterViewedAtoms).hasSize(1) with(safetyCenterViewedAtoms.first()) { assertThat(viewType).isEqualTo(ViewType.SUBPAGE) - assertThat(navigationSource) - .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SETTINGS) + assertThat(navigationSource).isEqualTo(NavigationSource.SETTINGS) assertThat(sessionId).isNotNull() } } @@ -148,5 +211,27 @@ class SafetyCenterInteractionLoggingHostTest : BaseHostJUnit4Test() { private companion object { const val TEST_CLASS_NAME = ".SafetyCenterInteractionLoggingHelperTests" + + // LINT.IfChange(single_source_id) + val ENCODED_SINGLE_SOURCE_ID = encodeId("test_single_source_id") + // LINT.ThenChange(/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt:issue_type_id) + + // LINT.IfChange(issue_type_id) + val ENCODED_ISSUE_TYPE_ID = encodeId("issue_type_id") + // LINT.ThenChange(/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt:issue_type_id) + + /** + * Encodes a string into an long ID. The ID is a SHA-256 of the string, truncated to 64 + * bits. + */ + fun encodeId(id: String?): Long { + if (id == null) return 0 + + val digest = MessageDigest.getInstance("MD5") + digest.update(id.toByteArray()) + + // Truncate to the size of a long + return BigInteger(digest.digest()).toLong() + } } } diff --git a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt index edf76e888..fe75a05a2 100644 --- a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt +++ b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt @@ -24,14 +24,23 @@ import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement +/** toBooleanString() doesn't seem available on all Kotlin versions we need to support. */ +private fun String.toBooleanStrictInt(): Boolean = + when (this) { + "true" -> true + "false" -> false + else -> + throw IllegalArgumentException("The string doesn't represent a boolean value: $this") + } + /** JUnit rule for host side tests that requires Safety Center to be supported and enabled. */ class RequireSafetyCenterRule(private val hostTestClass: BaseHostJUnit4Test) : TestRule { private val safetyCenterSupported: Boolean by lazy { - shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrict() + shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrictInt() } private val safetyCenterEnabled: Boolean by lazy { - shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrict() + shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrictInt() } override fun apply(base: Statement, description: Description): Statement { diff --git a/tests/utils/safetycenter/Android.bp b/tests/utils/safetycenter/Android.bp index 6accefae9..8514b0662 100644 --- a/tests/utils/safetycenter/Android.bp +++ b/tests/utils/safetycenter/Android.bp @@ -36,6 +36,7 @@ android_library { "kotlinx-coroutines-android", "safety-center-internal-data", "safety-center-resources-lib", + "permissions-aconfig-flags-lib", ], apex_available: [ "com.android.permission", diff --git a/tests/utils/safetycenter/AndroidManifest.xml b/tests/utils/safetycenter/AndroidManifest.xml index ce3724318..f0a4fcbb6 100644 --- a/tests/utils/safetycenter/AndroidManifest.xml +++ b/tests/utils/safetycenter/AndroidManifest.xml @@ -39,6 +39,7 @@ android:exported="false"/> <activity android:name=".TestActivity" + android:theme="@style/OptOutEdgeToEdgeEnforcement" android:exported="false"> <intent-filter android:priority="-1"> <action android:name="com.android.safetycenter.testing.action.TEST_ACTIVITY"/> diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt index 177c2359c..81b752bca 100644 --- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt +++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt @@ -17,18 +17,25 @@ package com.android.safetycenter.testing import android.app.Notification +import android.service.notification.StatusBarNotification +import com.android.safetycenter.internaldata.SafetyCenterIds /** The characteristic properties of a notification. */ data class NotificationCharacteristics( - val title: String, - val text: String, + val title: String? = null, + val text: String? = null, val actions: List<CharSequence> = emptyList(), val importance: Int = IMPORTANCE_ANY, - val blockable: Boolean? = null + val blockable: Boolean? = null, + val safetySourceId: String? = null, ) { companion object { const val IMPORTANCE_ANY = -1 + private fun stringMatches(actual: String?, expected: String?): Boolean { + return expected == null || actual == expected + } + private fun importanceMatches( statusBarNotificationWithChannel: StatusBarNotificationWithChannel, characteristicImportance: Int @@ -45,17 +52,31 @@ data class NotificationCharacteristics( statusBarNotificationWithChannel.channel.isBlockable == characteristicBlockable } + fun safetySourceIdMatches( + statusBarNotification: StatusBarNotification, + safetySourceId: String? + ): Boolean { + return safetySourceId == null || + SafetyCenterIds.issueKeyFromString(statusBarNotification.tag).safetySourceId == + safetySourceId + } + private fun isMatch( statusBarNotificationWithChannel: StatusBarNotificationWithChannel, characteristic: NotificationCharacteristics ): Boolean { val notif = statusBarNotificationWithChannel.statusBarNotification.notification + val extras = notif.extras return notif != null && - notif.extras.getString(Notification.EXTRA_TITLE) == characteristic.title && - notif.extras.getString(Notification.EXTRA_TEXT).orEmpty() == characteristic.text && + stringMatches(extras.getString(Notification.EXTRA_TITLE), characteristic.title) && + stringMatches(extras.getString(Notification.EXTRA_TEXT), characteristic.text) && notif.actions.orEmpty().map { it.title } == characteristic.actions && importanceMatches(statusBarNotificationWithChannel, characteristic.importance) && - blockableMatches(statusBarNotificationWithChannel, characteristic.blockable) + blockableMatches(statusBarNotificationWithChannel, characteristic.blockable) && + safetySourceIdMatches( + statusBarNotificationWithChannel.statusBarNotification, + characteristic.safetySourceId + ) } fun areMatching( diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt index 60c3b4d6a..0e31b2934 100644 --- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt +++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt @@ -31,6 +31,7 @@ import android.safetycenter.config.SafetySource.SAFETY_SOURCE_TYPE_STATIC import android.safetycenter.config.SafetySourcesGroup import androidx.annotation.RequiresApi import com.android.modules.utils.build.SdkLevel +import com.android.permission.flags.Flags import com.android.safetycenter.testing.SettingsPackage.getSettingsPackageName import java.security.MessageDigest @@ -159,6 +160,14 @@ class SafetyCenterTestConfigs(private val context: Context) { /** A [SafetyCenterConfig] with a dynamic source in a different, missing package. */ val singleSourceOtherPackageConfig = singleSourceConfig(dynamicOtherPackageSafetySource) + /** A [SafetyCenterConfig] with a dynamic hidden-by-default source. */ + val hiddenSourceConfig = + singleSourceConfig( + dynamicSafetySourceBuilder(DYNAMIC_HIDDEN_ID) + .setInitialDisplayState(SafetySource.INITIAL_DISPLAY_STATE_HIDDEN) + .build() + ) + /** A simple [SafetyCenterConfig] with a source supporting all profiles. */ val singleSourceAllProfileConfig = singleSourceConfig( @@ -678,6 +687,11 @@ class SafetyCenterTestConfigs(private val context: Context) { .setSummaryResId(Resources.ID_NULL) .setIntentAction(null) .setInitialDisplayState(SafetySource.INITIAL_DISPLAY_STATE_HIDDEN) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(Resources.ID_NULL) + } + } .build() ) .build() @@ -780,6 +794,11 @@ class SafetyCenterTestConfigs(private val context: Context) { dynamicSafetySourceBuilder(id) .setProfile(SafetySource.PROFILE_ALL) .setTitleForWorkResId(android.R.string.paste) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(android.R.string.unknownName) + } + } private fun staticSafetySource(id: String) = staticSafetySourceBuilder(id).build() @@ -795,6 +814,11 @@ class SafetyCenterTestConfigs(private val context: Context) { staticSafetySourceBuilder(id) .setProfile(SafetySource.PROFILE_ALL) .setTitleForWorkResId(android.R.string.paste) + .apply { + if (SdkLevel.isAtLeastV() && Flags.privateProfileTitleApi()) { + setTitleForPrivateProfileResId(android.R.string.unknownName) + } + } @RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) private fun issueOnlySafetySourceWithDuplicationInfo(id: String, deduplicationGroup: String) = @@ -848,7 +872,9 @@ class SafetyCenterTestConfigs(private val context: Context) { * ID of the only source provided in [singleSourceConfig], [severityZeroConfig] and * [noPageOpenConfig]. */ + // LINT.IfChange(single_source_id) const val SINGLE_SOURCE_ID = "test_single_source_id" + // LINT.ThenChange(/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt:single_source_id) /** ID of the only source provided in [singleSourceAllProfileConfig]. */ const val SINGLE_SOURCE_ALL_PROFILE_ID = "test_single_source_all_profile_id" diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt index 2c4f856bb..7e77c0827 100644 --- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt +++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt @@ -175,6 +175,24 @@ class SafetySourceTestData(private val context: Context) { .addIssue(informationIssue) .build() + /** + * A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] redirecting [SafetySourceIssue] and + * a [SEVERITY_LEVEL_UNSPECIFIED] [SafetySourceStatus], to be used for a private profile entry. + */ + val unspecifiedWithIssueForPrivate = + SafetySourceData.Builder() + .setStatus( + SafetySourceStatus.Builder( + "Unspecified title for Private", + "Unspecified summary", + SEVERITY_LEVEL_UNSPECIFIED + ) + .setPendingIntent(createTestActivityRedirectPendingIntent()) + .build() + ) + .addIssue(informationIssue) + .build() + /** A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] [SafetySourceStatus]. */ val information = SafetySourceData.Builder() @@ -284,6 +302,24 @@ class SafetySourceTestData(private val context: Context) { /** * A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] redirecting [SafetySourceIssue] and + * [SafetySourceStatus], to be used for a private profile entry. + */ + val informationWithIssueForPrivate = + SafetySourceData.Builder() + .setStatus( + SafetySourceStatus.Builder( + "Ok title for Private", + "Ok summary", + SEVERITY_LEVEL_INFORMATION + ) + .setPendingIntent(createTestActivityRedirectPendingIntent()) + .build() + ) + .addIssue(informationIssue) + .build() + + /** + * A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] redirecting [SafetySourceIssue] and * [SafetySourceStatus]. */ val informationWithSubtitleIssue = @@ -428,6 +464,10 @@ class SafetySourceTestData(private val context: Context) { /** A [PendingIntent] used by the resolving [Action] in [criticalResolvingGeneralIssue]. */ val criticalIssueActionPendingIntent = resolvingActionPendingIntent() + /** A [PendingIntent] used by the resolving [Action] in [criticalResolvingGeneralIssue]. */ + fun criticalIssueActionPendingIntent(sourceId: String) = + resolvingActionPendingIntent(sourceId = sourceId) + /** * Returns a [PendingIntent] for a resolving [Action] with the given [sourceId], [sourceIssueId] * and [sourceIssueActionId]. Default values are the same as those used by @@ -453,6 +493,16 @@ class SafetySourceTestData(private val context: Context) { .setWillResolve(true) .build() + /** A resolving Critical [Action] */ + private fun criticalResolvingAction(sourceId: String) = + Action.Builder( + CRITICAL_ISSUE_ACTION_ID, + "Solve issue", + criticalIssueActionPendingIntent(sourceId = sourceId) + ) + .setWillResolve(true) + .build() + /** A resolving Critical [Action] with confirmation */ val criticalResolvingActionWithConfirmation: SafetySourceIssue.Action @RequiresApi(UPSIDE_DOWN_CAKE) @@ -482,6 +532,17 @@ class SafetySourceTestData(private val context: Context) { .setSuccessMessage("Issue solved") .build() + /** A resolving Critical [Action] that declares a success message */ + private fun criticalResolvingActionWithSuccessMessage(sourceId: String) = + Action.Builder( + CRITICAL_ISSUE_ACTION_ID, + "Solve issue", + criticalIssueActionPendingIntent(sourceId = sourceId) + ) + .setWillResolve(true) + .setSuccessMessage("Issue solved") + .build() + /** A [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]. */ val criticalResolvingIssueWithSuccessMessage = SafetySourceIssue.Builder( @@ -494,6 +555,18 @@ class SafetySourceTestData(private val context: Context) { .addAction(criticalResolvingActionWithSuccessMessage) .build() + /** A [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]. */ + private fun criticalResolvingIssueWithSuccessMessage(sourceId: String) = + SafetySourceIssue.Builder( + CRITICAL_ISSUE_ID, + "Critical issue title", + "Critical issue summary", + SEVERITY_LEVEL_CRITICAL_WARNING, + ISSUE_TYPE_ID + ) + .addAction(criticalResolvingActionWithSuccessMessage(sourceId = sourceId)) + .build() + /** * Another [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a redirecting * [Action]. @@ -538,7 +611,10 @@ class SafetySourceTestData(private val context: Context) { * [SafetySourceIssue.Builder] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action] * . */ - fun defaultCriticalResolvingIssueBuilder(issueId: String = CRITICAL_ISSUE_ID) = + fun defaultCriticalResolvingIssueBuilder( + issueId: String = CRITICAL_ISSUE_ID, + sourceId: String = SINGLE_SOURCE_ID, + ) = SafetySourceIssue.Builder( issueId, "Critical issue title", @@ -546,7 +622,7 @@ class SafetySourceTestData(private val context: Context) { SEVERITY_LEVEL_CRITICAL_WARNING, ISSUE_TYPE_ID ) - .addAction(criticalResolvingAction) + .addAction(criticalResolvingAction(sourceId)) /** * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action] @@ -555,6 +631,13 @@ class SafetySourceTestData(private val context: Context) { val criticalResolvingGeneralIssue = defaultCriticalResolvingIssueBuilder().build() /** + * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action] + * . + */ + private fun criticalResolvingGeneralIssue(sourceId: String) = + defaultCriticalResolvingIssueBuilder(sourceId = sourceId).build() + + /** * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and with deduplication * info and a resolving [Action]. */ @@ -580,6 +663,15 @@ class SafetySourceTestData(private val context: Context) { .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE) .build() + /** + * Device related [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving + * [Action]. + */ + private fun criticalResolvingDeviceIssue(sourceId: String) = + defaultCriticalResolvingIssueBuilder(sourceId = sourceId) + .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE) + .build() + /** A [SafetySourceData.Builder] with a [SEVERITY_LEVEL_CRITICAL_WARNING] status. */ fun defaultCriticalDataBuilder() = SafetySourceData.Builder() @@ -653,6 +745,15 @@ class SafetySourceTestData(private val context: Context) { /** * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving general + * [SafetySourceIssue] and [SafetySourceStatus]. + */ + fun criticalWithResolvingGeneralIssue(sourceId: String) = + defaultCriticalDataBuilder() + .addIssue(criticalResolvingGeneralIssue(sourceId = sourceId)) + .build() + + /** + * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving general * [SafetySourceIssue] and [SafetySourceStatus], with confirmation dialog. */ val criticalWithResolvingGeneralIssueWithConfirmation: SafetySourceData @@ -683,6 +784,15 @@ class SafetySourceTestData(private val context: Context) { /** * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving device related + * [SafetySourceIssue] and [SafetySourceStatus]. + */ + fun criticalWithResolvingDeviceIssue(sourceId: String) = + defaultCriticalDataBuilder() + .addIssue(criticalResolvingDeviceIssue(sourceId = sourceId)) + .build() + + /** + * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving device related * [SafetySourceIssue] and [SafetySourceStatus] and a recommendation issue. */ val criticalWithResolvingDeviceIssueAndRecommendationIssue = @@ -710,6 +820,24 @@ class SafetySourceTestData(private val context: Context) { .build() /** + * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving [SafetySourceIssue] + * and [SafetySourceStatus]. + */ + fun criticalWithResolvingIssueWithSuccessMessage(sourceId: String) = + SafetySourceData.Builder() + .setStatus( + SafetySourceStatus.Builder( + "Critical title", + "Critical summary", + SEVERITY_LEVEL_CRITICAL_WARNING + ) + .setPendingIntent(createTestActivityRedirectPendingIntent()) + .build() + ) + .addIssue(criticalResolvingIssueWithSuccessMessage(sourceId = sourceId)) + .build() + + /** * A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] redirecting [SafetySourceIssue] and * [SEVERITY_LEVEL_CRITICAL_WARNING] [SafetySourceStatus]. */ @@ -802,7 +930,9 @@ class SafetySourceTestData(private val context: Context) { const val CRITICAL_ISSUE_ACTION_ID = "critical_issue_action_id" /** Issue type ID for all the issues in this file */ + // LINT.IfChange(issue_type_id) const val ISSUE_TYPE_ID = "issue_type_id" + // LINT.ThenChange(/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt:issue_type_id) const val CONFIRMATION_TITLE = "Confirmation title" const val CONFIRMATION_TEXT = "Confirmation text" diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt index 2b2342d7a..21bf76fad 100644 --- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt +++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt @@ -16,6 +16,7 @@ package com.android.safetycenter.testing +import android.app.Notification import android.app.NotificationChannel import android.content.ComponentName import android.content.Context @@ -101,35 +102,8 @@ class TestNotificationListener : NotificationListenerService() { * if it is met and then violated. */ fun waitForZeroNotifications(timeout: Duration = TIMEOUT_LONG) { - waitForNotificationCount(0, timeout) - } - - /** - * Blocks until there is exactly one Safety Center notification and ensures that remains - * true for a short duration. Returns that notification, or throws an [AssertionError] if a - * this condition is not met within [timeout], or if it is met and then violated. - */ - fun waitForSingleNotification( - timeout: Duration = TIMEOUT_LONG - ): StatusBarNotificationWithChannel { - return waitForNotificationCount(1, timeout).first() - } - - /** - * Blocks until there are exactly [count] Safety Center notifications and ensures that - * remains true for a short duration. Returns those notifications, or throws an - * [AssertionError] if a this condition is not met within [timeout], or if it is met and - * then violated. - */ - private fun waitForNotificationCount( - count: Int, - timeout: Duration = TIMEOUT_LONG - ): List<StatusBarNotificationWithChannel> { - return waitForNotificationsToSatisfy( - timeout = timeout, - description = "$count notifications" - ) { - it.size == count + waitForNotificationsToSatisfy(timeout = timeout, description = "No notifications") { + it.isEmpty() } } @@ -175,15 +149,19 @@ class TestNotificationListener : NotificationListenerService() { successMessage: String, onNotification: (StatusBarNotification) -> Unit = {} ) { - val successNotificationWithChannel = - waitForSingleNotificationMatching( - NotificationCharacteristics( - successMessage, - "", - actions = emptyList(), - ) - ) - val statusBarNotification = successNotificationWithChannel.statusBarNotification + // Only wait for the notification event and don't wait for all notifications to "settle" + // as this notification is auto-cancelled after 10s; which can cause flakyness. + val statusBarNotification = + (runBlockingWithTimeout { + waitForNotificationEventAsync { + (it is NotificationPosted && + it.statusBarNotification.notification + ?.extras + ?.getString(Notification.EXTRA_TITLE) == successMessage) + } + } + as NotificationPosted) + .statusBarNotification onNotification(statusBarNotification) // Cancel the notification directly to speed up the tests as it's only auto-cancelled // after 10 seconds, and the teardown waits for all notifications to be cancelled to @@ -253,6 +231,17 @@ class TestNotificationListener : NotificationListenerService() { return currentNotifications } + private suspend fun waitForNotificationEventAsync( + predicate: (NotificationEvent) -> Boolean + ): NotificationEvent { + var event: NotificationEvent + do { + event = safetyCenterNotificationEvents.receive() + Log.d(TAG, "Received notification event: $event") + } while (!predicate(event)) + return event + } + private fun getSafetyCenterNotifications(): List<StatusBarNotificationWithChannel> { return with(getInstanceOrThrow()) { val notificationsSnapshot = diff --git a/tests/utils/safetycenter/res/values/styles.xml b/tests/utils/safetycenter/res/values/styles.xml new file mode 100644 index 000000000..ce54568ed --- /dev/null +++ b/tests/utils/safetycenter/res/values/styles.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2024 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. +--> + +<resources xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- + TODO(b/309578419): Make activities handle insets properly and then remove this. + --> + <style name="OptOutEdgeToEdgeEnforcement"> + <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> + </style> +</resources> |