Merge changes from topic "presubmit-am-9b5e750ffe3a4cb798418c89d9e7f523"
* changes:
[automerge] Re-land "Move rounded corner to provider" 2p: 4301034952 2p: 88e14532f8
[automerge] Re-land "Move rounded corner to provider" 2p: 4301034952
Re-land "Move rounded corner to provider"
diff --git a/apct-tests/perftests/core/src/android/libcore/AdditionPerfTest.java b/apct-tests/perftests/core/src/android/libcore/AdditionPerfTest.java
index ea3d172..aa47e0a 100644
--- a/apct-tests/perftests/core/src/android/libcore/AdditionPerfTest.java
+++ b/apct-tests/perftests/core/src/android/libcore/AdditionPerfTest.java
@@ -37,79 +37,71 @@
public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter();
@Test
- public int timeAddConstantToLocalInt() {
+ public void timeAddConstantToLocalInt() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
int result = 0;
while (state.keepRunning()) {
result += 123;
}
- return result;
}
@Test
- public int timeAddTwoLocalInts() {
+ public void timeAddTwoLocalInts() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
int result = 0;
int constant = 123;
while (state.keepRunning()) {
result += constant;
}
- return result;
}
@Test
- public long timeAddConstantToLocalLong() {
+ public void timeAddConstantToLocalLong() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
long result = 0;
while (state.keepRunning()) {
result += 123L;
}
- return result;
}
@Test
- public long timeAddTwoLocalLongs() {
+ public void timeAddTwoLocalLongs() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
long result = 0;
long constant = 123L;
while (state.keepRunning()) {
result += constant;
}
- return result;
}
@Test
- public float timeAddConstantToLocalFloat() {
+ public void timeAddConstantToLocalFloat() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
float result = 0.0f;
while (state.keepRunning()) {
result += 123.0f;
}
- return result;
}
@Test
- public float timeAddTwoLocalFloats() {
+ public void timeAddTwoLocalFloats() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
float result = 0.0f;
float constant = 123.0f;
while (state.keepRunning()) {
result += constant;
}
- return result;
}
@Test
- public double timeAddConstantToLocalDouble() {
+ public void timeAddConstantToLocalDouble() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
double result = 0.0;
while (state.keepRunning()) {
result += 123.0;
}
- return result;
}
@Test
- public double timeAddTwoLocalDoubles() {
+ public void timeAddTwoLocalDoubles() {
BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
double result = 0.0;
double constant = 123.0;
while (state.keepRunning()) {
result += constant;
}
- return result;
}
}
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index 25db58e..aad8f9d 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -1387,6 +1387,7 @@
if (mPendingJobQueue.remove(cancelled)) {
mJobPackageTracker.noteNonpending(cancelled);
}
+ mChangedJobList.remove(cancelled);
// Cancel if running.
mConcurrencyManager.stopJobOnServiceContextLocked(
cancelled, reason, internalReasonCode, debugReason);
diff --git a/api/api.go b/api/api.go
index 94bccaa..9aac879 100644
--- a/api/api.go
+++ b/api/api.go
@@ -27,6 +27,7 @@
const art = "art.module.public.api"
const conscrypt = "conscrypt.module.public.api"
const i18n = "i18n.module.public.api"
+
var core_libraries_modules = []string{art, conscrypt, i18n}
// The intention behind this soong plugin is to generate a number of "merged"
@@ -92,6 +93,8 @@
type MergedTxtDefinition struct {
// "current.txt" or "removed.txt"
TxtFilename string
+ // Filename in the new dist dir. "android.txt" or "android-removed.txt"
+ DistFilename string
// The module for the non-updatable / non-module part of the api.
BaseTxt string
// The list of modules that are relevant for this merged txt.
@@ -112,7 +115,6 @@
if txt.Scope != "public" {
filename = txt.Scope + "-" + filename
}
-
props := genruleProps{}
props.Name = proptools.StringPtr(ctx.ModuleName() + "-" + filename)
props.Tools = []string{"metalava"}
@@ -126,9 +128,9 @@
Dest: proptools.StringPtr(filename),
},
{
- Targets: []string{"sdk"},
+ Targets: []string{"api_txt", "sdk"},
Dir: proptools.StringPtr("apistubs/android/" + txt.Scope + "/api"),
- Dest: proptools.StringPtr(txt.TxtFilename),
+ Dest: proptools.StringPtr(txt.DistFilename),
},
}
props.Visibility = []string{"//visibility:public"}
@@ -240,34 +242,39 @@
var textFiles []MergedTxtDefinition
tagSuffix := []string{".api.txt}", ".removed-api.txt}"}
+ distFilename := []string{"android.txt", "android-removed.txt"}
for i, f := range []string{"current.txt", "removed.txt"} {
textFiles = append(textFiles, MergedTxtDefinition{
- TxtFilename: f,
- BaseTxt: ":non-updatable-" + f,
- Modules: bootclasspath,
- ModuleTag: "{.public" + tagSuffix[i],
- Scope: "public",
+ TxtFilename: f,
+ DistFilename: distFilename[i],
+ BaseTxt: ":non-updatable-" + f,
+ Modules: bootclasspath,
+ ModuleTag: "{.public" + tagSuffix[i],
+ Scope: "public",
})
textFiles = append(textFiles, MergedTxtDefinition{
- TxtFilename: f,
- BaseTxt: ":non-updatable-system-" + f,
- Modules: bootclasspath,
- ModuleTag: "{.system" + tagSuffix[i],
- Scope: "system",
+ TxtFilename: f,
+ DistFilename: distFilename[i],
+ BaseTxt: ":non-updatable-system-" + f,
+ Modules: bootclasspath,
+ ModuleTag: "{.system" + tagSuffix[i],
+ Scope: "system",
})
textFiles = append(textFiles, MergedTxtDefinition{
- TxtFilename: f,
- BaseTxt: ":non-updatable-module-lib-" + f,
- Modules: bootclasspath,
- ModuleTag: "{.module-lib" + tagSuffix[i],
- Scope: "module-lib",
+ TxtFilename: f,
+ DistFilename: distFilename[i],
+ BaseTxt: ":non-updatable-module-lib-" + f,
+ Modules: bootclasspath,
+ ModuleTag: "{.module-lib" + tagSuffix[i],
+ Scope: "module-lib",
})
textFiles = append(textFiles, MergedTxtDefinition{
- TxtFilename: f,
- BaseTxt: ":non-updatable-system-server-" + f,
- Modules: system_server_classpath,
- ModuleTag: "{.system-server" + tagSuffix[i],
- Scope: "system-server",
+ TxtFilename: f,
+ DistFilename: distFilename[i],
+ BaseTxt: ":non-updatable-system-server-" + f,
+ Modules: system_server_classpath,
+ ModuleTag: "{.system-server" + tagSuffix[i],
+ Scope: "system-server",
})
}
for _, txt := range textFiles {
diff --git a/core/api/current.txt b/core/api/current.txt
index c5ab512..c346fd3 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -52055,7 +52055,6 @@
method public boolean isSelected();
method @Deprecated public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean);
method @Deprecated public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean, boolean);
- method @Deprecated @NonNull public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(@Nullable String, int, int, @Nullable String, int, int, boolean, boolean);
}
public static final class AccessibilityNodeInfo.CollectionItemInfo.Builder {
diff --git a/core/api/removed.txt b/core/api/removed.txt
index 608a9a4..1fa1e89 100644
--- a/core/api/removed.txt
+++ b/core/api/removed.txt
@@ -525,6 +525,14 @@
}
+package android.view.accessibility {
+
+ public static final class AccessibilityNodeInfo.CollectionItemInfo {
+ method @Deprecated @NonNull public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(@Nullable String, int, int, @Nullable String, int, int, boolean, boolean);
+ }
+
+}
+
package android.view.translation {
public final class TranslationManager {
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 03b4aa5..b57eff0 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -763,7 +763,7 @@
method public void clearRequireCompatChange();
method public boolean isPendingIntentBackgroundActivityLaunchAllowed();
method public static android.app.BroadcastOptions makeBasic();
- method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
+ method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
method public void setDontSendToRestrictedApps(boolean);
method public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 7255a13..49a5c9f 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -631,7 +631,7 @@
* @param uid uid
* @param pid pid of the ProcessRecord that is pending top.
*/
- public abstract void addPendingTopUid(int uid, int pid);
+ public abstract void addPendingTopUid(int uid, int pid, @Nullable IApplicationThread thread);
/**
* Delete uid from the ActivityManagerService PendingStartActivityUids list.
diff --git a/core/java/android/app/BroadcastOptions.java b/core/java/android/app/BroadcastOptions.java
index 8b3c9fa..56f8760 100644
--- a/core/java/android/app/BroadcastOptions.java
+++ b/core/java/android/app/BroadcastOptions.java
@@ -532,7 +532,7 @@
* @hide
*/
@SystemApi
- @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)
+ @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS)
public void recordResponseEventWhileInBackground(@IntRange(from = 0) long id) {
mIdForResponseEvent = id;
}
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 6e1d1cd..6bb35db 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -7917,6 +7917,8 @@
* @hide
*/
public MessagingStyle setShortcutIcon(@Nullable Icon conversationIcon) {
+ // TODO(b/228941516): This icon should be downscaled to avoid using too much memory,
+ // see reduceImageSizes.
mShortcutIcon = conversationIcon;
return this;
}
@@ -8423,6 +8425,51 @@
return makeMessagingView(StandardTemplateParams.VIEW_TYPE_HEADS_UP);
}
+ /**
+ * @hide
+ */
+ @Override
+ public void reduceImageSizes(Context context) {
+ super.reduceImageSizes(context);
+ Resources resources = context.getResources();
+ boolean isLowRam = ActivityManager.isLowRamDeviceStatic();
+ if (mShortcutIcon != null) {
+ int maxSize = resources.getDimensionPixelSize(
+ isLowRam ? R.dimen.notification_small_icon_size_low_ram
+ : R.dimen.notification_small_icon_size);
+ mShortcutIcon.scaleDownIfNecessary(maxSize, maxSize);
+ }
+
+ int maxAvatarSize = resources.getDimensionPixelSize(
+ isLowRam ? R.dimen.notification_person_icon_max_size
+ : R.dimen.notification_person_icon_max_size_low_ram);
+ if (mUser != null && mUser.getIcon() != null) {
+ mUser.getIcon().scaleDownIfNecessary(maxAvatarSize, maxAvatarSize);
+ }
+
+ reduceMessagesIconSizes(mMessages, maxAvatarSize);
+ reduceMessagesIconSizes(mHistoricMessages, maxAvatarSize);
+ }
+
+ /**
+ * @hide
+ */
+ private static void reduceMessagesIconSizes(@Nullable List<Message> messages, int maxSize) {
+ if (messages == null) {
+ return;
+ }
+
+ for (Message message : messages) {
+ Person sender = message.mSender;
+ if (sender != null) {
+ Icon icon = sender.getIcon();
+ if (icon != null) {
+ icon.scaleDownIfNecessary(maxSize, maxSize);
+ }
+ }
+ }
+ }
+
public static final class Message {
/** @hide */
public static final String KEY_TEXT = "text";
diff --git a/core/java/android/app/PropertyInvalidatedCache.java b/core/java/android/app/PropertyInvalidatedCache.java
index df7bf7b..add891d 100644
--- a/core/java/android/app/PropertyInvalidatedCache.java
+++ b/core/java/android/app/PropertyInvalidatedCache.java
@@ -313,6 +313,7 @@
* one of the permitted values above. The API is a string that is a legal Java simple
* identifier. The api is modified to conform to the system property style guide by
* replacing every upper case letter with an underscore and the lower case equivalent.
+ * (An initial upper case letter is not prefixed with an underscore).
* There is no requirement that the apiName be the name of an actual API.
*
* Be aware that SystemProperties has a maximum length which is private to the
@@ -326,7 +327,7 @@
@NonNull String apiName) {
char[] api = apiName.toCharArray();
int upper = 0;
- for (int i = 0; i < api.length; i++) {
+ for (int i = 1; i < api.length; i++) {
if (Character.isUpperCase(api[i])) {
upper++;
}
@@ -336,7 +337,9 @@
for (int i = 0; i < api.length; i++) {
if (Character.isJavaIdentifierPart(api[i])) {
if (Character.isUpperCase(api[i])) {
- suffix[j++] = '_';
+ if (i > 0) {
+ suffix[j++] = '_';
+ }
suffix[j++] = Character.toLowerCase(api[i]);
} else {
suffix[j++] = api[i];
@@ -1286,13 +1289,23 @@
}
/**
- * Return the name of the cache, to be used in debug messages.
+ * Return the name of the cache, to be used in debug messages. This is exposed
+ * primarily for testing.
+ * @hide
*/
- private final @NonNull String cacheName() {
+ public final @NonNull String cacheName() {
return mCacheName;
}
/**
+ * Return the property used by the cache. This is primarily for test purposes.
+ * @hide
+ */
+ public final @NonNull String propertyName() {
+ return mPropertyName;
+ }
+
+ /**
* Return the query as a string, to be used in debug messages. New clients should not
* override this, but should instead add the necessary toString() method to the Query
* class.
diff --git a/core/java/android/app/TEST_MAPPING b/core/java/android/app/TEST_MAPPING
index 3c64b99..a8ae191 100644
--- a/core/java/android/app/TEST_MAPPING
+++ b/core/java/android/app/TEST_MAPPING
@@ -159,6 +159,15 @@
}
],
"file_patterns": ["(/|^)ContextImpl.java"]
+ },
+ {
+ "file_patterns": ["(/|^)LocaleManager.java"],
+ "name": "CtsLocaleManagerTestCases",
+ "options": [
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ }
+ ]
}
],
"presubmit-large": [
@@ -186,16 +195,6 @@
{
"file_patterns": ["(/|^)ActivityThreadTest.java"],
"name": "FrameworksCoreTests"
- },
- // TODO(b/225192026): Move back to presubmit after b/225192026 is fixed
- {
- "file_patterns": ["(/|^)LocaleManager.java"],
- "name": "CtsLocaleManagerTestCases",
- "options": [
- {
- "exclude-annotation": "androidx.test.filters.FlakyTest"
- }
- ]
}
]
}
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index d375a9e..f5cf73b 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -185,6 +185,30 @@
mResourcesManager = new DevicePolicyResourcesManager(context, service);
}
+ /**
+ * Fetch the current value of mService. This is used in the binder cache lambda
+ * expressions.
+ */
+ private final IDevicePolicyManager getService() {
+ return mService;
+ }
+
+ /**
+ * Fetch the current value of mParentInstance. This is used in the binder cache
+ * lambda expressions.
+ */
+ private final boolean isParentInstance() {
+ return mParentInstance;
+ }
+
+ /**
+ * Fetch the current value of mContext. This is used in the binder cache lambda
+ * expressions.
+ */
+ private final Context getContext() {
+ return mContext;
+ }
+
/** @hide test will override it. */
@VisibleForTesting
protected int myUserId() {
@@ -3783,57 +3807,21 @@
"android.app.extra.RESOURCE_IDS";
/**
- * A convenience class that wraps some IpcDataCache methods. Instantiate it with an
- * API string. Instances can and should be final static. All instances of this class
- * use the same key for invalidation.
+ * This object is a single place to tack on invalidation and disable calls. All
+ * binder caches in this class derive from this Config, so all can be invalidated or
+ * disabled through this Config.
*/
- private static class BinderApi {
- private final static String KEY = "DevicePolicyManager";
- private final String mApi;
- BinderApi(String api) {
- mApi = api;
- }
- final String api() {
- return mApi;
- }
- final String key() {
- return KEY;
- }
- final static void invalidate() {
- IpcDataCache.invalidateCache(IpcDataCache.MODULE_SYSTEM, KEY);
- }
- final void disable() {
- IpcDataCache.disableForCurrentProcess(mApi);
- }
- }
+ private static final IpcDataCache.Config sDpmCaches =
+ new IpcDataCache.Config(8, IpcDataCache.MODULE_SYSTEM, "DevicePolicyManagerCaches");
/** @hide */
public static void invalidateBinderCaches() {
- BinderApi.invalidate();
+ sDpmCaches.invalidateCache();
}
- /**
- * A simple wrapper for binder caches in this class. All caches are created with a
- * maximum of 8 entries, the SYSTEM module, and a cache name that is the same as the api.
- */
- private static class BinderCache<Q,R> extends IpcDataCache<Q,R> {
- BinderCache(BinderApi api, IpcDataCache.QueryHandler<Q,R> handler) {
- super(8, IpcDataCache.MODULE_SYSTEM, api.key(), api.api(), handler);
- }
- }
-
- /**
- * Disable all caches in the local process.
- * @hide
- */
- public static void disableLocalProcessCaches() {
- disableGetKeyguardDisabledFeaturesCache();
- disableHasDeviceOwnerCache();
- disableGetProfileOwnerOrDeviceOwnerSupervisionComponentCache();
- disableIsOrganizationOwnedDeviceWithManagedProfileCache();
- disableGetDeviceOwnerOrganizationNameCache();
- disableGetOrganizationNameForUserCache();
- disableIsNetworkLoggingEnabled();
+ /** @hide */
+ public static void disableLocalCaches() {
+ sDpmCaches.disableAllForCurrentProcess();
}
/** @hide */
@@ -8435,54 +8423,16 @@
return getKeyguardDisabledFeatures(admin, myUserId());
}
- // A key into the keyguard cache.
- private static class KeyguardQuery {
- private final ComponentName mAdmin;
- private final int mUserHandle;
- KeyguardQuery(@Nullable ComponentName admin, int userHandle) {
- mAdmin = admin;
- mUserHandle = userHandle;
- }
- public boolean equals(Object o) {
- if (o instanceof KeyguardQuery) {
- KeyguardQuery r = (KeyguardQuery) o;
- return Objects.equals(mAdmin, r.mAdmin) && mUserHandle == r.mUserHandle;
- } else {
- return false;
- }
- }
- public int hashCode() {
- return ((mAdmin != null) ? mAdmin.hashCode() : 0) * 13 + mUserHandle;
- }
- }
-
- // The query handler does not cache wildcard user IDs, although they should never
- // appear in the query.
- private static final BinderApi sGetKeyguardDisabledFeatures =
- new BinderApi("getKeyguardDisabledFeatures");
- private BinderCache<KeyguardQuery, Integer> mGetKeyGuardDisabledFeaturesCache =
- new BinderCache<>(sGetKeyguardDisabledFeatures,
- new IpcDataCache.QueryHandler<KeyguardQuery, Integer>() {
- @Override
- public Integer apply(KeyguardQuery query) {
- try {
- return mService.getKeyguardDisabledFeatures(
- query.mAdmin, query.mUserHandle, mParentInstance);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }});
-
- /** @hide */
- public static void disableGetKeyguardDisabledFeaturesCache() {
- sGetKeyguardDisabledFeatures.disable();
- }
+ private IpcDataCache<Pair<ComponentName, Integer>, Integer> mGetKeyGuardDisabledFeaturesCache =
+ new IpcDataCache<>(sDpmCaches.child("getKeyguardDisabledFeatures"),
+ (query) -> getService().getKeyguardDisabledFeatures(
+ query.first, query.second, isParentInstance()));
/** @hide per-user version */
@UnsupportedAppUsage
public int getKeyguardDisabledFeatures(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
- return mGetKeyGuardDisabledFeaturesCache.query(new KeyguardQuery(admin, userHandle));
+ return mGetKeyGuardDisabledFeaturesCache.query(new Pair<>(admin, userHandle));
} else {
return KEYGUARD_DISABLE_FEATURES_NONE;
}
@@ -8864,23 +8814,9 @@
return name != null ? name.getPackageName() : null;
}
- private static final BinderApi sHasDeviceOwner =
- new BinderApi("hasDeviceOwner");
- private BinderCache<Void, Boolean> mHasDeviceOwnerCache =
- new BinderCache<>(sHasDeviceOwner,
- new IpcDataCache.QueryHandler<Void, Boolean>() {
- @Override
- public Boolean apply(Void query) {
- try {
- return mService.hasDeviceOwner();
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
- }});
- /** @hide */
- public static void disableHasDeviceOwnerCache() {
- sHasDeviceOwner.disable();
- }
+ private IpcDataCache<Void, Boolean> mHasDeviceOwnerCache =
+ new IpcDataCache<>(sDpmCaches.child("hasDeviceOwner"),
+ (query) -> getService().hasDeviceOwner());
/**
* Called by the system to find out whether the device is managed by a Device Owner.
@@ -9256,25 +9192,10 @@
return null;
}
- private final static BinderApi sGetProfileOwnerOrDeviceOwnerSupervisionComponent =
- new BinderApi("getProfileOwnerOrDeviceOwnerSupervisionComponent");
- private final BinderCache<UserHandle, ComponentName>
+ private final IpcDataCache<UserHandle, ComponentName>
mGetProfileOwnerOrDeviceOwnerSupervisionComponentCache =
- new BinderCache(sGetProfileOwnerOrDeviceOwnerSupervisionComponent,
- new IpcDataCache.QueryHandler<UserHandle, ComponentName>() {
- @Override
- public ComponentName apply(UserHandle user) {
- try {
- return mService.getProfileOwnerOrDeviceOwnerSupervisionComponent(
- user);
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }});
- /** @hide */
- public static void disableGetProfileOwnerOrDeviceOwnerSupervisionComponentCache() {
- sGetProfileOwnerOrDeviceOwnerSupervisionComponent.disable();
- }
+ new IpcDataCache<>(sDpmCaches.child("getProfileOwnerOrDeviceOwnerSupervisionComponent"),
+ (arg) -> getService().getProfileOwnerOrDeviceOwnerSupervisionComponent(arg));
/**
* Returns the configured supervision app if it exists and is the device owner or policy owner.
@@ -9329,23 +9250,9 @@
return null;
}
- private final static BinderApi sIsOrganizationOwnedDeviceWithManagedProfile =
- new BinderApi("isOrganizationOwnedDeviceWithManagedProfile");
- private final BinderCache<Void, Boolean> mIsOrganizationOwnedDeviceWithManagedProfileCache =
- new BinderCache(sIsOrganizationOwnedDeviceWithManagedProfile,
- new IpcDataCache.QueryHandler<Void, Boolean>() {
- @Override
- public Boolean apply(Void query) {
- try {
- return mService.isOrganizationOwnedDeviceWithManagedProfile();
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }});
- /** @hide */
- public static void disableIsOrganizationOwnedDeviceWithManagedProfileCache() {
- sIsOrganizationOwnedDeviceWithManagedProfile.disable();
- }
+ private final IpcDataCache<Void, Boolean> mIsOrganizationOwnedDeviceWithManagedProfileCache =
+ new IpcDataCache(sDpmCaches.child("isOrganizationOwnedDeviceWithManagedProfile"),
+ (query) -> getService().isOrganizationOwnedDeviceWithManagedProfile());
/**
* Apps can use this method to find out if the device was provisioned as
@@ -12927,23 +12834,9 @@
}
}
- private final static BinderApi sGetDeviceOwnerOrganizationName =
- new BinderApi("getDeviceOwnerOrganizationName");
- private final BinderCache<Void, CharSequence> mGetDeviceOwnerOrganizationNameCache =
- new BinderCache(sGetDeviceOwnerOrganizationName,
- new IpcDataCache.QueryHandler<Void, CharSequence>() {
- @Override
- public CharSequence apply(Void query) {
- try {
- return mService.getDeviceOwnerOrganizationName();
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }});
- /** @hide */
- public static void disableGetDeviceOwnerOrganizationNameCache() {
- sGetDeviceOwnerOrganizationName.disable();
- }
+ private final IpcDataCache<Void, CharSequence> mGetDeviceOwnerOrganizationNameCache =
+ new IpcDataCache(sDpmCaches.child("getDeviceOwnerOrganizationName"),
+ (query) -> getService().getDeviceOwnerOrganizationName());
/**
* Called by the system to retrieve the name of the organization managing the device.
@@ -12960,23 +12853,9 @@
return mGetDeviceOwnerOrganizationNameCache.query(null);
}
- private final static BinderApi sGetOrganizationNameForUser =
- new BinderApi("getOrganizationNameForUser");
- private final BinderCache<Integer, CharSequence> mGetOrganizationNameForUserCache =
- new BinderCache(sGetOrganizationNameForUser,
- new IpcDataCache.QueryHandler<Integer, CharSequence>() {
- @Override
- public CharSequence apply(Integer userHandle) {
- try {
- return mService.getOrganizationNameForUser(userHandle);
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }});
- /** @hide */
- public static void disableGetOrganizationNameForUserCache() {
- sGetOrganizationNameForUser.disable();
- }
+ private final IpcDataCache<Integer, CharSequence> mGetOrganizationNameForUserCache =
+ new IpcDataCache<>(sDpmCaches.child("getOrganizationNameForUser"),
+ (query) -> getService().getOrganizationNameForUser(query));
/**
* Retrieve the default title message used in the confirm credentials screen for a given user.
@@ -13372,24 +13251,10 @@
}
}
- private final static BinderApi sNetworkLoggingApi = new BinderApi("isNetworkLoggingEnabled");
- private BinderCache<ComponentName, Boolean> mIsNetworkLoggingEnabledCache =
- new BinderCache<>(sNetworkLoggingApi,
- new IpcDataCache.QueryHandler<ComponentName, Boolean>() {
- @Override
- public Boolean apply(ComponentName admin) {
- try {
- return mService.isNetworkLoggingEnabled(
- admin, mContext.getPackageName());
- } catch (RemoteException re) {
- throw re.rethrowFromSystemServer();
- }
- }});
-
- /** @hide */
- public static void disableIsNetworkLoggingEnabled() {
- sNetworkLoggingApi.disable();
- }
+ private IpcDataCache<ComponentName, Boolean> mIsNetworkLoggingEnabledCache =
+ new IpcDataCache<>(sDpmCaches.child("isNetworkLoggingEnabled"),
+ (admin) -> getService().isNetworkLoggingEnabled(admin,
+ getContext().getPackageName()));
/**
* Return whether network logging is enabled by a device owner or profile owner of
diff --git a/core/java/android/content/pm/TEST_MAPPING b/core/java/android/content/pm/TEST_MAPPING
index dea0834..cc62d533 100644
--- a/core/java/android/content/pm/TEST_MAPPING
+++ b/core/java/android/content/pm/TEST_MAPPING
@@ -180,7 +180,7 @@
"name": "CtsAppSecurityHostTestCases",
"options": [
{
- "include-filter": "com.android.cts.splitapp.SplitAppTest"
+ "include-filter": "android.appsecurity.cts.SplitTests"
},
{
"include-filter": "android.appsecurity.cts.EphemeralTest"
@@ -199,14 +199,6 @@
"name": "CtsRollbackManagerHostTestCases"
},
{
- "name": "CtsOsHostTestCases",
- "options": [
- {
- "include-filter": "com.android.server.pm.PackageParserTest"
- }
- ]
- },
- {
"name": "CtsContentTestCases",
"options": [
{
diff --git a/core/java/android/content/pm/verify/domain/TEST_MAPPING b/core/java/android/content/pm/verify/domain/TEST_MAPPING
index ba4a62c..8a1982a 100644
--- a/core/java/android/content/pm/verify/domain/TEST_MAPPING
+++ b/core/java/android/content/pm/verify/domain/TEST_MAPPING
@@ -12,9 +12,6 @@
"name": "CtsDomainVerificationDeviceStandaloneTestCases"
},
{
- "name": "CtsDomainVerificationDeviceMultiUserTestCases"
- },
- {
"name": "CtsDomainVerificationHostTestCases"
}
]
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java
index d94ad3a..9884c38 100644
--- a/core/java/android/hardware/camera2/CaptureRequest.java
+++ b/core/java/android/hardware/camera2/CaptureRequest.java
@@ -1387,6 +1387,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AE metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AE regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same aeRegions values at different
@@ -1609,6 +1617,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AF metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AF regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same afRegions values at different
@@ -1823,6 +1839,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AWB metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AWB regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same awbRegions values at different
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 60d5e9e..1faec5b 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -829,6 +829,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AE metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AE regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same aeRegions values at different
@@ -1301,6 +1309,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AF metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AF regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same afRegions values at different
@@ -1926,6 +1942,14 @@
* region and output only the intersection rectangle as the metering region in the result
* metadata. If the region is entirely outside the crop region, it will be ignored and
* not reported in the result metadata.</p>
+ * <p>When setting the AWB metering regions, the application must consider the additional
+ * crop resulted from the aspect ratio differences between the preview stream and
+ * {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion}. For example, if the {@link CaptureRequest#SCALER_CROP_REGION android.scaler.cropRegion} is the full
+ * active array size with 4:3 aspect ratio, and the preview stream is 16:9,
+ * the boundary of AWB regions will be [0, y_crop] and
+ * [active_width, active_height - 2 * y_crop] rather than [0, 0] and
+ * [active_width, active_height], where y_crop is the additional crop due to aspect ratio
+ * mismatch.</p>
* <p>Starting from API level 30, the coordinate system of activeArraySize or
* preCorrectionActiveArraySize is used to represent post-zoomRatio field of view, not
* pre-zoom field of view. This means that the same awbRegions values at different
diff --git a/core/java/android/net/Ikev2VpnProfile.java b/core/java/android/net/Ikev2VpnProfile.java
index 1b503b1..ba0546a 100644
--- a/core/java/android/net/Ikev2VpnProfile.java
+++ b/core/java/android/net/Ikev2VpnProfile.java
@@ -824,9 +824,9 @@
* authentication method may be set. This method will overwrite any previously set
* authentication method.
*
- * <p>It's not allowed to set this if this {@link Builder} is constructed from an
- * {@link IkeTunnelConnectionParams}. This information should be retrieved from
- * {@link IkeTunnelConnectionParams}
+ * <p>If this {@link Builder} is constructed with an {@link IkeTunnelConnectionParams},
+ * authentication details should be configured there, and calling this method will result
+ * in an exception being thrown.
*
* @param user the username to be used for EAP-MSCHAPv2 authentication
* @param pass the password to be used for EAP-MSCHAPv2 authentication
@@ -864,9 +864,9 @@
* Only one authentication method may be set. This method will overwrite any previously set
* authentication method.
*
- * <p>It's not allowed to set this if this {@link Builder} is constructed from an
- * {@link IkeTunnelConnectionParams}. This information should be retrieved from
- * {@link IkeTunnelConnectionParams}
+ * <p>If this {@link Builder} is constructed with an {@link IkeTunnelConnectionParams},
+ * authentication details should be configured there, and calling this method will result in
+ * an exception being thrown.
*
* @param userCert the username to be used for RSA Digital signiture authentication
* @param key the PrivateKey instance associated with the user ceritificate, used for
@@ -906,9 +906,9 @@
* authentication method may be set. This method will overwrite any previously set
* authentication method.
*
- * <p>It's not allowed to set this if this {@link Builder} is constructed from an
- * {@link IkeTunnelConnectionParams}. This information should be retrieved from
- * {@link IkeTunnelConnectionParams}
+ * <p>If this {@link Builder} is constructed with an {@link IkeTunnelConnectionParams},
+ * authentication details should be configured there, and calling this method will result in
+ * an exception being thrown.
*
* @param psk the key to be used for Pre-Shared Key authentication
* @return this {@link Builder} object to facilitate chaining of method calls
@@ -1042,9 +1042,9 @@
* Authentication, and one that provides Encryption. Authenticated Encryption with
* Associated Data (AEAD) algorithms provide both Authentication and Encryption.
*
- * <p>It's not allowed to set this if this {@link Builder} is constructed from an
- * {@link IkeTunnelConnectionParams}. This information should be retrieved from
- * {@link IkeTunnelConnectionParams}
+ * <p>If this {@link Builder} is constructed with an {@link IkeTunnelConnectionParams},
+ * authentication details should be configured there, and calling this method will result in
+ * an exception being thrown.
*
* <p>By default, this profile will use any algorithm defined in {@link IpSecAlgorithm},
* with the exception of those considered insecure (as described above).
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index 815e4f0..d71faee4 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -1205,13 +1205,16 @@
}
static Uri readFrom(Parcel parcel) {
- return new HierarchicalUri(
- parcel.readString8(),
- Part.readFrom(parcel),
- PathPart.readFrom(parcel),
- Part.readFrom(parcel),
- Part.readFrom(parcel)
- );
+ final String scheme = parcel.readString8();
+ final Part authority = Part.readFrom(parcel);
+ // In RFC3986 the path should be determined based on whether there is a scheme or
+ // authority present (https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3).
+ final boolean hasSchemeOrAuthority =
+ (scheme != null && scheme.length() > 0) || !authority.isEmpty();
+ final PathPart path = PathPart.readFrom(hasSchemeOrAuthority, parcel);
+ final Part query = Part.readFrom(parcel);
+ final Part fragment = Part.readFrom(parcel);
+ return new HierarchicalUri(scheme, authority, path, query, fragment);
}
public int describeContents() {
@@ -2270,6 +2273,11 @@
}
}
+ static PathPart readFrom(boolean hasSchemeOrAuthority, Parcel parcel) {
+ final PathPart path = readFrom(parcel);
+ return hasSchemeOrAuthority ? makeAbsolute(path) : path;
+ }
+
/**
* Creates a path from the encoded string.
*
diff --git a/core/java/android/os/IpcDataCache.java b/core/java/android/os/IpcDataCache.java
index 0efa34c..bf44d65 100644
--- a/core/java/android/os/IpcDataCache.java
+++ b/core/java/android/os/IpcDataCache.java
@@ -23,7 +23,7 @@
import android.annotation.TestApi;
import android.app.PropertyInvalidatedCache;
import android.text.TextUtils;
-import android.util.Log;
+import android.util.ArraySet;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.FastPrintWriter;
@@ -35,7 +35,6 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
@@ -324,8 +323,8 @@
@SystemApi(client=SystemApi.Client.MODULE_LIBRARIES)
@TestApi
public IpcDataCache(int maxEntries, @NonNull @IpcDataCacheModule String module,
- @NonNull String api,
- @NonNull String cacheName, @NonNull QueryHandler<Query, Result> computer) {
+ @NonNull String api, @NonNull String cacheName,
+ @NonNull QueryHandler<Query, Result> computer) {
super(maxEntries, module, api, cacheName, computer);
}
@@ -382,4 +381,210 @@
@NonNull String api) {
PropertyInvalidatedCache.invalidateCache(module, api);
}
+
+ /**
+ * This is a convenience class that encapsulates configuration information for a
+ * cache. It may be supplied to the cache constructors in lieu of the other
+ * parameters. The class captures maximum entry count, the module, the key, and the
+ * api.
+ *
+ * There are three specific use cases supported by this class.
+ *
+ * 1. Instance-per-cache: create a static instance of this class using the same
+ * parameters as would have been given to IpcDataCache (or
+ * PropertyInvalidatedCache). This static instance provides a hook for the
+ * invalidateCache() and disableForLocalProcess() calls, which, generally, must
+ * also be static.
+ *
+ * 2. Short-hand for shared configuration parameters: create an instance of this class
+ * to capture the maximum number of entries and the module to be used by more than
+ * one cache in the class. Refer to this instance when creating new configs. Only
+ * the api and (optionally key) for the new cache must be supplied.
+ *
+ * 3. Tied caches: create a static instance of this class to capture the maximum
+ * number of entries, the module, and the key. Refer to this instance when
+ * creating a new config that differs in only the api. The new config can be
+ * created as part of the cache constructor. All caches that trace back to the
+ * root config share the same key and are invalidated by the invalidateCache()
+ * method of the root config. All caches that trace back to the root config can be
+ * disabled in the local process by the disableAllForCurrentProcess() method of the
+ * root config.
+ *
+ * @hide
+ */
+ public static class Config {
+ private final int mMaxEntries;
+ @IpcDataCacheModule
+ private final String mModule;
+ private final String mApi;
+ private final String mName;
+
+ /**
+ * The list of cache names that were created extending this Config. If
+ * disableForCurrentProcess() is invoked on this config then all children will be
+ * disabled. Furthermore, any new children based off of this config will be
+ * disabled. The construction order guarantees that new caches will be disabled
+ * before they are created (the Config must be created before the IpcDataCache is
+ * created).
+ */
+ private ArraySet<String> mChildren;
+
+ /**
+ * True if registered children are disabled in the current process. If this is
+ * true then all new children are disabled as they are registered.
+ */
+ private boolean mDisabled = false;
+
+ public Config(int maxEntries, @NonNull @IpcDataCacheModule String module,
+ @NonNull String api, @NonNull String name) {
+ mMaxEntries = maxEntries;
+ mModule = module;
+ mApi = api;
+ mName = name;
+ }
+
+ /**
+ * A short-hand constructor that makes the name the same as the api.
+ */
+ public Config(int maxEntries, @NonNull @IpcDataCacheModule String module,
+ @NonNull String api) {
+ this(maxEntries, module, api, api);
+ }
+
+ /**
+ * Copy the module and max entries from the Config and take the api and name from
+ * the parameter list.
+ */
+ public Config(@NonNull Config root, @NonNull String api, @NonNull String name) {
+ this(root.maxEntries(), root.module(), api, name);
+ }
+
+ /**
+ * Copy the module and max entries from the Config and take the api and name from
+ * the parameter list.
+ */
+ public Config(@NonNull Config root, @NonNull String api) {
+ this(root.maxEntries(), root.module(), api, api);
+ }
+
+ /**
+ * Fetch a config that is a child of <this>. The child shares the same api as the
+ * parent and is registered with the parent for the purposes of disabling in the
+ * current process.
+ */
+ public Config child(@NonNull String name) {
+ final Config result = new Config(this, api(), name);
+ registerChild(name);
+ return result;
+ }
+
+ public final int maxEntries() {
+ return mMaxEntries;
+ }
+
+ @IpcDataCacheModule
+ public final @NonNull String module() {
+ return mModule;
+ }
+
+ public final @NonNull String api() {
+ return mApi;
+ }
+
+ public final @NonNull String name() {
+ return mName;
+ }
+
+ /**
+ * Register a child cache name. If disableForCurrentProcess() has been called
+ * against this cache, disable th new child.
+ */
+ private final void registerChild(String name) {
+ synchronized (this) {
+ if (mChildren == null) {
+ mChildren = new ArraySet<>();
+ }
+ mChildren.add(name);
+ if (mDisabled) {
+ IpcDataCache.disableForCurrentProcess(name);
+ }
+ }
+ }
+
+ /**
+ * Invalidate all caches that share this Config's module and api.
+ */
+ public void invalidateCache() {
+ IpcDataCache.invalidateCache(mModule, mApi);
+ }
+
+ /**
+ * Disable all caches that share this Config's name.
+ */
+ public void disableForCurrentProcess() {
+ IpcDataCache.disableForCurrentProcess(mName);
+ }
+
+ /**
+ * Disable this cache and all children. Any child that is added in the future
+ * will alwo be disabled.
+ */
+ public void disableAllForCurrentProcess() {
+ synchronized (this) {
+ mDisabled = true;
+ disableForCurrentProcess();
+ if (mChildren != null) {
+ for (String c : mChildren) {
+ IpcDataCache.disableForCurrentProcess(c);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Create a new cache using a config.
+ * @hide
+ */
+ public IpcDataCache(@NonNull Config config, @NonNull QueryHandler<Query, Result> computer) {
+ super(config.maxEntries(), config.module(), config.api(), config.name(), computer);
+ }
+
+ /**
+ * An interface suitable for a lambda expression instead of a QueryHandler.
+ * @hide
+ */
+ public interface RemoteCall<Query, Result> {
+ Result apply(Query query) throws RemoteException;
+ }
+
+ /**
+ * This is a query handler that is created with a lambda expression that is invoked
+ * every time the handler is called. The handler is specifically meant for services
+ * hosted by system_server; the handler automatically rethrows RemoteException as a
+ * RuntimeException, which is the usual handling for failed binder calls.
+ */
+ private static class SystemServerCallHandler<Query, Result>
+ extends IpcDataCache.QueryHandler<Query, Result> {
+ private final RemoteCall<Query, Result> mHandler;
+ public SystemServerCallHandler(RemoteCall handler) {
+ mHandler = handler;
+ }
+ @Override
+ public Result apply(Query query) {
+ try {
+ return mHandler.apply(query);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+ }
+
+ /**
+ * Create a cache using a config and a lambda expression.
+ * @hide
+ */
+ public IpcDataCache(@NonNull Config config, @NonNull RemoteCall<Query, Result> computer) {
+ this(config, new SystemServerCallHandler<>(computer));
+ }
}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index a3227b7..a51ee48 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -14272,6 +14272,14 @@
"emergency_gesture_power_button_cooldown_period_ms";
/**
+ * The minimum time in milliseconds to perform the emergency gesture.
+ *
+ * @hide
+ */
+ public static final String EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS =
+ "emergency_gesture_tap_detection_min_time_ms";
+
+ /**
* Whether to enable automatic system server heap dumps. This only works on userdebug or
* eng builds, not on user builds. This is set by the user and overrides the config value.
* 1 means enable, 0 means disable.
diff --git a/core/java/android/service/quicksettings/TileService.java b/core/java/android/service/quicksettings/TileService.java
index 0829d28..8550219 100644
--- a/core/java/android/service/quicksettings/TileService.java
+++ b/core/java/android/service/quicksettings/TileService.java
@@ -353,7 +353,13 @@
try {
mTile = mService.getTile(mTileToken);
} catch (RemoteException e) {
- throw new RuntimeException("Unable to reach IQSService", e);
+ String name = TileService.this.getClass().getSimpleName();
+ Log.w(TAG, name + " - Couldn't get tile from IQSService.", e);
+ // If we couldn't receive the tile, there's not much reason to continue as users won't
+ // be able to interact. Returning `null` will trigger an unbind in SystemUI and
+ // eventually we'll rebind when needed. This usually means that SystemUI crashed
+ // right after binding and therefore `mService` is outdated.
+ return null;
}
if (mTile != null) {
mTile.setService(mService, mTileToken);
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 555fd43..02027e4 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -67,9 +67,7 @@
* window manager. It provides standard UI policies such as a background, title
* area, default key processing, etc.
*
- * <p>The only existing implementation of this abstract class is
- * android.view.PhoneWindow, which you should instantiate when needing a
- * Window.
+ * <p>The framework will instantiate an implementation of this class on behalf of the application.
*/
public abstract class Window {
/** Flag for the "options panel" feature. This is enabled by default. */
diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java
index ba34179..1c6d93d 100644
--- a/core/java/android/view/WindowInsets.java
+++ b/core/java/android/view/WindowInsets.java
@@ -675,7 +675,7 @@
@Deprecated
@NonNull
public Insets getStableInsets() {
- return getInsets(mTypeMaxInsetsMap, mCompatInsetsTypes);
+ return getInsets(mTypeMaxInsetsMap, systemBars());
}
/**
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index af8a017..ab17891 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -5688,6 +5688,7 @@
* @param heading Whether the item is a heading. (Prefer
* {@link AccessibilityNodeInfo#setHeading(boolean)})
* @param selected Whether the item is selected.
+ * @removed
*/
@Deprecated
@NonNull
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index decd9a5..c1ec168 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -56,6 +56,9 @@
import android.view.WindowManager.LayoutParams;
import android.view.WindowManager.LayoutParams.SoftInputModeFlags;
import android.view.WindowManagerGlobal;
+import android.window.OnBackInvokedCallback;
+import android.window.OnBackInvokedDispatcher;
+import android.window.WindowOnBackInvokedDispatcher;
import com.android.internal.R;
@@ -277,6 +280,8 @@
private boolean mPopupViewInitialLayoutDirectionInherited;
+ private OnBackInvokedCallback mBackCallback;
+
/**
* <p>Create a new empty, non focusable popup window of dimension (0,0).</p>
*
@@ -2028,6 +2033,8 @@
final PopupDecorView decorView = mDecorView;
final View contentView = mContentView;
+ unregisterBackCallback(decorView.findOnBackInvokedDispatcher());
+
final ViewGroup contentHolder;
final ViewParent contentParent = contentView.getParent();
if (contentParent instanceof ViewGroup) {
@@ -2082,6 +2089,15 @@
}
}
+ private void unregisterBackCallback(@Nullable OnBackInvokedDispatcher onBackInvokedDispatcher) {
+ OnBackInvokedCallback backCallback = mBackCallback;
+ mBackCallback = null;
+ if (onBackInvokedDispatcher != null && backCallback != null) {
+ onBackInvokedDispatcher.unregisterOnBackInvokedCallback(
+ backCallback);
+ }
+ }
+
/**
* Returns the window-relative epicenter bounds to be used by enter and
* exit transitions.
@@ -2725,6 +2741,30 @@
}
}
}
+
+ @Override
+ protected void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (!WindowOnBackInvokedDispatcher.isOnBackInvokedCallbackEnabled(mContext)) {
+ return;
+ }
+
+ OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher();
+ if (dispatcher == null) {
+ return;
+ }
+
+ mBackCallback = PopupWindow.this::dismiss;
+
+ dispatcher.registerOnBackInvokedCallback(OnBackInvokedDispatcher.PRIORITY_DEFAULT,
+ mBackCallback);
+ }
+
+ @Override
+ protected void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ unregisterBackCallback(findOnBackInvokedDispatcher());
+ }
}
private class PopupBackgroundView extends FrameLayout {
diff --git a/core/java/android/window/SplashScreenView.java b/core/java/android/window/SplashScreenView.java
index a791cfa..2d1deb2 100644
--- a/core/java/android/window/SplashScreenView.java
+++ b/core/java/android/window/SplashScreenView.java
@@ -237,7 +237,6 @@
/**
* Set the Runnable that can receive the task which should be executed on UI thread.
- * @param uiThreadInitTask
*/
public Builder setUiThreadInitConsumer(Consumer<Runnable> uiThreadInitTask) {
mUiThreadInitTask = uiThreadInitTask;
@@ -281,9 +280,11 @@
view.mBrandingImageView = view.findViewById(R.id.splashscreen_branding_view);
+ boolean hasIcon = false;
// center icon
if (mIconDrawable instanceof SplashScreenView.IconAnimateListener
|| mSurfacePackage != null) {
+ hasIcon = true;
if (mUiThreadInitTask != null) {
mUiThreadInitTask.accept(() -> view.mIconView = createSurfaceView(view));
} else {
@@ -306,9 +307,10 @@
if (mIconBackground != null) {
imageView.setBackground(mIconBackground);
}
+ hasIcon = true;
view.mIconView = imageView;
}
- if (mOverlayDrawable != null || (view.mIconView == null && !mAllowHandleSolidColor)) {
+ if (mOverlayDrawable != null || (!hasIcon && !mAllowHandleSolidColor)) {
view.setNotCopyable();
}
diff --git a/core/java/android/window/StartingWindowInfo.java b/core/java/android/window/StartingWindowInfo.java
index 5aa4501..d161037 100644
--- a/core/java/android/window/StartingWindowInfo.java
+++ b/core/java/android/window/StartingWindowInfo.java
@@ -142,7 +142,11 @@
*/
public static final int TYPE_PARAMETER_ACTIVITY_DRAWN = 0x00000040;
/**
- * Application is allowed to handle solid color splash screen.
+ * Application will receive the
+ * {@link
+ * android.window.SplashScreen.OnExitAnimationListener#onSplashScreenExit(SplashScreenView)}
+ * callback, even when the splash screen only shows a solid color.
+ *
* @hide
*/
public static final int TYPE_PARAMETER_ALLOW_HANDLE_SOLID_COLOR_SCREEN = 0x00000080;
diff --git a/core/java/com/android/internal/app/LocalePickerWithRegion.java b/core/java/com/android/internal/app/LocalePickerWithRegion.java
index 9fe4d67..fadeea4 100644
--- a/core/java/com/android/internal/app/LocalePickerWithRegion.java
+++ b/core/java/com/android/internal/app/LocalePickerWithRegion.java
@@ -129,6 +129,12 @@
boolean isForCountryMode = parent != null;
if (!TextUtils.isEmpty(appPackageName) && !isForCountryMode) {
+ // Filter current system locale to add them into suggestion
+ LocaleList systemLangList = LocaleList.getDefault();
+ for(int i = 0; i < systemLangList.size(); i++) {
+ langTagsToIgnore.add(systemLangList.get(i).toLanguageTag());
+ }
+
if (appCurrentLocale != null) {
Log.d(TAG, "appCurrentLocale: " + appCurrentLocale.getLocale().toLanguageTag());
langTagsToIgnore.add(appCurrentLocale.getLocale().toLanguageTag());
@@ -168,9 +174,20 @@
result.mLocaleStatus == LocaleStatus.GET_SUPPORTED_LANGUAGE_FROM_LOCAL_CONFIG
|| result.mLocaleStatus == LocaleStatus.GET_SUPPORTED_LANGUAGE_FROM_ASSET;
+ // Add current system language into suggestion list
+ for(LocaleStore.LocaleInfo localeInfo: LocaleStore.getSystemCurrentLocaleInfo()) {
+ if (appCurrentLocale == null ||
+ !localeInfo.getLocale().equals(appCurrentLocale.getLocale())) {
+ mLocaleList.add(localeInfo);
+ }
+ }
+
+ // Filter the language not support in app
mLocaleList = filterTheLanguagesNotSupportedInApp(
shouldShowList, result.mAppSupportedLocales);
+ Log.d(TAG, "mLocaleList after app-supported filter: " + mLocaleList.size());
+
// Add "system language"
if (!isForCountryMode && shouldShowList) {
mLocaleList.add(LocaleStore.getSystemDefaultLocaleInfo(appCurrentLocale == null));
@@ -190,7 +207,6 @@
}
}
}
- Log.d(TAG, "mLocaleList after app-supported filter: " + filteredList.size());
}
return filteredList;
diff --git a/core/java/com/android/internal/app/LocaleStore.java b/core/java/com/android/internal/app/LocaleStore.java
index eb11b9b..9480362 100644
--- a/core/java/com/android/internal/app/LocaleStore.java
+++ b/core/java/com/android/internal/app/LocaleStore.java
@@ -25,9 +25,11 @@
import android.util.Log;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.IllformedLocaleException;
+import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -278,6 +280,22 @@
}
/**
+ * Returns a list of system languages with LocaleInfo
+ */
+ public static List<LocaleInfo> getSystemCurrentLocaleInfo() {
+ List<LocaleInfo> localeList = new ArrayList<>();
+
+ LocaleList systemLangList = LocaleList.getDefault();
+ for(int i = 0; i < systemLangList.size(); i++) {
+ LocaleInfo systemLocaleInfo = new LocaleInfo(systemLangList.get(i));
+ systemLocaleInfo.mSuggestionFlags |= LocaleInfo.SUGGESTION_TYPE_SIM;
+ systemLocaleInfo.mIsTranslated = true;
+ localeList.add(systemLocaleInfo);
+ }
+ return localeList;
+ }
+
+ /**
* The "system default" is special case for per-app picker. Intentionally keep the locale
* empty to let activity know "system default" been selected.
*/
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index bfd8ff9..17c2dc0 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -1480,7 +1480,7 @@
if (intent != null) {
prepareIntentForCrossProfileLaunch(intent);
}
- safelyStartActivityInternal(otherProfileResolveInfo,
+ safelyStartActivityAsUser(otherProfileResolveInfo,
mMultiProfilePagerAdapter.getInactiveListAdapter().mResolverListController
.getUserHandle());
});
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java
index 988ecc78..351ac45 100644
--- a/core/java/com/android/internal/app/ResolverListAdapter.java
+++ b/core/java/com/android/internal/app/ResolverListAdapter.java
@@ -169,107 +169,206 @@
}
/**
- * Rebuild the list of resolvers. In some cases some parts will need some asynchronous work
- * to complete.
+ * Rebuild the list of resolvers. When rebuilding is complete, queue the {@code onPostListReady}
+ * callback on the main handler with {@code rebuildCompleted} true.
*
- * The {@code doPostProcessing } parameter is used to specify whether to update the UI and
- * load additional targets (e.g. direct share) after the list has been rebuilt. This is used
- * in the case where we want to load the inactive profile's resolved apps to know the
+ * In some cases some parts will need some asynchronous work to complete. Then this will first
+ * immediately queue {@code onPostListReady} (on the main handler) with {@code rebuildCompleted}
+ * false; only when the asynchronous work completes will this then go on to queue another
+ * {@code onPostListReady} callback with {@code rebuildCompleted} true.
+ *
+ * The {@code doPostProcessing} parameter is used to specify whether to update the UI and
+ * load additional targets (e.g. direct share) after the list has been rebuilt. We may choose
+ * to skip that step if we're only loading the inactive profile's resolved apps to know the
* number of targets.
*
- * @return Whether or not the list building is completed.
+ * @return Whether the list building was completed synchronously. If not, we'll queue the
+ * {@code onPostListReady} callback first with {@code rebuildCompleted} false, and then again
+ * with {@code rebuildCompleted} true at the end of some newly-launched asynchronous work.
+ * Otherwise the callback is only queued once, with {@code rebuildCompleted} true.
*/
protected boolean rebuildList(boolean doPostProcessing) {
- List<ResolvedComponentInfo> currentResolveList = null;
- // Clear the value of mOtherProfile from previous call.
- mOtherProfile = null;
- mLastChosen = null;
- mLastChosenPosition = -1;
mDisplayList.clear();
mIsTabLoaded = false;
+ mLastChosenPosition = -1;
- if (mBaseResolveList != null) {
- currentResolveList = mUnfilteredResolveList = new ArrayList<>();
- mResolverListController.addResolveListDedupe(currentResolveList,
- mResolverListCommunicator.getTargetIntent(),
- mBaseResolveList);
- } else {
- currentResolveList = mUnfilteredResolveList =
- mResolverListController.getResolversForIntent(
- /* shouldGetResolvedFilter= */ true,
- mResolverListCommunicator.shouldGetActivityMetadata(),
- mIntents);
- if (currentResolveList == null) {
- processSortedList(currentResolveList, doPostProcessing);
- return true;
- }
- List<ResolvedComponentInfo> originalList =
- mResolverListController.filterIneligibleActivities(currentResolveList,
- true);
- if (originalList != null) {
- mUnfilteredResolveList = originalList;
- }
- }
+ List<ResolvedComponentInfo> currentResolveList = getInitialRebuiltResolveList();
+
+ /* TODO: this seems like unnecessary extra complexity; why do we need to do this "primary"
+ * (i.e. "eligibility") filtering before evaluating the "other profile" special-treatment,
+ * but the "secondary" (i.e. "priority") filtering after? Are there in fact cases where the
+ * eligibility conditions will filter out a result that would've otherwise gotten the "other
+ * profile" treatment? Or, are there cases where the priority conditions *would* filter out
+ * a result, but we *want* that result to get the "other profile" treatment, so we only
+ * filter *after* evaluating the special-treatment conditions? If the answer to either is
+ * "no," then the filtering steps can be consolidated. (And that also makes the "unfiltered
+ * list" bookkeeping a little cleaner.)
+ */
+ mUnfilteredResolveList = performPrimaryResolveListFiltering(currentResolveList);
// So far we only support a single other profile at a time.
// The first one we see gets special treatment.
- for (ResolvedComponentInfo info : currentResolveList) {
- ResolveInfo resolveInfo = info.getResolveInfoAt(0);
- if (resolveInfo.targetUserId != UserHandle.USER_CURRENT) {
- Intent pOrigIntent = mResolverListCommunicator.getReplacementIntent(
- resolveInfo.activityInfo,
- info.getIntentAt(0));
- Intent replacementIntent = mResolverListCommunicator.getReplacementIntent(
- resolveInfo.activityInfo,
- mResolverListCommunicator.getTargetIntent());
- mOtherProfile = new DisplayResolveInfo(info.getIntentAt(0),
- resolveInfo,
- resolveInfo.loadLabel(mPm),
- resolveInfo.loadLabel(mPm),
- pOrigIntent != null ? pOrigIntent : replacementIntent,
- makePresentationGetter(resolveInfo));
- currentResolveList.remove(info);
- break;
- }
+ ResolvedComponentInfo otherProfileInfo =
+ getFirstNonCurrentUserResolvedComponentInfo(currentResolveList);
+ updateOtherProfileTreatment(otherProfileInfo);
+ if (otherProfileInfo != null) {
+ currentResolveList.remove(otherProfileInfo);
+ /* TODO: the previous line removed the "other profile info" item from
+ * mUnfilteredResolveList *ONLY IF* that variable is an alias for the same List instance
+ * as currentResolveList (i.e., if no items were filtered out as the result of the
+ * earlier "primary" filtering). It seems wrong for our behavior to depend on that.
+ * Should we:
+ * A. replicate the above removal to mUnfilteredResolveList (which is idempotent, so we
+ * don't even have to check whether they're aliases); or
+ * B. break the alias relationship by copying currentResolveList to a new
+ * mUnfilteredResolveList instance if necessary before removing otherProfileInfo?
+ * In other words: do we *want* otherProfileInfo in the "unfiltered" results? Either
+ * way, we'll need one of the changes suggested above.
+ */
}
- if (mOtherProfile == null) {
+ // If no results have yet been filtered, mUnfilteredResolveList is an alias for the same
+ // List instance as currentResolveList. Then we need to make a copy to store as the
+ // mUnfilteredResolveList if we go on to filter any more items. Otherwise we've already
+ // copied the original unfiltered items to a separate List instance and can now filter
+ // the remainder in-place without any further bookkeeping.
+ boolean needsCopyOfUnfiltered = (mUnfilteredResolveList == currentResolveList);
+ mUnfilteredResolveList = performSecondaryResolveListFiltering(
+ currentResolveList, needsCopyOfUnfiltered);
+
+ return finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing);
+ }
+
+ /**
+ * Get the full (unfiltered) set of {@code ResolvedComponentInfo} records for all resolvers
+ * to be considered in a newly-rebuilt list. This list will be filtered and ranked before the
+ * rebuild is complete.
+ */
+ List<ResolvedComponentInfo> getInitialRebuiltResolveList() {
+ if (mBaseResolveList != null) {
+ List<ResolvedComponentInfo> currentResolveList = new ArrayList<>();
+ mResolverListController.addResolveListDedupe(currentResolveList,
+ mResolverListCommunicator.getTargetIntent(),
+ mBaseResolveList);
+ return currentResolveList;
+ } else {
+ return mResolverListController.getResolversForIntent(
+ /* shouldGetResolvedFilter= */ true,
+ mResolverListCommunicator.shouldGetActivityMetadata(),
+ mIntents);
+ }
+ }
+
+ /**
+ * Remove ineligible activities from {@code currentResolveList} (if non-null), in-place. More
+ * broadly, filtering logic should apply in the "primary" stage if it should preclude items from
+ * receiving the "other profile" special-treatment described in {@code rebuildList()}.
+ *
+ * @return A copy of the original {@code currentResolveList}, if any items were removed, or a
+ * (possibly null) reference to the original list otherwise. (That is, this always returns a
+ * list of all the unfiltered items, but if no items were filtered, it's just an alias for the
+ * same list that was passed in).
+ */
+ @Nullable
+ List<ResolvedComponentInfo> performPrimaryResolveListFiltering(
+ @Nullable List<ResolvedComponentInfo> currentResolveList) {
+ /* TODO: mBaseResolveList appears to be(?) some kind of configured mode. Why is it not
+ * subject to filterIneligibleActivities, even though all the other logic still applies
+ * (including "secondary" filtering)? (This also relates to the earlier question; do we
+ * believe there's an item that would be eligible for "other profile" special treatment,
+ * except we want to filter it out as ineligible... but only if we're not in
+ * "mBaseResolveList mode"? */
+ if ((mBaseResolveList != null) || (currentResolveList == null)) {
+ return currentResolveList;
+ }
+
+ List<ResolvedComponentInfo> originalList =
+ mResolverListController.filterIneligibleActivities(currentResolveList, true);
+ return (originalList == null) ? currentResolveList : originalList;
+ }
+
+ /**
+ * Remove low-priority activities from {@code currentResolveList} (if non-null), in place. More
+ * broadly, filtering logic should apply in the "secondary" stage to prevent items from
+ * appearing in the rebuilt-list results, while still considering those items for the "other
+ * profile" special-treatment described in {@code rebuildList()}.
+ *
+ * @return the same (possibly null) List reference as {@code currentResolveList}, if the list is
+ * unmodified as a result of filtering; or, if some item(s) were removed, then either a copy of
+ * the original {@code currentResolveList} (if {@code returnCopyOfOriginalListIfModified} is
+ * true), or null (otherwise).
+ */
+ @Nullable
+ List<ResolvedComponentInfo> performSecondaryResolveListFiltering(
+ @Nullable List<ResolvedComponentInfo> currentResolveList,
+ boolean returnCopyOfOriginalListIfModified) {
+ if ((currentResolveList == null) || currentResolveList.isEmpty()) {
+ return currentResolveList;
+ }
+ return mResolverListController.filterLowPriority(
+ currentResolveList, returnCopyOfOriginalListIfModified);
+ }
+
+ /**
+ * Update the special "other profile" UI treatment based on the components resolved for a
+ * newly-built list.
+ *
+ * @param otherProfileInfo the first {@code ResolvedComponentInfo} specifying a
+ * {@code targetUserId} other than {@code USER_CURRENT}, or null if no such component info was
+ * found in the process of rebuilding the list (or if any such candidates were already removed
+ * due to "primary filtering").
+ */
+ void updateOtherProfileTreatment(@Nullable ResolvedComponentInfo otherProfileInfo) {
+ mLastChosen = null;
+
+ if (otherProfileInfo != null) {
+ mOtherProfile = makeOtherProfileDisplayResolveInfo(
+ mContext, otherProfileInfo, mPm, mResolverListCommunicator, mIconDpi);
+ } else {
+ mOtherProfile = null;
try {
mLastChosen = mResolverListController.getLastChosen();
+ // TODO: does this also somehow need to update mLastChosenPosition? If so, maybe
+ // the current method should also take responsibility for re-initializing
+ // mLastChosenPosition, where it's currently done at the start of rebuildList()?
+ // (Why is this related to the presence of mOtherProfile in fhe first place?)
} catch (RemoteException re) {
Log.d(TAG, "Error calling getLastChosenActivity\n" + re);
}
}
+ }
- setPlaceholderCount(0);
- int n;
- if ((currentResolveList != null) && ((n = currentResolveList.size()) > 0)) {
- // We only care about fixing the unfilteredList if the current resolve list and
- // current resolve list are currently the same.
- List<ResolvedComponentInfo> originalList =
- mResolverListController.filterLowPriority(currentResolveList,
- mUnfilteredResolveList == currentResolveList);
- if (originalList != null) {
- mUnfilteredResolveList = originalList;
- }
-
- if (currentResolveList.size() > 1) {
- int placeholderCount = currentResolveList.size();
- if (mResolverListCommunicator.useLayoutWithDefault()) {
- --placeholderCount;
- }
- setPlaceholderCount(placeholderCount);
- createSortingTask(doPostProcessing).execute(currentResolveList);
- postListReadyRunnable(doPostProcessing, /* rebuildCompleted */ false);
- return false;
- } else {
- processSortedList(currentResolveList, doPostProcessing);
- return true;
- }
- } else {
- processSortedList(currentResolveList, doPostProcessing);
+ /**
+ * Prepare the appropriate placeholders to eventually display the final set of resolved
+ * components in a newly-rebuilt list, and spawn an asynchronous sorting task if necessary.
+ * This eventually results in a {@code onPostListReady} callback with {@code rebuildCompleted}
+ * true; if any asynchronous work is required, that will first be preceded by a separate
+ * occurrence of the callback with {@code rebuildCompleted} false (once there are placeholders
+ * set up to represent the pending asynchronous results).
+ * @return Whether we were able to do all the work to prepare the list for display
+ * synchronously; if false, there will eventually be two separate {@code onPostListReady}
+ * callbacks, first with placeholders to represent pending asynchronous results, then later when
+ * the results are ready for presentation.
+ */
+ boolean finishRebuildingListWithFilteredResults(
+ @Nullable List<ResolvedComponentInfo> filteredResolveList, boolean doPostProcessing) {
+ if (filteredResolveList == null || filteredResolveList.size() < 2) {
+ // No asynchronous work to do.
+ setPlaceholderCount(0);
+ processSortedList(filteredResolveList, doPostProcessing);
return true;
}
+
+ int placeholderCount = filteredResolveList.size();
+ if (mResolverListCommunicator.useLayoutWithDefault()) {
+ --placeholderCount;
+ }
+ setPlaceholderCount(placeholderCount);
+
+ // Send an "incomplete" list-ready while the async task is running.
+ postListReadyRunnable(doPostProcessing, /* rebuildCompleted */ false);
+ createSortingTask(doPostProcessing).execute(filteredResolveList);
+ return false;
}
AsyncTask<List<ResolvedComponentInfo>,
@@ -636,6 +735,59 @@
}
/**
+ * Find the first element in a list of {@code ResolvedComponentInfo} objects whose
+ * {@code ResolveInfo} specifies a {@code targetUserId} other than the current user.
+ * @return the first ResolvedComponentInfo targeting a non-current user, or null if there are
+ * none (or if the list itself is null).
+ */
+ private static ResolvedComponentInfo getFirstNonCurrentUserResolvedComponentInfo(
+ @Nullable List<ResolvedComponentInfo> resolveList) {
+ if (resolveList == null) {
+ return null;
+ }
+
+ for (ResolvedComponentInfo info : resolveList) {
+ ResolveInfo resolveInfo = info.getResolveInfoAt(0);
+ if (resolveInfo.targetUserId != UserHandle.USER_CURRENT) {
+ return info;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Set up a {@code DisplayResolveInfo} to provide "special treatment" for the first "other"
+ * profile in the resolve list (i.e., the first non-current profile to appear as the target user
+ * of an element in the resolve list).
+ */
+ private static DisplayResolveInfo makeOtherProfileDisplayResolveInfo(
+ Context context,
+ ResolvedComponentInfo resolvedComponentInfo,
+ PackageManager pm,
+ ResolverListCommunicator resolverListCommunicator,
+ int iconDpi) {
+ ResolveInfo resolveInfo = resolvedComponentInfo.getResolveInfoAt(0);
+
+ Intent pOrigIntent = resolverListCommunicator.getReplacementIntent(
+ resolveInfo.activityInfo,
+ resolvedComponentInfo.getIntentAt(0));
+ Intent replacementIntent = resolverListCommunicator.getReplacementIntent(
+ resolveInfo.activityInfo,
+ resolverListCommunicator.getTargetIntent());
+
+ ResolveInfoPresentationGetter presentationGetter =
+ new ResolveInfoPresentationGetter(context, iconDpi, resolveInfo);
+
+ return new DisplayResolveInfo(
+ resolvedComponentInfo.getIntentAt(0),
+ resolveInfo,
+ resolveInfo.loadLabel(pm),
+ resolveInfo.loadLabel(pm),
+ pOrigIntent != null ? pOrigIntent : replacementIntent,
+ presentationGetter);
+ }
+
+ /**
* Necessary methods to communicate between {@link ResolverListAdapter}
* and {@link ResolverActivity}.
*/
diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
index daf2cf0..ffb3752 100644
--- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
+++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
@@ -543,6 +543,12 @@
*/
public static final String CLIPBOARD_OVERLAY_ENABLED = "clipboard_overlay_enabled";
+ /**
+ * (boolean) Whether widget provider info would be saved to / loaded from system persistence
+ * layer as opposed to individual manifests in respective apps.
+ */
+ public static final String PERSISTS_WIDGET_PROVIDER_INFO = "persists_widget_provider_info";
+
private SystemUiDeviceConfigFlags() {
}
}
diff --git a/core/java/com/android/internal/policy/SystemBarUtils.java b/core/java/com/android/internal/policy/SystemBarUtils.java
index 6bf1333..7a1ac07 100644
--- a/core/java/com/android/internal/policy/SystemBarUtils.java
+++ b/core/java/com/android/internal/policy/SystemBarUtils.java
@@ -43,7 +43,7 @@
* Gets the status bar height with a specific display cutout.
*/
public static int getStatusBarHeight(Resources res, DisplayCutout cutout) {
- final int defaultSize = res.getDimensionPixelSize(R.dimen.status_bar_height);
+ final int defaultSize = res.getDimensionPixelSize(R.dimen.status_bar_height_default);
final int safeInsetTop = cutout == null ? 0 : cutout.getSafeInsetTop();
final int waterfallInsetTop = cutout == null ? 0 : cutout.getWaterfallInsets().top;
// The status bar height should be:
@@ -73,7 +73,7 @@
}
}
final int defaultSize =
- context.getResources().getDimensionPixelSize(R.dimen.status_bar_height);
+ context.getResources().getDimensionPixelSize(R.dimen.status_bar_height_default);
// The status bar height should be:
// Max(top cutout size, (status bar default height + waterfall top size))
return Math.max(insets.top, defaultSize + waterfallInsets.top);
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index a6fbf094..b9d5ee4 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -913,7 +913,7 @@
end = i;
i++;
} else if ((mode&PROC_QUOTES) != 0) {
- while (buffer[i] != '"' && i < endIndex) {
+ while (i < endIndex && buffer[i] != '"') {
i++;
}
end = i;
diff --git a/core/res/res/layout/log_access_user_consent_dialog_permission.xml b/core/res/res/layout/log_access_user_consent_dialog_permission.xml
index bd7efbd..c88bc92 100644
--- a/core/res/res/layout/log_access_user_consent_dialog_permission.xml
+++ b/core/res/res/layout/log_access_user_consent_dialog_permission.xml
@@ -37,8 +37,8 @@
android:src="@drawable/ic_doc_document"
tools:layout_editor_absoluteX="148dp"
tools:layout_editor_absoluteY="35dp"
- android:gravity="center" />
-
+ android:gravity="center"
+ android:tint="?attr/colorAccentPrimaryVariant"/>
<TextView
android:id="@+id/log_access_dialog_title"
@@ -46,16 +46,18 @@
android:layout_width="wrap_content"
android:layout_marginBottom="32dp"
android:text="@string/log_access_confirmation_title"
- android:textAppearance="?attr/textAppearanceLarge"
- android:textColor="@android:color/system_neutral1_900"
+ android:textAppearance="@style/AllowLogAccess"
+ android:textColor="?android:attr/textColorPrimary"
android:gravity="center" />
<TextView
android:id="@+id/log_access_dialog_body"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
+ android:layout_marginBottom="40dp"
android:text="@string/log_access_confirmation_body"
android:textAppearance="@style/PrimaryAllowLogAccess"
+ android:textColor="?android:attr/textColorPrimary"
android:gravity="center" />
<Button
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 1b8e975..3a063a5 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Tydelik deur jou diensverskaffer afgeskakel vir SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Kan nie selnetwerk bereik nie"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Probeer die voorkeurnetwerk verander. Tik om te verander."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Noodoproepe is dalk nie beskikbaar nie"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> steun nie noodoproepe oor wi-fi nie. Tik vir besonderhede."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Noodoproepe is onbeskikbaar"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Kan nie noodoproepe oor Wi-Fi maak nie"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Opletberigte"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Oproepaanstuur"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Noodterugbel-modus"</string>
@@ -426,7 +426,7 @@
<string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"Laat die program toe om jou Android TV-toestel se oproeprekord te wysig, insluitend data oor inkomende en uitgaande oproepe. Kwaadwillige programme kan dit gebruik om jou oproeprekord uit te vee of te wysig."</string>
<string name="permdesc_writeCallLog" product="default" msgid="5903033505665134802">"Laat die program toe om jou foon se oproeprekord, insluitende data oor inkomende en uitgaande oproepe, te verander. Kwaadwillige programme kan dit gebruik om jou oproeprekord uit te vee of te verander."</string>
<string name="permlab_bodySensors" msgid="662918578601619569">"Kry toegang tot liggaamsensordata, soos polsslag, terwyl program gebruik word"</string>
- <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"Gee die program toegang tot liggaamsensordata, soos polsslag, temperatuur en bloedsuurstofpersentasie, terwyl dit program gebruik word."</string>
+ <string name="permdesc_bodySensors" product="default" msgid="7652650410295512140">"Gee die program toegang tot liggaamsensordata, soos polsslag, temperatuur en bloedsuurstofpersentasie, terwyl die program gebruik word."</string>
<string name="permlab_bodySensors_background" msgid="4912560779957760446">"Kry toegang tot liggaamsensordata, soos polsslag, terwyl program op agtergrond is"</string>
<string name="permdesc_bodySensors_background" product="default" msgid="8870726027557749417">"Gee die program toegang tot liggaamsensordata, soos polsslag, temperatuur en bloedsuurstofpersentasie, terwyl dit op die agtergrond is."</string>
<string name="permlab_readCalendar" msgid="6408654259475396200">"Lees kalendergebeurtenisse en -besonderhede"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is nie op die oomblik beskikbaar nie."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> is nie beskikbaar nie"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Toestemming word benodig"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Jy kan nie nou toegang hiertoe op jou <xliff:g id="DEVICE">%1$s</xliff:g> kry nie. Probeer eerder op jou Android TV-toestel."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Jy kan nie nou toegang hiertoe op jou <xliff:g id="DEVICE">%1$s</xliff:g> kry nie. Probeer eerder op jou tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Jy kan nie nou toegang hiertoe op jou <xliff:g id="DEVICE">%1$s</xliff:g> kry nie. Probeer eerder op jou foon."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Hierdie program is vir \'n ouer weergawe van Android gebou en sal dalk nie behoorlik werk nie. Probeer kyk vir opdaterings, of kontak die ontwikkelaar."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Kyk vir opdatering"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Jy het nuwe boodskappe"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tik om meer te wete te kom en te verander."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Moenie Steur Nie het verander"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tik om te kyk wat geblokkeer word."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Stelsel"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Instellings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index d4d762f..ba53134 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ለሲም <xliff:g id="SIMNUMBER">%d</xliff:g> ለጊዜው በእርስዎ አገልግሎት አቅራቢ ጠፍቷል"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"የሞባይል አውታረ መረብን መድረስ አልተቻለም"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ተመራጭ አውታረ መረብን ለመለወጥ ይሞክሩ። ለመለወጥ መታ ያድርጉ።"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"የአደጋ ጊዜ ጥሪዎች ላይገኙ ይችላሉ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> በWi-Fi ላይ የአደጋ ጊዜ ጥሪዎችን አይደግፍም። ዝርዝሮችን ለማግኘት መታ ያድርጉ።"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"የአደጋ ጊዜ ጥሪ አይገኝም"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"በWi‑Fi በኩል የአደጋ ጊዜ ጥሪዎችን ማድረግ አይችልም"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ማንቂያዎች"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ጥሪ ማስተላለፍ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"የአደጋ ጊዜ ጥሪ ሁነታ"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> አሁን አይገኝም።"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> አይገኝም"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ፈቃድ ያስፈልጋል"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ይህ በዚህ ጊዜ በእርስዎ <xliff:g id="DEVICE">%1$s</xliff:g> ላይ ሊደረስበት አይችልም። በምትኩ በAndroid TV መሣሪያዎ ላይ ይሞክሩ።"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ይህ በዚህ ጊዜ በእርስዎ <xliff:g id="DEVICE">%1$s</xliff:g> ላይ ሊደረስበት አይችልም። በምትኩ በጡባዊዎ ላይ ይሞክሩ።"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ይህ በዚህ ጊዜ በእርስዎ <xliff:g id="DEVICE">%1$s</xliff:g> ላይ ሊደረስበት አይችልም። በምትኩ በስልክዎ ላይ ይሞክሩ።"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ይህ መተግበሪያ ለቆየ የAndroid ስሪት ነው የተገነባው፣ እና በአግባቡ ላይሰራ ይችላል። ዝማኔዎች ካሉ ለመመልከት ይሞክሩ፣ ወይም ደግሞ ገንቢውን ያነጋግሩ።"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ዝማኔ ካለ አረጋግጥ"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"አዲስ መልዕክቶች አለዎት"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"የበለጠ ለመረዳት እና ለመለወጥ መታ ያድርጉ።"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"አትረብሽ ተቀይሯል"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"ምን እንደታገደ ለመፈተሽ መታ ያድርጉ።"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ሥርዓት"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ቅንብሮች"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ካሜራ"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 8c117d4..5b2343f 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -89,8 +89,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"أجرى مشغّل شبكة الجوّال إيقافًا مؤقتًا للخدمة لشريحة SIM رقم <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"يتعذّر الوصول إلى شبكة الجوّال."</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"حاول تغيير الشبكة المفضلة. انقر لتغييرها."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"قد لا تكون مكالمات الطوارئ متوفرة."</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"لا تعمل خدمة مكالمات الطوارئ على شبكة Wi-Fi في <xliff:g id="SPN">%s</xliff:g>. يُرجى النقر للحصول على التفاصيل."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"لا تتوفر إمكانية الاتصال في حالات الطوارئ."</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"يتعذّر إجراء مكالمات طوارئ عبر Wi‑Fi."</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"التنبيهات"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"إعادة توجيه المكالمة"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"وضع معاودة الاتصال بالطوارئ"</string>
@@ -589,8 +589,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"خطأ في المصادقة"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"استخدام قفل الشاشة"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"أدخِل قفل الشاشة للمتابعة"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"اضغط بقوة على المستشعر."</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"تعذرت معالجة بصمة الإصبع. يُرجى إعادة المحاولة."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"يُرجى تنظيف مستشعر بصمات الإصبع ثم إعادة المحاولة."</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"تنظيف المستشعر ثم إعادة المحاولة"</string>
@@ -603,8 +602,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"لم يتمّ التعرّف على البصمة."</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"لم يتمّ التعرّف على بصمة الإصبع."</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"تم مصادقة بصمة الإصبع"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"تمّت مصادقة الوجه"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"تمّت مصادقة الوجه، يُرجى الضغط على \"تأكيد\"."</string>
@@ -1939,9 +1937,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> غير متاح الآن."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"تطبيق <xliff:g id="ACTIVITY">%1$s</xliff:g> غير متاح"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"مطلوب منح الإذن"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"لا يمكن الوصول إلى هذا التطبيق على <xliff:g id="DEVICE">%1$s</xliff:g> في الوقت الحالي. حاوِل الوصول إليه على جهاز Android TV بدلاً من ذلك."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"لا يمكن الوصول إلى هذا التطبيق على <xliff:g id="DEVICE">%1$s</xliff:g> في الوقت الحالي. حاوِل الوصول إليه على جهازك اللوحي بدلاً من ذلك."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"لا يمكن الوصول إلى هذا التطبيق على <xliff:g id="DEVICE">%1$s</xliff:g> في الوقت الحالي. حاوِل الوصول إليه على هاتفك بدلاً من ذلك."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"تمّ إنشاء هذا التطبيق لإصدار قديم من Android وقد لا يعمل بشكل صحيح. جرِّب البحث عن تحديثات أو الاتصال بمطوّر البرامج."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"البحث عن تحديث"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"لديك رسائل جديدة"</string>
@@ -2032,8 +2057,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"الفتح على أي حال"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"تم العثور على تطبيق ضار"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"هل تريد السماح لتطبيق <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> بالوصول إلى جميع سجلّات الجهاز؟"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"السماح بالوصول إلى السجلّ لمرة واحدة"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"عدم السماح"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"ترصد سجلّات الجهاز ما يحدث على جهازك. يمكن أن تستخدم التطبيقات هذه السجلّات لتحديد المشاكل وحلها.\n\nقد تحتوي بعض السجلّات على معلومات حساسة، ولذلك يجب عدم السماح بالوصول إلى جميع سجلّات الجهاز إلا للتطبيقات التي تثق بها. \n\nإذا لم تسمح بوصول هذا التطبيق إلى جميع سجلّات الجهاز، يظل بإمكان التطبيق الوصول إلى سجلّاته. ويظل بإمكان الشركة المصنّعة لجهازك الوصول إلى بعض السجلّات أو المعلومات المتوفّرة على جهازك. مزيد من المعلومات"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"عدم الإظهار مرة أخرى"</string>
@@ -2047,6 +2071,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"انقر لمعرفة مزيد من المعلومات وإجراء التغيير."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"تم تغيير ميزة \"عدم الإزعاج\""</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"انقر للاطّلاع على ما تم حظره."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"النظام"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"الإعدادات"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"كاميرا"</string>
@@ -2265,14 +2297,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> (مُترجَم)."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"الرسالة مُترجَمة من <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> إلى <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"النشاط في الخلفية"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"تطبيق يستخدم طاقة البطارية"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"ثمة تطبيق لا يزال نشطًا"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"يستخدم التطبيق <xliff:g id="APP">%1$s</xliff:g> طاقة البطارية أثناء عمله في الخلفية. انقر لمراجعة نشاط التطبيق."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"قد يؤثر استخدام التطبيق <xliff:g id="APP">%1$s</xliff:g> على عمر البطارية. انقر للاطّلاع على التطبيقات النشطة."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"التحقّق من التطبيقات النشطة"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"يتعذّر الوصول إلى كاميرا الهاتف من على جهاز <xliff:g id="DEVICE">%1$s</xliff:g>."</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"يتعذّر الوصول إلى كاميرا الجهاز اللوحي من على جهاز <xliff:g id="DEVICE">%1$s</xliff:g>."</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 758d7a1..fc9601e 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"আপোনাৰ বাহকে <xliff:g id="SIMNUMBER">%d</xliff:g> ছিমৰ বাবে সাময়িকভাৱে অফ কৰিছে"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ম’বাইল নেটৱৰ্কৰ লগত সংযোগ কৰিব পৰা নাই"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"পচন্দৰ নেটৱৰ্ক সলনি কৰি চেষ্টা কৰি চাওক। সলনি কৰিবলৈ টিপক।"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"জৰুৰীকালীন কল কৰাৰ সুবিধাটো উপলব্ধ নহ’ব পাৰে"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>এ ৱাই-ফাইৰ জৰিয়তে জৰুৰীকালীন কল কৰাটো সমৰ্থন নকৰে। সবিশেষ জানিবলৈ টিপক।"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"জৰুৰীকালীন কল কৰাৰ সুবিধা উপলব্ধ নহয়"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ৱাই-ফাইৰ জৰিয়তে জৰুৰীকালীন কল কৰিব নোৱাৰি"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"সতৰ্কবাণীসমূহ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"কল ফৰৱাৰ্ডিং"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"জৰুৰীকালীন ক\'লবেক ম\'ড"</string>
@@ -260,7 +260,7 @@
<string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"নিঃশব্দ ম\'ড"</string>
<string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"ধ্বনি অফ আছে"</string>
<string name="global_action_silent_mode_off_status" msgid="6608006545950920042">"ধ্বনি অন আছে"</string>
- <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"এয়াৰপ্লেইন ম\'ড"</string>
+ <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"এয়াৰপ্লে’ন ম’ড"</string>
<string name="global_actions_airplane_mode_on_status" msgid="5508025516695361936">"এয়াৰপ্লেইন ম\'ড অন কৰা আছে"</string>
<string name="global_actions_airplane_mode_off_status" msgid="8522219771500505475">"এয়াৰপ্লেইন ম\'ড অফ কৰা আছে"</string>
<string name="global_action_settings" msgid="4671878836947494217">"ছেটিং"</string>
@@ -1851,7 +1851,7 @@
<string name="confirm_battery_saver" msgid="5247976246208245754">"ঠিক আছে"</string>
<string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"বেটাৰী সঞ্চয়কাৰীয়ে গাঢ় ৰঙৰ থীম অন কৰে আৰু নেপথ্যৰ কাৰ্যকলাপ, কিছুমান ভিজুৱেল ইফেক্ট, নিৰ্দিষ্ট কিছুমান সুবিধা আৰু নেটৱৰ্কৰ সংযোগ সীমিত অথবা অফ কৰে।"</string>
<string name="battery_saver_description" msgid="8518809702138617167">"বেটাৰী সঞ্চয়কাৰীয়ে গাঢ় ৰঙৰ থীম অন কৰে আৰু নেপথ্যৰ কাৰ্যকলাপ, কিছুমান ভিজুৱেল ইফেক্ট, নিৰ্দিষ্ট কিছুমান সুবিধা আৰু নেটৱৰ্কৰ সংযোগ অফ কৰে অথবা সীমাবদ্ধ কৰে।"</string>
- <string name="data_saver_description" msgid="4995164271550590517">"ডেটা ব্য়ৱহাৰৰ হ্ৰাস কৰিবলৈ ডেটা সঞ্চয়কাৰীয়ে কিছুমান এপক নেপথ্য়ত ডেটা প্ৰেৰণ বা সংগ্ৰহ কৰাত বাধা প্ৰদান কৰে। আপুনি বৰ্তমান ব্য়ৱহাৰ কৰি থকা এটা এপে ডেটা এক্সেছ কৰিব পাৰে, কিন্তু সঘনাই এক্সেছ কৰিব নোৱাৰিব পাৰে। ইয়াৰ অৰ্থ উদাহৰণস্বৰূপে এয়া হ\'ব পাৰে যে, আপুনি নিটিপা পর্যন্ত প্ৰতিচ্ছবিসমূহ দেখুওৱা নহ’ব।"</string>
+ <string name="data_saver_description" msgid="4995164271550590517">"ডেটা ব্য়ৱহাৰ হ্ৰাস কৰিবলৈ ডেটা সঞ্চয়কাৰীয়ে কিছুমান এপক নেপথ্য়ত ডেটা প্ৰেৰণ বা সংগ্ৰহ কৰাত বাধা প্ৰদান কৰে। আপুনি বৰ্তমান ব্য়ৱহাৰ কৰি থকা এটা এপে ডেটা এক্সেছ কৰিব পাৰে, কিন্তু সঘনাই এক্সেছ কৰিব নোৱাৰিব পাৰে। ইয়াৰ অৰ্থ উদাহৰণস্বৰূপে এয়া হ\'ব পাৰে যে, আপুনি নিটিপা পর্যন্ত প্ৰতিচ্ছবিসমূহ দেখুওৱা নহ’ব।"</string>
<string name="data_saver_enable_title" msgid="7080620065745260137">"ডেটা সঞ্চয়কাৰী অন কৰিবনে?"</string>
<string name="data_saver_enable_button" msgid="4399405762586419726">"অন কৰক"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{এক মিনিটৰ বাবে ({formattedTime} পৰ্যন্ত)}one{# মিনিটৰ বাবে ({formattedTime} পৰ্যন্ত)}other{# মিনিটৰ বাবে ({formattedTime} পৰ্যন্ত)}}"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"এই মুহূৰ্তত <xliff:g id="APP_NAME">%1$s</xliff:g> উপলব্ধ নহয়।"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> উপলব্ধ নহয়"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"অনুমতিৰ প্ৰয়োজন"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"এইটো এতিয়া আপোনাৰ <xliff:g id="DEVICE">%1$s</xliff:g>ত এক্সেছ কৰিব পৰা নাযায়। তাৰ পৰিৱৰ্তে আপোনাৰ Android TVত চেষ্টা কৰি চাওক।"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"এইটো এতিয়া আপোনাৰ <xliff:g id="DEVICE">%1$s</xliff:g>ত এক্সেছ কৰিব পৰা নাযায়। তাৰ পৰিৱৰ্তে আপোনাৰ টেবলেটটোত চেষ্টা কৰি চাওক।"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"এইটো এতিয়া আপোনাৰ <xliff:g id="DEVICE">%1$s</xliff:g>ত এক্সেছ কৰিব পৰা নাযায়। তাৰ পৰিৱৰ্তে আপোনাৰ ফ’নত চেষ্টা কৰি চাওক।"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"এই এপটো Androidৰ এটা পুৰণা সংস্কৰণৰ বাবে প্ৰস্তুত কৰা হৈছিল, আৰু ই বিচৰাধৰণে কাম নকৰিবও পাৰে। ইয়াৰ আপডে’ট আছে নেকি চাওক, বা বিকাশকৰ্তাৰ সৈতে যোগাযোগ কৰক।"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"আপডে’ট আছে নেকি চাওক"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"আপুনি নতুন বার্তা লাভ কৰিছে"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"অধিক জানিবলৈ আৰু সলনি কৰিবলৈ টিপক।"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"অসুবিধা নিদিব সলনি হৈছে"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"কি কি অৱৰোধ কৰা হৈছে জানিবলৈ টিপক।"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ছিষ্টেম"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ছেটিং"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"কেমেৰা"</string>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index 7d28ab6..07f8239 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> üçün operator tərəfindən müvəqqəti olaraq deaktiv edildi"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobil şəbəkəyə daxil olmaq mümkün deyil"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Tərcih edilən şəbəkəni dəyişin. Dəyişmək üçün klikləyin."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Təcili zənglər əlçatan olmaya bilər"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi üzərindən təcili zəngləri dəstəkləmir. Detallar üçün toxunun."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Təcili zəng əlçatan deyil"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi vasitəsilə təcili zənglər etmək mümkün deyil"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Siqnallar"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Zəng yönləndirmə"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Təcili geriyə zəng rejimi"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> hazırda əlçatan deyil."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> əlçatan deyil"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"İcazə tələb olunur"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Hazırda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızda buna giriş mümkün deyil. Android TV cihazınızda sınayın."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Hazırda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızda buna giriş mümkün deyil. Planşetinizdə sınayın."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Hazırda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızda buna giriş mümkün deyil. Telefonunuzda sınayın."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Bu tətbiq köhnə Android versiyası üçün hazırlanıb və düzgün işləməyə bilər. Güncəlləməni yoxlayın və ya developer ilə əlaqə saxlayın."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Güncəllənmə olmasını yoxlayın"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Yeni mesajlarınız var"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Ətraflı məıumat əldə edərək dəyişmək üçün klikləyin."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\"Narahat Etməyin\" rejimi dəyişdirildi"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Nəyin blok edildiyini yoxlamaq üçün klikləyin."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ayarlar"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index d66e83b..9d645e9 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Privremeno je isključio mobilni operater za SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Povezivanje sa mobilnom mrežom nije uspelo"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Probajte da promenite željenu mrežu. Dodirnite da biste promenili."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Hitni pozivi možda nisu dostupni"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne podržava hitne pozive preko WiFi-ja. Dodirnite za detalje."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hitni pozivi nisu dostupni"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Ne možete da upućujete hitne pozive preko Wi‑Fi-ja"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Obaveštenja"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Preusmeravanje poziva"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Režim za hitan povratni poziv"</string>
@@ -1934,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> trenutno nije dostupna."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> – nije dostupno"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Potrebna je dozvola"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Ovoj aplikaciji trenutno ne može da se pristupi sa uređaja <xliff:g id="DEVICE">%1$s</xliff:g>. Probajte na Android TV uređaju."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Ovoj aplikaciji trenutno ne može da se pristupi sa uređaja <xliff:g id="DEVICE">%1$s</xliff:g>. Probajte na tabletu."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Ovoj aplikaciji trenutno ne može da se pristupi sa uređaja <xliff:g id="DEVICE">%1$s</xliff:g>. Probajte na telefonu."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ova aplikacija je napravljena za stariju verziju Android-a, pa možda neće raditi ispravno. Potražite ažuriranja ili kontaktirajte programera."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Potraži ažuriranje"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Imate nove poruke"</string>
@@ -2041,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Dodirnite da biste saznali više i promenili podešavanje."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Režim Ne uznemiravaj je promenjen"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Dodirnite da biste proverili šta je blokirano."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Podešavanja"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index f6af6c6..66327b5 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Часова адключана для SIM <xliff:g id="SIMNUMBER">%d</xliff:g> аператарам сувязі"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Сетка мабільнай сувязі недаступная"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Націсніце, каб выбраць іншую сетку."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Экстранныя выклікі могуць быць недаступнымі"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не падтрымлівае экстранныя выклікі праз Wi-Fi. Націсніце, каб убачыць больш інфармацыі."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Экстранныя выклікі недаступныя"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Экстранныя выклікі ў сетцы Wi‑Fi недаступныя"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Абвесткі"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Пераадрасацыя выкліку"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Рэжым экстранных зваротных выклікаў"</string>
@@ -587,8 +587,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Памылка аўтэнтыфікацыі"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Ужываць блакіроўку экрана"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Каб працягнуць, скарыстайце свой сродак блакіроўкі экрана"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Моцна націсніце на сканер"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Не атрымалася апрацаваць адбітак пальца. Паспрабуйце яшчэ раз."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Ачысціце сканер адбіткаў пальцаў і паўтарыце спробу"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Ачысціце сканер і паўтарыце спробу"</string>
@@ -601,8 +600,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Адбітак пальца не распазнаны"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Адбітак пальца не распазнаны"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Адбітак пальца распазнаны"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Твар распазнаны"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Твар распазнаны. Націсніце, каб пацвердзіць"</string>
@@ -1937,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" цяпер недаступная."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Недаступна: <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Патрабуецца дазвол"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Не ўдаецца атрымаць доступ з вашай прылады \"<xliff:g id="DEVICE">%1$s</xliff:g>\". Паспрабуйце скарыстаць прыладу Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Не ўдаецца атрымаць доступ з вашай прылады \"<xliff:g id="DEVICE">%1$s</xliff:g>\". Паспрабуйце скарыстаць планшэт."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Не ўдаецца атрымаць доступ з вашай прылады \"<xliff:g id="DEVICE">%1$s</xliff:g>\". Паспрабуйце скарыстаць тэлефон."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Гэта праграма была створана для больш старой версіі Android і можа не працаваць належным чынам. Праверце наяўнасць абнаўленняў або звярніцеся да распрацоўшчыка."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Праверыць на наяўнасць абнаўленняў"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"У вас ёсць новыя паведамленні"</string>
@@ -2030,8 +2055,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"УСЁ РОЎНА АДКРЫЦЬ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Выяўлена шкодная праграма"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Дазволіць праграме \"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>\" мець доступ да ўсіх журналаў прылады?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Дазволіць аднаразовы доступ"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Не дазваляць"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Журналы прылад запісваюць усё, што адбываецца на вашай прыладзе. Праграмы выкарыстоўваюць гэтыя журналы для пошуку і выпраўлення памылак.\n\nУ некаторых журналах можа ўтрымлівацца канфідэнцыяльная інфармацыя, таму давайце доступ да ўсіх журналаў прылады толькі тым праграмам, якім вы давяраеце. \n\nКалі вы не дасце гэтай праграме доступу да ўсіх журналаў прылад, у яе ўсё роўна застанецца доступ да ўласных журналаў. Для вытворцы вашай прылады будуць даступнымі некаторыя журналы і інфармацыя на вашай прыладзе. Даведацца больш"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Больш не паказваць"</string>
@@ -2045,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Дакраніцеся, каб даведацца больш і змяніць."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Зменены налады рэжыму \"Не турбаваць\""</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Націсніце, каб паглядзець заблакіраванае."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Сістэма"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Налады"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
@@ -2263,14 +2295,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Паведамленне \"<xliff:g id="MESSAGE">%1$s</xliff:g>\" перакладзена."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Паведамленне перакладзена з мовы \"<xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>\" на мову \"<xliff:g id="TO_LANGUAGE">%2$s</xliff:g>\"."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Фонавая дзейнасць"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Праграма выкарыстоўвае зарад акумулятара"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Праграма па-ранейшаму актыўная"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> выкарыстоўвае зарад акумулятара ў фонавым рэжыме. Націсніце, каб праглядзець."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> можа скараціць час працы прылады ад акумулятара. Націсніце, каб праглядзець актыўныя праграмы."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Праверце актыўныя праграмы"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Не ўдалося атрымаць доступ да камеры тэлефона з прылады \"<xliff:g id="DEVICE">%1$s</xliff:g>\""</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Не ўдалося атрымаць доступ да камеры планшэта з прылады \"<xliff:g id="DEVICE">%1$s</xliff:g>\""</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index b79ade5..7cab71d 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Временно е изключено от оператора ви за SIM карта <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Не може да се установи връзка с мобилната мрежа"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Изберете друга предпочитана мрежа. Докоснете за промяна."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Спешните обаждания може да не са налице"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не поддържа спешните обаждания през Wi-Fi. Докоснете за подробности."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Няма достъп до спешните обаждания"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Не може да се извършват спешни обаждания през Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Сигнали"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Пренасочване на обаждания"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Режим на обратно обаждане при спешност"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Грешка при удостоверяването"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Ползване на заключв. на екрана"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Въведете опцията си за заключване на екрана, за да продължите"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Натиснете добре върху сензора"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Отпечатъкът не бе обработен. Моля, опитайте отново."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Почистете сензора за отпечатъци и опитайте отново"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Почистете сензора и опитайте отново"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Отпечатъкът не е разпознат"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Отпечатъкът не е разпознат"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Отпечатъкът е удостоверен"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Лицето е удостоверено"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Лицето е удостоверено. Моля, натиснете „Потвърждаване“"</string>
@@ -1615,7 +1613,7 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"Безжичен дисплей"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"Предаване"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"Свързване с устройство"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Екран за предаване към устройството"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Предаване на екран към устройство"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"Търсят се устройства…"</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Настройки"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"Прекратяване на връзката"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"В момента няма достъп до <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> не е налице"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Необходимо е разрешение"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Понастоящем не може да се осъществи достъп от устройството ви <xliff:g id="DEVICE">%1$s</xliff:g>. Вместо това опитайте от устройството си с Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Понастоящем не може да се осъществи достъп от устройството ви <xliff:g id="DEVICE">%1$s</xliff:g>. Вместо това опитайте от таблета си."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Понастоящем не може да се осъществи достъп от устройството ви <xliff:g id="DEVICE">%1$s</xliff:g>. Вместо това опитайте от телефона си."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Това приложение бе създадено за по-стара версия на Android и може да не работи правилно. Опитайте да проверите за актуализации или се свържете с програмиста."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Проверка за актуализация"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Имате нови съобщения"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ОТВАРЯНЕ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Открито е опасно приложение"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Да се разреши ли на <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> достъп до всички регистрационни файлове за устройството?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Разрешаване на еднократен достъп"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Забраняване"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"В регистрационните файлове за устройството се записва какво се извършва на него. Приложенията могат да използват тези регистрационни файлове, за да откриват и отстраняват проблеми.\n\nНякои регистрационни файлове за устройството може да съдържат поверителна информация, затова разрешавайте достъп до всички тях само на приложения, на които имате доверие. \n\nАко не разрешите на това приложение достъп до всички регистрационни файлове за устройството, то пак може да осъществява достъп до собствените си регистрационни файлове. Производителят на устройството пак може да има достъп до някои регистрационни файлове или информация на устройството ви. Научете повече"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Да не се показва пак"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Докоснете, за да научите повече и да извършите промени."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Настройките за „Не безпокойте“ са променени"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Докоснете, за да проверите какво е блокирано."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Система"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Настройки"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Съобщението <xliff:g id="MESSAGE">%1$s</xliff:g> бе преведено."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Съобщението бе преведено от <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> на <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Активност на заден план"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Приложение използва батерията"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Приложение е все още активно"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> използва батерията на заден план. Докоснете за преглед."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> може да засегне живота на батерията. Докоснете за преглед на активните приложения."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Проверете активните приложения"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Няма достъп до камерата на телефона от вашия <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Няма достъп до камерата на таблета от вашия <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index be8d5ff..7b6f770 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"আপনার পরিষেবা প্রদানকারী <xliff:g id="SIMNUMBER">%d</xliff:g> সিমটি অস্থায়ীভাবে বন্ধ করেছে"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"মোবাইল নেটওয়ার্কে কানেক্ট করা যাচ্ছে না"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"পছন্দের নেটওয়ার্ক পরিবর্তন করে দেখুন। অন্য নেটওয়ার্ক বেছে নিতে ট্যাপ করুন।"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"জরুরি কল উপলভ্য নাও হতে পারে"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>-এ ওয়াই-ফাইয়ের মাধ্যমে জরুরি কল কাজ করে না। বিশদ বিবরণের জন্য ট্যাপ করুন।"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"জরুরি কল করা যাবে না"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ওয়াই-ফাইয়ের মাধ্যমে জরুরি কল করা যাবে না"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"সতর্কতা"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"কল ফরওয়ার্ড করা"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"জরুরি কলব্যাক মোড"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"এই মুহূর্তে <xliff:g id="APP_NAME">%1$s</xliff:g> অ্যাপ পাওয়া যাচ্ছে না।"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> উপলভ্য নেই"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"অনুমতি প্রয়োজন"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"এই সময়ে আপনার <xliff:g id="DEVICE">%1$s</xliff:g>-এ এটি অ্যাক্সেস করা যাবে না। পরিবর্তে আপনার Android TV ডিভাইস ব্যবহার করে দেখুন।"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"এই সময়ে আপনার <xliff:g id="DEVICE">%1$s</xliff:g>-এ এটি অ্যাক্সেস করা যাবে না। পরিবর্তে আপনার ট্যাবলেটে ব্যবহার করে দেখুন।"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"এই সময়ে আপনার <xliff:g id="DEVICE">%1$s</xliff:g>-এ এটি অ্যাক্সেস করা যাবে না। পরিবর্তে আপনার ফোনে ব্যবহার করে দেখুন।"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"এই অ্যাপটি Android এর একটি পুরনো ভার্সনের জন্য তৈরি করা হয়েছিল, তাই এখানে সেটি ঠিকমতো কাজ নাও করতে পারে। আপডেট পাওয়া যাচ্ছে কিনা দেখুন বা ডেভেলপারের সাথে যোগাযোগ করুন।"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"আপডেট পাওয়া যাচ্ছে কিনা দেখুন"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"আপনার নতুন মেসেজ আছে"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"আরও জানতে এবং পরিবর্তন করতে ট্যাপ করুন।"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'বিরক্ত করবে না\' মোডের সেটিং বদলে গেছে"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"কী কী ব্লক করা আছে তা দেখতে ট্যাপ করুন।"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"সিস্টেম"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"সেটিংস"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ক্যামেরা"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index 5c6291d..ad9b770 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Privremeno isključio mobilni operater za SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Nije moguće dosegnuti mobilnu mrežu"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Pokušajte promijeniti preferiranu mrežu. Dodirnite za promjenu."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Hitni pozivi možda nisu dostupni"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne podržava hitne pozive putem WiFi-ja. Dodirnite za detalje."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hitni pozivi su nedostupni"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nije moguće uspostaviti hitne pozive putem Wi‑Fi mreže"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Upozorenja"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Prosljeđivanje poziva"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Način rada za hitni povratni poziv"</string>
@@ -306,7 +306,7 @@
<string name="permgroupdesc_calendar" msgid="6762751063361489379">"pristupa vašem kalendaru"</string>
<string name="permgrouplab_sms" msgid="795737735126084874">"SMS"</string>
<string name="permgroupdesc_sms" msgid="5726462398070064542">"šalje i pregleda SMS poruke"</string>
- <string name="permgrouplab_storage" msgid="9173334109512154196">"Datoteke i dokumenti"</string>
+ <string name="permgrouplab_storage" msgid="9173334109512154196">"Fajlovi i dokumenti"</string>
<string name="permgroupdesc_storage" msgid="8352226729501080525">"pristup datotekama i dokumentima na vašem uređaju"</string>
<string name="permgrouplab_readMediaAural" msgid="5885210465560755316">"Muzika i drugi zvučni zapisi"</string>
<string name="permgroupdesc_readMediaAural" msgid="1170143315714662822">"pristup audio fajlovima na vašem uređaju"</string>
@@ -1934,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> trenutno nije dostupna."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Nedostupno: <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Potrebno je odobrenje"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Trenutno ne možete pristupiti ovoj aplikaciji na uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Umjesto toga pokušajte na uređaju Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Trenutno ne možete pristupiti ovoj aplikaciji na uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Umjesto toga pokušajte na tabletu."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Trenutno ne možete pristupiti ovoj aplikaciji na uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Umjesto toga pokušajte na telefonu."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ova aplikacija je pravljena za stariju verziju Androida i možda neće ispravno raditi. Provjerite jesu li dostupna ažuriranja ili kontaktirajte programera."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Provjeri je li dostupno ažuriranje"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Imate nove poruke"</string>
@@ -2027,7 +2054,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"IPAK OTVORI"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Otkrivena je štetna aplikacija"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Dozvoliti aplikaciji <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> da pristupa svim zapisnicima uređaja?"</string>
- <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Omogući jednokratni pristup"</string>
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Dozvoli jednokratan pristup"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Nemoj dozvoliti"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Zapisnici uređaja bilježe šta se dešava na uređaju. Aplikacije mogu koristiti te zapisnike da pronađu i isprave probleme.\n\nNeki zapisnici mogu sadržavati osjetljive podatke. Zato pristup svim zapisnicima uređaja dozvolite samo aplikacijama kojima vjerujete. \n\nAko ne dozvolite ovoj aplikaciji da pristupa svim zapisnicima uređaja, ona i dalje može pristupati svojim zapisnicima. Proizvođač uređaja će možda i dalje biti u stanju pristupiti nekim zapisnicima ili podacima na uređaju. Saznajte više"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ne prikazuj ponovo"</string>
@@ -2041,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Dodirnite da saznate više i izvršite promjene."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Način rada Ne ometaj je promijenjen"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Dodirnite da provjerite šta je blokirano."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Postavke"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,8 +2296,8 @@
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktivnost u pozadini"</string>
<string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Aplikacija koristi bateriju"</string>
<string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Aplikacija je i dalje aktivna"</string>
- <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> koristi bateriju u pozadini. Dodirnite za pregled."</string>
- <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> može utjecati na trajanje baterije. Dodirnite da biste pregledali aktivne aplikacije."</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> koristi bateriju u pozadini. Dodirnite da pregledate."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"Aplikacija <xliff:g id="APP">%1$s</xliff:g> može uticati na vijek trajanja baterije. Dodirnite da pregledate aktivne aplikacije."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Provjerite aktivne aplikacije"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Nije moguće pristupiti kameri telefona s uređaja <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Nije moguće pristupiti kameri tableta s uređaja <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 625ed8ed..a318064 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"L\'operador de telefonia mòbil ho ha desactivat temporalment per a la SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"No es pot accedir a la xarxa mòbil"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Prova de canviar de xarxa preferent. Toca per canviar-la."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"És possible que les trucades d\'emergència no estiguin disponibles"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> no admet les trucades d\'emergència per Wi‑Fi. Toca per obtenir informació."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Les trucades d\'emergència no estan disponibles"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"No es poden fer trucades d\'emergència per Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertes"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Desviació de trucades"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mode de devolució de trucada d\'emergència"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Error en l\'autenticació"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Utilitza el bloqueig de pantalla"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Introdueix el teu bloqueig de pantalla per continuar"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Prem el sensor de manera ferma"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"No s\'ha pogut processar l\'empremta digital. Torna-ho a provar."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Neteja el sensor d\'empremtes digitals i torna-ho a provar"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Neteja el sensor i torna-ho a provar"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"L\'empremta digital no s\'ha reconegut"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"L\'empremta digital no s\'ha reconegut"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"L\'empremta digital s\'ha autenticat"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Cara autenticada"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Cara autenticada; prem el botó per confirmar"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Ara mateix, <xliff:g id="APP_NAME">%1$s</xliff:g> no està disponible."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> no està disponible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permís necessari"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"En aquests moments, no es pot accedir a aquesta aplicació al dispositiu <xliff:g id="DEVICE">%1$s</xliff:g>. Prova-ho al dispositiu Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"En aquests moments, no es pot accedir a aquesta aplicació al dispositiu <xliff:g id="DEVICE">%1$s</xliff:g>. Prova-ho a la tauleta."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"En aquests moments, no es pot accedir a aquesta aplicació al dispositiu <xliff:g id="DEVICE">%1$s</xliff:g>. Prova-ho al telèfon."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Aquesta aplicació es va crear per a una versió antiga d\'Android i pot ser que no funcioni correctament. Prova de cercar actualitzacions o contacta amb el desenvolupador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Cerca actualitzacions"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Tens missatges nous"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"OBRE IGUALMENT"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"S\'ha detectat una aplicació perjudicial"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Vols permetre que <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> accedeixi a tots els registres del dispositiu?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Permet l\'accés únic"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"No permetis"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Els registres del dispositiu inclouen informació sobre tot allò que passa al teu dispositiu. Les aplicacions poden utilitzar aquests registres per detectar i corregir problemes.\n\nÉs possible que alguns registres continguin informació sensible; per això només has de donar-hi accés a les aplicacions de confiança. \n\nEncara que no permetis que aquesta aplicació pugui accedir a tots els registres del dispositiu, podrà accedir als seus propis registres. És possible que el fabricant del dispositiu també tingui accés a alguns registres o a informació del teu dispositiu. Més informació"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"No tornis a mostrar"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toca per obtenir més informació i canviar la configuració."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"S\'ha canviat el mode No molestis"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toca per consultar què s\'ha bloquejat."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Configuració"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Càmera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"S\'ha traduït <xliff:g id="MESSAGE">%1$s</xliff:g>."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Missatge traduït de <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> a <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Activitat en segon pla"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Una aplicació està utilitzant la bateria"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Una aplicació encara està activa"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> està utilitzant la bateria en segon pla. Toca per revisar-ho."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> pot afectar la durada de la bateria. Toca per revisar les aplicacions actives."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Consulta les aplicacions actives"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"No es pot accedir a la càmera del telèfon des del teu <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"No es pot accedir a la càmera de la tauleta des del teu <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 97f150e..067ba2a 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Dočasně vypnuto operátorem (SIM karta <xliff:g id="SIMNUMBER">%d</xliff:g>)"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobilní síť není dostupná"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Zkuste změnit preferovanou síť. Změníte ji klepnutím."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Tísňové volání může být nedostupné"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"Operátor <xliff:g id="SPN">%s</xliff:g> nepodporuje tísňové volání přes Wi-Fi. Podrobnosti zobrazíte klepnutím."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Tísňová volání jsou nedostupná"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Přes Wi‑Fi nelze uskutečňovat tísňová volání"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Upozornění"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Přesměrování hovorů"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Režim tísňového zpětného volání"</string>
@@ -587,8 +587,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Při ověřování došlo k chybě"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Použít zámek obrazovky"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Pokračujte zadáním zámku obrazovky"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Pevně zatlačte na senzor"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Zpracování otisku prstu se nezdařilo. Zkuste to znovu."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Vyčistěte snímač otisků prstů a zkuste to znovu"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Vyčistěte senzor a zkuste to znovu"</string>
@@ -601,8 +600,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Otisk prstu nebyl rozpoznán"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Otisk prstu nebyl rozpoznán"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Otisk byl ověřen"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Obličej byl ověřen"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Obličej byl ověřen, stiskněte tlačítko pro potvrzení"</string>
@@ -1274,7 +1272,7 @@
<string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"Je nastaven tichý vyzvánění"</string>
<string name="volume_call" msgid="7625321655265747433">"Hlasitost hovoru"</string>
<string name="volume_bluetooth_call" msgid="2930204618610115061">"Hlasitost příchozích hovorů při připojení Bluetooth"</string>
- <string name="volume_alarm" msgid="4486241060751798448">"Hlasitost budíku"</string>
+ <string name="volume_alarm" msgid="4486241060751798448">"Hlasitost budíků"</string>
<string name="volume_notification" msgid="6864412249031660057">"Hlasitost oznámení"</string>
<string name="volume_unknown" msgid="4041914008166576293">"Hlasitost"</string>
<string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"Hlasitost Bluetooth"</string>
@@ -1937,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> v tuto chvíli není k dispozici."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> není k dispozici"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Je vyžadováno oprávnění"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Tato položka na vašem zařízení <xliff:g id="DEVICE">%1$s</xliff:g> v tuto chvíli není k dispozici. Zkuste to na zařízení Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Tato položka na vašem zařízení <xliff:g id="DEVICE">%1$s</xliff:g> v tuto chvíli není k dispozici. Zkuste to na tabletu."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Tato položka na vašem zařízení <xliff:g id="DEVICE">%1$s</xliff:g> v tuto chvíli není k dispozici. Zkuste to na telefonu."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Tato aplikace byla vytvořena pro starší verzi systému Android a nemusí fungovat správně. Zkuste vyhledat aktualizace, případně kontaktujte vývojáře."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Zkontrolovat aktualizace"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Máte nové zprávy"</string>
@@ -2030,8 +2055,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"PŘESTO OTEVŘÍT"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Byla zjištěna škodlivá aplikace"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Povolit aplikaci <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> přístup ke všem protokolům zařízení?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Povolit jednorázový přístup"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Nepovolovat"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Do protokolů zařízení se zaznamenává, co se na zařízení děje. Aplikace tyto protokoly mohou používat k vyhledání a odstranění problémů.\n\nNěkteré protokoly mohou zahrnovat citlivé údaje. Přístup k protokolům zařízení proto povolte pouze aplikacím, kterým důvěřujete. \n\nPokud této aplikaci nepovolíte přístup ke všem protokolům zařízení, bude mít stále přístup ke svým vlastním protokolům. Výrobce zařízení může mít stále přístup k některým protokolům nebo informacím na vašem zařízení. Další informace"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Příště nezobrazovat"</string>
@@ -2045,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Klepnutím zobrazíte další informace a provedete změny."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Nastavení režimu Nerušit se změnilo"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Klepnutím zkontrolujete, co je blokováno."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Systém"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Nastavení"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotoaparát"</string>
@@ -2263,14 +2295,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Překlad textu <xliff:g id="MESSAGE">%1$s</xliff:g>."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Zpráva byla přeložena z jazyka <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> do jazyka <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktivita na pozadí"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Nějaká aplikace spotřebovává baterii"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Nějaká aplikace je stále aktivní"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"Aplikace <xliff:g id="APP">%1$s</xliff:g> spotřebovává baterii na pozadí. Klepnutím to zkontrolujete."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"Aplikace <xliff:g id="APP">%1$s</xliff:g> může ovlivňovat výdrž baterie. Klepnutím zkontrolujete aktivní aplikace."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Zkontrolujte aktivní aplikace"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Ze zařízení <xliff:g id="DEVICE">%1$s</xliff:g> nelze získat přístup k fotoaparátu telefonu"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Ze zařízení <xliff:g id="DEVICE">%1$s</xliff:g> nelze získat přístup k fotoaparátu tabletu"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index c55b38e..63d24e5 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Midlertidigt deaktiveret af dit mobilselskab for SIM-kortet <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Der er ingen forbindelse til mobilnetværket"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Prøv at skifte dit foretrukne netværk. Tryk for skifte."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Der kan muligvis ikke foretages nødopkald"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> understøtter ikke nødopkald via Wi-Fi. Tryk for at få flere oplysninger."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Det er ikke muligt at foretage nødopkald"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Det er ikke muligt at foretage nødopkald via Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Underretninger"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Viderestilling af opkald"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Nødtilbagekaldstilstand"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Der opstod fejl i forbindelse med godkendelse"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Brug skærmlås"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Angiv din skærmlås for at fortsætte"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Hold fingeren nede på læseren"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Fingeraftrykket kunne ikke behandles. Prøv igen."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Rengør fingeraftrykslæseren, og prøv igen"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Rengør læseren, og prøv igen"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Fingeraftrykket blev ikke genkendt"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Fingeraftrykket blev ikke genkendt"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingeraftrykket blev godkendt"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Ansigtet er godkendt"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Ansigtet er godkendt. Tryk på Bekræft."</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> er ikke tilgængelig lige nu."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> er ikke understøttet"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Der kræves tilladelse"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Du har ikke adgang til denne app på din <xliff:g id="DEVICE">%1$s</xliff:g> på nuværende tidspunkt. Prøv på din Android TV-enhed i stedet."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Du har ikke adgang til denne app på din <xliff:g id="DEVICE">%1$s</xliff:g> på nuværende tidspunkt. Prøv på din tablet i stedet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Du har ikke adgang til denne app på din <xliff:g id="DEVICE">%1$s</xliff:g> på nuværende tidspunkt. Prøv på din telefon i stedet."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Denne app er lavet til en ældre version af Android og fungerer muligvis ikke korrekt. Prøv at søge efter opdateringer, eller kontakt udvikleren."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Søg efter opdatering"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Du har nye beskeder"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ÅBN ALLIGEVEL"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Der er registreret en skadelig app"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Vil du give <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> adgang til alle enhedslogs?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Tillad engangsadgang"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Tillad ikke"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Enhedslogs registrerer, hvad der sker på din enhed. Apps kan bruge disse logs til at finde og løse problemer.\n\nNogle logs kan indeholde følsomme oplysninger, så giv kun apps, du har tillid til, adgang til alle enhedslogs. \n\nSelvom du ikke giver denne app adgang til alle enhedslogs, kan den stadig tilgå sine egne logs. Producenten af din enhed kan muligvis fortsat tilgå visse logs eller oplysninger på din enhed. Få flere oplysninger"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Vis ikke igen"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tryk for at få flere oplysninger og foretage ændringer."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Tilstanden Forstyr ikke blev ændret"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tryk for at se, hvad der er blokeret."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Indstillinger"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> er oversat."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Meddelelsen er oversat fra <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> til <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktivitet i baggrunden"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"En app bruger batteri"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"En app er stadig aktiv"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> bruger batteriet i baggrunden. Tryk for at gennemgå."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> kan påvirke batteritiden. Tryk for at gennemgå nye apps."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Tjek aktive apps"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Kameraet på din telefon kan ikke tilgås via din <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Kameraet på din tablet kan ikke tilgås via din <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 824e1c4..1cb98c3 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Von deinem Mobilfunkanbieter für SIM <xliff:g id="SIMNUMBER">%d</xliff:g> vorübergehend deaktiviert"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobilfunknetz nicht erreichbar"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Versuche, das bevorzugte Netzwerk zu ändern. Tippe, um ein anderes auszuwählen."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Notrufe sind eventuell nicht verfügbar"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> unterstützt keine Notrufe über WLAN. Weitere Informationen."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Notrufe nicht möglich"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Notrufe über WLAN nicht möglich"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Warnmeldungen"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Anrufweiterleitung"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Notfallrückrufmodus"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Fehler bei der Authentifizierung"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Displaysperre verwenden"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Displaysperre eingeben, um fortzufahren"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Drücke fest auf den Sensor"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Fingerabdruck konnte nicht verarbeitet werden. Bitte versuche es noch einmal."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Reinige den Fingerabdrucksensor und versuch es noch einmal"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Reinige den Sensor und versuche es noch einmal"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Fingerabdruck nicht erkannt"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Fingerabdruck nicht erkannt"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingerabdruck wurde authentifiziert"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Gesicht authentifiziert"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Gesicht authentifiziert, bitte bestätigen"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ist derzeit nicht verfügbar."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nicht verfügbar"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Berechtigung erforderlich"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Auf deinem <xliff:g id="DEVICE">%1$s</xliff:g> ist derzeit kein Zugriff möglich. Versuche es stattdessen auf deinem Android TV-Gerät."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Auf deinem <xliff:g id="DEVICE">%1$s</xliff:g> ist derzeit kein Zugriff möglich. Versuche es stattdessen auf deinem Tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Auf deinem <xliff:g id="DEVICE">%1$s</xliff:g> ist derzeit kein Zugriff möglich. Versuche es stattdessen auf deinem Smartphone."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Diese App wurde für eine ältere Android-Version entwickelt und funktioniert möglicherweise nicht mehr richtig. Prüfe, ob Updates verfügbar sind oder kontaktiere den Entwickler."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Auf Updates prüfen"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Du hast neue Nachrichten"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"TROTZDEM ÖFFNEN"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Schädliche App erkannt"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> den Zugriff auf alle Geräteprotokolle erlauben?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Einmaligen Zugriff zulassen"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Nicht zulassen"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"In Geräteprotokollen wird aufgezeichnet, welche Aktionen auf deinem Gerät ausgeführt werden. Apps können sie verwenden, um Probleme zu finden und zu beheben.\n\nEinige Protokolle enthalten unter Umständen vertrauliche Informationen, daher solltest du nur vertrauenswürdigen Apps den Zugriff auf alle Geräteprotokolle erlauben. \n\nWenn du dieser App keinen Zugriff auf alle Geräteprotokolle gewährst, kann sie trotzdem auf ihre eigenen Protokolle zugreifen. Dein Gerätehersteller hat möglicherweise auch Zugriff auf einige Protokolle oder Informationen auf deinem Gerät. Weitere Informationen"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Nicht mehr anzeigen"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Für weitere Informationen und zum Ändern tippen."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"„Bitte nicht stören“ wurde geändert"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tippe, um zu überprüfen, welche Inhalte blockiert werden."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Einstellungen"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"„<xliff:g id="MESSAGE">%1$s</xliff:g>“ wurde übersetzt."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Nachricht wurde von <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> auf <xliff:g id="TO_LANGUAGE">%2$s</xliff:g> übersetzt."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Hintergrundaktivität"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Eine App verbraucht Strom"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Eine App ist immer noch aktiv"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> verwendet im Hintergrund den Akku. Tippe, um die App zu prüfen."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> kann die Akkulaufzeit beeinträchtigen. Tippe, um die aktiven Apps zu prüfen."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Aktive Apps prüfen"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Zugriff auf die Kamera des Smartphones über dein Gerät (<xliff:g id="DEVICE">%1$s</xliff:g>) nicht möglich"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Zugriff auf die Kamera des Tablets über dein Gerät (<xliff:g id="DEVICE">%1$s</xliff:g>) nicht möglich"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 7776709..8bc79b7 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Απενεργοποιήθηκε προσωρινά από την εταιρεία κινητής τηλεφωνίας σας για τον αριθμό SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Δεν είναι δυνατή η σύνδεση στο δίκτυο κινητής τηλεφωνίας"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Δοκιμάστε να αλλάξετε το προτιμώμενο δίκτυο. Πατήστε για αλλαγή."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Οι κλήσεις έκτακτης ανάγκης μπορεί να μην είναι διαθέσιμες."</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"H εταιρεία <xliff:g id="SPN">%s</xliff:g> δεν υποστηρίζει κλήσεις έκτακτης ανάγκης μέσω Wi-Fi. Πατήστε για λεπτομέρειες."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Οι κλήσεις έκτακτης ανάγκης δεν είναι διαθέσιμες"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Δεν είναι δυνατή η πραγματοποίηση κλήσεων έκτακτης ανάγκης μέσω Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Ειδοποιήσεις"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Προώθηση κλήσης"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> δεν είναι διαθέσιμη αυτήν τη στιγμή."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> δεν διατίθεται"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Απαιτείται άδεια"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Δεν είναι δυνατή η πρόσβαση στη συγκεκριμένη εφαρμογή από τη συσκευή <xliff:g id="DEVICE">%1$s</xliff:g> αυτήν τη στιγμή. Δοκιμάστε στη συσκευή Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Δεν είναι δυνατή η πρόσβαση στη συγκεκριμένη εφαρμογή από τη συσκευή <xliff:g id="DEVICE">%1$s</xliff:g> αυτήν τη στιγμή. Δοκιμάστε στο tablet σας."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Δεν είναι δυνατή η πρόσβαση στη συγκεκριμένη εφαρμογή από τη συσκευή <xliff:g id="DEVICE">%1$s</xliff:g> αυτήν τη στιγμή. Δοκιμάστε στο τηλέφωνό σας."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Αυτή η εφαρμογή δημιουργήθηκε για παλαιότερη έκδοση του Android και μπορεί να μην λειτουργεί σωστά. Δοκιμάστε να ελέγξετε εάν υπάρχουν ενημερώσεις ή επικοινωνήστε με τον προγραμματιστή."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Έλεγχος για ενημέρωση"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Έχετε νέα μηνύματα"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Πατήστε για να μάθετε περισσότερα και να κάνετε αλλαγές."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Η λειτουργία \"Μην ενοχλείτε\" άλλαξε"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Πατήστε για να ελέγξετε το περιεχόμενο που έχει αποκλειστεί."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Σύστημα"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ρυθμίσεις"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Κάμερα"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 21364cf..8374b6a 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporarily turned off by your operator for SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Can’t reach mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Try changing preferred network. Tap to change."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Emergency calls may be unavailable"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> doesn\'t support emergency calls over Wi-Fi. Tap for details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Emergency calling unavailable"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Can’t make emergency calls over Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerts"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Call forwarding"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not available right now."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> unavailable"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permission needed"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"This app was built for an older version of Android and may not work properly. Try checking for updates or contact the developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Check for update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"You have new messages"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tap to find out more and change."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Do Not Disturb has changed"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tap to check what\'s blocked."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Review notification settings"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"In Android 13, apps that you install need your permission to send notifications. Tap to change this permission for existing apps."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Remind me later"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Dismiss"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Settings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index 1d138e8..523d0d3 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporarily turned off by your operator for SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Can’t reach mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Try changing preferred network. Tap to change."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Emergency calls may be unavailable"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> doesn\'t support emergency calls over Wi-Fi. Tap for details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Emergency calling unavailable"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Can’t make emergency calls over Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerts"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Call forwarding"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not available right now."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> unavailable"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permission needed"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"This app was built for an older version of Android and may not work properly. Try checking for updates or contact the developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Check for update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"You have new messages"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tap to find out more and change."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Do Not Disturb has changed"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tap to check what\'s blocked."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Review notification settings"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"In Android 13, apps that you install need your permission to send notifications. Tap to change this permission for existing apps."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Remind me later"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Dismiss"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Settings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 9bff4c6..c3a6ae9 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporarily turned off by your operator for SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Can’t reach mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Try changing preferred network. Tap to change."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Emergency calls may be unavailable"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> doesn\'t support emergency calls over Wi-Fi. Tap for details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Emergency calling unavailable"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Can’t make emergency calls over Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerts"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Call forwarding"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not available right now."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> unavailable"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permission needed"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"This app was built for an older version of Android and may not work properly. Try checking for updates or contact the developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Check for update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"You have new messages"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tap to find out more and change."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Do Not Disturb has changed"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tap to check what\'s blocked."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Review notification settings"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"In Android 13, apps that you install need your permission to send notifications. Tap to change this permission for existing apps."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Remind me later"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Dismiss"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Settings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index b8aabb0..f1241ad 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporarily turned off by your operator for SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Can’t reach mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Try changing preferred network. Tap to change."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Emergency calls may be unavailable"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> doesn\'t support emergency calls over Wi-Fi. Tap for details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Emergency calling unavailable"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Can’t make emergency calls over Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerts"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Call forwarding"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not available right now."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> unavailable"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permission needed"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"This app was built for an older version of Android and may not work properly. Try checking for updates or contact the developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Check for update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"You have new messages"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tap to find out more and change."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Do Not Disturb has changed"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tap to check what\'s blocked."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Review notification settings"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"In Android 13, apps that you install need your permission to send notifications. Tap to change this permission for existing apps."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Remind me later"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Dismiss"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Settings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml
index ec32bd3..b14c243 100644
--- a/core/res/res/values-en-rXC/strings.xml
+++ b/core/res/res/values-en-rXC/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporarily turned off by your carrier for SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Can’t reach mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Try changing preferred network. Tap to change."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Emergency calls may be unavailable"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> doesn\'t support emergency calls over Wi-Fi. Tap for details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Emergency calling unavailable"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Can’t make emergency calls over Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerts"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Call forwarding"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,21 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is not available right now."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> unavailable"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permission needed"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <string name="app_streaming_blocked_title_for_camera_dialog" msgid="3935701653713853065">"Camera unavailable"</string>
+ <string name="app_streaming_blocked_title_for_fingerprint_dialog" msgid="3516853717714141951">"Continue on phone"</string>
+ <string name="app_streaming_blocked_title_for_microphone_dialog" msgid="544822455127171206">"Microphone unavailable"</string>
+ <string name="app_streaming_blocked_title_for_settings_dialog" product="tv" msgid="196994247017450357">"Android TV settings unavailable"</string>
+ <string name="app_streaming_blocked_title_for_settings_dialog" product="tablet" msgid="8222710146267948647">"Tablet settings unavailable"</string>
+ <string name="app_streaming_blocked_title_for_settings_dialog" product="default" msgid="6895719984375299791">"Phone settings unavailable"</string>
+ <string name="app_streaming_blocked_message" product="tv" msgid="5024599278277957935">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g>. Try on your Android TV device instead."</string>
+ <string name="app_streaming_blocked_message" product="tablet" msgid="7491114163056552686">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g>. Try on your tablet instead."</string>
+ <string name="app_streaming_blocked_message" product="default" msgid="1245180131667647277">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g>. Try on your phone instead."</string>
+ <string name="app_streaming_blocked_message_for_permission_dialog" product="tv" msgid="6306583663205997979">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your Android TV device instead."</string>
+ <string name="app_streaming_blocked_message_for_permission_dialog" product="tablet" msgid="6545624942642129664">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your tablet instead."</string>
+ <string name="app_streaming_blocked_message_for_permission_dialog" product="default" msgid="8462740631707923000">"This can’t be accessed on your <xliff:g id="DEVICE">%1$s</xliff:g> at this time. Try on your phone instead."</string>
+ <string name="app_streaming_blocked_message_for_fingerprint_dialog" product="tv" msgid="3470977315395784567">"This app is requesting additional security. Try on your Android TV device instead."</string>
+ <string name="app_streaming_blocked_message_for_fingerprint_dialog" product="tablet" msgid="698460091901465092">"This app is requesting additional security. Try on your tablet instead."</string>
+ <string name="app_streaming_blocked_message_for_fingerprint_dialog" product="default" msgid="8552691971910603907">"This app is requesting additional security. Try on your phone instead."</string>
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"This app was built for an older version of Android and may not work properly. Try checking for updates, or contact the developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Check for update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"You have new messages"</string>
@@ -2040,6 +2052,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tap to learn more and change."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Do Not Disturb has changed"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tap to check what\'s blocked."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Review notification settings"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"In Android 13, apps that you install need your permission to send notifications. Tap to change this permission for existing apps."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Remind me later"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Dismiss"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Settings"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 72bb363..8c21052 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"El proveedor desactivó temporalmente el servicio para la SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"No se puede acceder a la red móvil"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Presiona para cambiar la red preferida."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Es posible que las llamadas de emergencia no estén disponibles"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> no admite llamadas de emergencia por Wi-Fi. Presiona para ver más detalles"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Servicio de llamadas de emergencia no disponible"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"No se pueden hacer llamadas de emergencia mediante Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Desvío de llamada"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de devolución de llamada de emergencia"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> no está disponible en este momento."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> no disponible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Se necesitan permisos"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Por el momento, no se puede acceder a esto en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Inténtalo en tu dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Por el momento, no se puede acceder a esto en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Inténtalo en tu tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Por el momento, no se puede acceder a esto en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Inténtalo en tu teléfono."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Esta app se creó para una versión anterior de Android y es posible que no funcione correctamente. Busca actualizaciones o comunícate con el programador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Buscar actualización"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Tienes mensajes nuevos"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Presiona para obtener más información y realizar cambios."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Se modificó la opción No interrumpir"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Presiona para consultar lo que está bloqueado."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Configuración"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Cámara"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 62add23..5eaaec0 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Tu operador ha desactivado el servicio de la SIM <xliff:g id="SIMNUMBER">%d</xliff:g> de forma temporal"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"No se puede establecer conexión con la red móvil"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Toca para cambiar la red preferida."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Las llamadas de emergencia pueden no estar disponibles"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> no permite hacer llamadas de emergencia por Wi-Fi. Toca para ver información detallada."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Servicio de llamadas de emergencia no disponible"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"No se pueden hacer llamadas de emergencia por Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Desvío de llamadas"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de devolución de llamada de emergencia"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"No se ha podido autenticar"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Usar bloqueo de pantalla"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Introduce tu bloqueo de pantalla para continuar"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Mantén pulsado firmemente el sensor"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"No se ha podido procesar la huella digital. Vuelve a intentarlo."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Limpia el sensor de huellas digitales e inténtalo de nuevo"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Limpia el sensor e inténtalo de nuevo"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Huella digital no reconocida"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Huella digital no reconocida"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Se ha autenticado la huella digital"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Cara autenticada"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Se ha autenticado la cara, pulsa para confirmar"</string>
@@ -1270,14 +1268,14 @@
<string name="volume_music" msgid="7727274216734955095">"Volumen de multimedia"</string>
<string name="volume_music_hint_playing_through_bluetooth" msgid="2614142915948898228">"Reproduciendo a través de Bluetooth"</string>
<string name="volume_music_hint_silent_ringtone_selected" msgid="1514829655029062233">"Tono de silencio establecido"</string>
- <string name="volume_call" msgid="7625321655265747433">"Volumen de llamada"</string>
- <string name="volume_bluetooth_call" msgid="2930204618610115061">"Volumen de llamada Bluetooth"</string>
- <string name="volume_alarm" msgid="4486241060751798448">"Volumen de alarma"</string>
+ <string name="volume_call" msgid="7625321655265747433">"Volumen de llamadas"</string>
+ <string name="volume_bluetooth_call" msgid="2930204618610115061">"Volumen de llamadas Bluetooth"</string>
+ <string name="volume_alarm" msgid="4486241060751798448">"Volumen de alarmas"</string>
<string name="volume_notification" msgid="6864412249031660057">"Volumen de notificaciones"</string>
<string name="volume_unknown" msgid="4041914008166576293">"Volumen"</string>
<string name="volume_icon_description_bluetooth" msgid="7540388479345558400">"Volumen de Bluetooth"</string>
<string name="volume_icon_description_ringer" msgid="2187800636867423459">"Volumen del tono"</string>
- <string name="volume_icon_description_incall" msgid="4491255105381227919">"Volumen de llamada"</string>
+ <string name="volume_icon_description_incall" msgid="4491255105381227919">"Volumen de llamadas"</string>
<string name="volume_icon_description_media" msgid="4997633254078171233">"Volumen de multimedia"</string>
<string name="volume_icon_description_notification" msgid="579091344110747279">"Volumen de notificaciones"</string>
<string name="ringtone_default" msgid="9118299121288174597">"Tono por defecto"</string>
@@ -1853,7 +1851,7 @@
<string name="confirm_battery_saver" msgid="5247976246208245754">"Aceptar"</string>
<string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"Ahorro de batería activa el tema oscuro y limita o desactiva la actividad en segundo plano, algunos efectos visuales, ciertas funciones y algunas conexiones de red."</string>
<string name="battery_saver_description" msgid="8518809702138617167">"Ahorro de batería activa el tema oscuro y limita o desactiva la actividad en segundo plano, algunos efectos visuales, ciertas funciones y algunas conexiones de red."</string>
- <string name="data_saver_description" msgid="4995164271550590517">"Ahorro de datos evita que algunas aplicaciones envíen o reciban datos en segundo plano, lo que puede reducir el uso de datos. Una aplicación activa puede acceder a los datos, aunque con menos frecuencia. Esto significa que es posible que, por ejemplo, algunas imágenes no se muestren hasta que las toques."</string>
+ <string name="data_saver_description" msgid="4995164271550590517">"Para reducir el uso de datos, Ahorro de datos evita que algunas aplicaciones envíen o reciban datos en segundo plano. Si estás usando una aplicación, podrá acceder a datos, pero con menos frecuencia. Esto significa que es posible que, por ejemplo, algunas imágenes no se muestren hasta que las toques."</string>
<string name="data_saver_enable_title" msgid="7080620065745260137">"¿Activar Ahorro de datos?"</string>
<string name="data_saver_enable_button" msgid="4399405762586419726">"Activar"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{Durante un minuto (hasta las {formattedTime})}other{Durante # minutos (hasta las {formattedTime})}}"</string>
@@ -1869,7 +1867,7 @@
<string name="zen_mode_alarm" msgid="7046911727540499275">"Hasta las <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> (próxima alarma)"</string>
<string name="zen_mode_forever" msgid="740585666364912448">"Hasta que lo desactives"</string>
<string name="zen_mode_forever_dnd" msgid="3423201955704180067">"Hasta que desactives la opción No molestar"</string>
- <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
+ <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="8009920446193610996">"Contraer"</string>
<string name="zen_mode_feature_name" msgid="3785547207263754500">"No molestar"</string>
<string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Periodo de descanso"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"En estos momentos, <xliff:g id="APP_NAME">%1$s</xliff:g> no está disponible."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> no disponible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Se necesita permiso"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"En estos momentos, no se puede acceder a este contenido en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Prueba en tu dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"En estos momentos, no se puede acceder a este contenido en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Prueba en tu tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"En estos momentos, no se puede acceder a este contenido en tu <xliff:g id="DEVICE">%1$s</xliff:g>. Prueba en tu teléfono."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Esta aplicación se ha diseñado para una versión anterior de Android y es posible que no funcione correctamente. Busca actualizaciones o ponte en contacto con el desarrollador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Buscar actualizaciones"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Tienes mensajes nuevos"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ABRIR IGUALMENTE"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Se ha detectado una aplicación dañina"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"¿Permitir que <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> acceda a todos los registros del dispositivo?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Permitir el acceso una vez"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"No permitir"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Los registros del dispositivo documentan lo que sucede en tu dispositivo. Las aplicaciones pueden usar estos registros para encontrar y solucionar problemas.\n\nComo algunos registros pueden contener información sensible, es mejor que solo permitas que accedan a ellos las aplicaciones en las que confíes. \n\nAunque no permitas que esta aplicación acceda a todos los registros del dispositivo, aún podrá acceder a sus propios registros. Es posible que el fabricante del dispositivo pueda acceder a algunos registros o información de tu dispositivo. Más información"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"No volver a mostrar"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toca para obtener más información y hacer cambios."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Ha cambiado el modo No molestar"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toca para consultar lo que se está bloqueando."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ajustes"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Cámara"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> traducido."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Mensaje traducido del <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> al <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Actividad en segundo plano"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Una aplicación está gastando batería"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Una aplicación sigue activa"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> está gastando batería en segundo plano. Toca para ver más detalles."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> podría afectar a la duración de la batería. Toca para ver las aplicaciones activas."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Consultar aplicaciones activas"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"No se puede acceder a la cámara del teléfono desde tu <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"No se puede acceder a la cámara del tablet desde tu <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index 7e0ddd4..99e7ba3 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Operaator on SIM-kaardi <xliff:g id="SIMNUMBER">%d</xliff:g> puhul ajutiselt välja lülitanud"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobiilsidevõrguga ei saa ühendust"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Proovige eelistatud võrku vahetada. Puudutage muutmiseks."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Hädaabikõned ei pruugi saadaval olla"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ei toeta WiFi kaudu hädaabikõnede tegemist. Puudutage üksikasjade nägemiseks."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hädaabikõned pole saadaval"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"WiFi kaudu ei saa hädaabikõnesid teha"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Teatised"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Kõnede suunamine"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Hädaolukorra tagasihelistusrežiim"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Viga autentimisel"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Ekraaniluku kasutamine"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Jätkamiseks sisestage oma ekraanilukk"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Vajutage tugevalt andurile"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Sõrmejälge ei õnnestunud töödelda. Proovige uuesti."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Puhastage sõrmejäljeandur ja proovige uuesti"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Puhastage andur ja proovige uuesti"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Sõrmejälge ei tuvastatud"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Sõrmejälge ei tuvastatud"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Sõrmejälg autenditi"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Nägu on autenditud"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Nägu on autenditud, vajutage käsku Kinnita"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei ole praegu saadaval."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ei ole saadaval"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Vaja on luba"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Sellele ei pääse praegu teie seadmega (<xliff:g id="DEVICE">%1$s</xliff:g>) juurde. Proovige juurde pääseda oma Android TV seadmega."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Sellele ei pääse praegu teie seadmega (<xliff:g id="DEVICE">%1$s</xliff:g>) juurde. Proovige juurde pääseda oma tahvelarvutiga."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Sellele ei pääse praegu teie seadmega (<xliff:g id="DEVICE">%1$s</xliff:g>) juurde. Proovige juurde pääseda oma telefoniga."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"See rakendus on loodud Androidi vanema versiooni jaoks ega pruugi õigesti töötada. Otsige värskendusi või võtke ühendust arendajaga."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Otsi värskendust"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Teile on uusi sõnumeid"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"AVA IKKA"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Tuvastati kahjulik rakendus"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Kas anda rakendusele <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> juurdepääs kõigile seadmelogidele?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Luba ühekordne juurdepääs"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Ära luba"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Seadmelogid jäädvustavad, mis teie seadmes toimub. Rakendused saavad neid logisid kasutada probleemide tuvastamiseks ja lahendamiseks.\n\nMõned logid võivad sisaldada tundlikku teavet, seega lubage juurdepääs kõigile seadmelogidele ainult rakendustele, mida usaldate. \n\nKui te ei luba sellel rakendusel kõigile seadmelogidele juurde pääseda, pääseb see siiski juurde oma logidele. Teie seadme tootja võib teie seadmes siiski teatud logidele või teabele juurde pääseda. Lisateave"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ära kuva uuesti"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Puudutage lisateabe vaatamiseks ja muutmiseks."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Režiimi Mitte segada muudeti"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Puudutage, et kontrollida, mis on blokeeritud."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Süsteem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Seaded"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kaamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Sõnum „<xliff:g id="MESSAGE">%1$s</xliff:g>” on tõlgitud."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Sõnum on tõlgitud <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> keelest <xliff:g id="TO_LANGUAGE">%2$s</xliff:g> keelde."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Tegevus taustal"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Rakendus kasutab akutoidet"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Rakendus on ikka aktiivne"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> kasutab taustal akutoidet. Puudutage ülevaatamiseks."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> võib aku tööiga mõjutada. Puudutage aktiivsete rakenduste ülevaatamiseks."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Vaadake aktiivseid rakendusi"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Teie seadmest <xliff:g id="DEVICE">%1$s</xliff:g> ei pääse telefoni kaamerale juurde"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Teie seadmest <xliff:g id="DEVICE">%1$s</xliff:g> ei pääse tahvelarvuti kaamerale juurde"</string>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index c485593..a7412ba 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Operadoreak <xliff:g id="SIMNUMBER">%d</xliff:g> SIM txartela desaktibatu egin du aldi baterako"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Ezin da konektatu sare mugikorrera"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Aldatu sare hobetsia. Sakatu aldatzeko."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Baliteke larrialdi-deiak erabilgarri ez egotea"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> hornitzaileak ez du onartzen larrialdi-deiak wifi bidez egitea. Sakatu hau xehetasunak ikusteko."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Ezin da egin larrialdi-deirik"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Ezin duzu egin larrialdi-deirik Wi-Fi bidez"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertak"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Dei-desbideratzea"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Larrialdi-zerbitzuen deiak jasotzeko modua"</string>
@@ -1304,7 +1304,7 @@
<item msgid="5520925862115353992">"Wifia"</item>
<item msgid="1055487873974272842">"Bluetooth-a"</item>
<item msgid="1616528372438698248">"Ethernet"</item>
- <item msgid="9177085807664964627">"VPN"</item>
+ <item msgid="9177085807664964627">"VPNa"</item>
</string-array>
<string name="network_switch_type_name_unknown" msgid="3665696841646851068">"sare mota ezezaguna"</string>
<string name="accept" msgid="5447154347815825107">"Onartu"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ez dago erabilgarri une honetan."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ez dago erabilgarri"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Baimena behar da"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Une honetan, aplikazioa ezin da <xliff:g id="DEVICE">%1$s</xliff:g> erabilita atzitu. Gailu horren ordez, erabili Android TV gailua."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Une honetan, aplikazioa ezin da <xliff:g id="DEVICE">%1$s</xliff:g> erabilita atzitu. Gailu horren ordez, erabili tableta."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Une honetan, aplikazioa ezin da <xliff:g id="DEVICE">%1$s</xliff:g> erabilita atzitu. Gailu horren ordez, erabili telefonoa."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Aplikazioa Android-en bertsio zaharrago baterako sortu zenez, baliteke behar bezala ez funtzionatzea. Bilatu eguneratzerik baden, edo jarri garatzailearekin harremanetan."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Bilatu eguneratzeak"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Mezu berriak dituzu"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Sakatu informazio gehiago lortzeko eta portaera aldatzeko."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Ez molestatzeko modua aldatu da"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Sakatu zer dagoen blokeatuta ikusteko."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ezarpenak"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index 678e4b3..8519c43 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"شرکت مخابراتیتان موقتاً آن را برای سیمکارت <xliff:g id="SIMNUMBER">%d</xliff:g> خاموش کرده است"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"شبکه تلفن همراه دردسترس نیست"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"تغییر شبکه ترجیحی را امتحان کنید. برای تغییر، ضربه بزنید."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ممکن است تماسهای اضطراری دردسترس نباشد"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> از تماسهای اضطراری ازطریق Wi-Fi پشتیبانی نمیکند. برای دیدن جزئیات، ضربه بزنید."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"تماس اضطراری امکانپذیر نیست"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"تماس اضطراری ازطریق Wi‑Fi امکانپذیر نیست"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"هشدارها"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"بازارسال تماس"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"حالت پاسخ تماس اضطراری"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> درحالحاضر در دسترس نیست."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> دردسترس نیست"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"اجازه لازم است"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"درحالحاضر نمیتوان در <xliff:g id="DEVICE">%1$s</xliff:g> شما به این برنامه دسترسی داشت. دسترسی به آن را در دستگاه Android TV امتحان کنید."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"درحالحاضر نمیتوان در <xliff:g id="DEVICE">%1$s</xliff:g> شما به این برنامه دسترسی داشت. دسترسی به آن را در رایانه لوحیتان امتحان کنید."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"درحالحاضر نمیتوان در <xliff:g id="DEVICE">%1$s</xliff:g> شما به این برنامه دسترسی داشت. دسترسی به آن را در تلفنتان امتحان کنید."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"این برنامه برای نسخه قدیمیتری از Android ساخته شده است و ممکن است درست کار نکند. وجود بهروزرسانی را بررسی کنید یا با برنامهنویس تماس بگیرید."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"بررسی وجود بهروزرسانی"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"پیامهای جدیدی دارید"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"برای اطلاعات بیشتر و تغییر دادن، ضربه بزنید."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"«مزاحم نشوید» تغییر کرده است"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"برای بررسی موارد مسدودشده ضربه بزنید."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"سیستم"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"تنظیمات"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"دوربین"</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index 4c1a03c..7039858 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Operaattori poisti tämän väliaikaisesti käytöstä SIM-kortilla <xliff:g id="SIMNUMBER">%d</xliff:g>."</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobiiliverkkoon ei saada yhteyttä"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Kokeile vaihtaa ensisijaista verkkoa. Vaihda se napauttamalla."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Hätäpuhelut eivät ehkä ole käytettävissä"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ei tue hätäpuheluita Wi-Fi-yhteydellä. Katso lisätietoja napauttamalla."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hätäpuhelut eivät ole käytettävissä"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Hätäpuhelujen soittaminen Wi-Fi-yhteyden kautta ei onnistu."</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Ilmoitukset"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Soitonsiirto"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Hätäpuhelujen takaisinsoittotila"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Virhe todennuksessa"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Käytä näytön lukitusta"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Jatka lisäämällä näytön lukituksen avaustapa"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Paina anturia voimakkaasti"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Sormenjäljen prosessointi epäonnistui. Yritä uudelleen."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Puhdista sormenjälkitunnistin ja yritä uudelleen"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Puhdista anturi ja yritä uudelleen"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Sormenjälkeä ei tunnistettu"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Sormenjälkeä ei tunnistettu"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Sormenjälki tunnistettu"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Kasvot tunnistettu"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Kasvot tunnistettu, valitse Vahvista"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei ole nyt käytettävissä."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ei käytettävissä"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Edellyttää käyttöoikeutta"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"<xliff:g id="DEVICE">%1$s</xliff:g> ei tällä hetkellä saa pääsyä sovellukseen. Kokeile striimausta Android TV ‑laitteella."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"<xliff:g id="DEVICE">%1$s</xliff:g> ei tällä hetkellä saa pääsyä sovellukseen. Kokeile striimausta tabletilla."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"<xliff:g id="DEVICE">%1$s</xliff:g> ei tällä hetkellä saa pääsyä sovellukseen. Kokeile striimausta puhelimella."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Tämä sovellus on suunniteltu vanhemmalle Android-versiolle eikä välttämättä toimi oikein. Kokeile tarkistaa päivitykset tai ottaa yhteyttä kehittäjään."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Tarkista päivitykset"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Sinulle on uusia viestejä"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"AVAA SILTI"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Haitallinen sovellus havaittu"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Saako <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> pääsyn kaikkiin laitelokeihin?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Salli kertaluonteinen pääsy"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Älä salli"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Laitteen tapahtumat tallentuvat laitelokeihin. Niiden avulla sovellukset voivat löytää ja korjata ongelmia.\n\nJotkin lokit voivat sisältää arkaluontoista tietoa, joten salli pääsy kaikkiin laitelokeihin vain sovelluksille, joihin luotat. \n\nJos et salli tälle sovellukselle pääsyä kaikkiin laitelokeihin, sillä on kuitenkin pääsy sen omiin lokeihin. Laitteen valmistajalla voi olla pääsy joihinkin lokeihin tai tietoihin laitteella. Lue lisää"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Älä näytä uudelleen"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Napauta, jos haluat lukea lisää ja tehdä muutoksia."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Älä häiritse ‑tila muuttui"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Napauta niin näet, mitä on estetty."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Järjestelmä"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Asetukset"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> käännettiin."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Viesti käännettiin kielestä <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> kielelle <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Taustatoiminta"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Sovellus käyttää akkua"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Sovellus on edelleen aktiivinen"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> käyttää akkua taustalla. Tarkista napauttamalla."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> saattaa vaikuttaa akunkestoon. Tarkista aktiiviset sovellukset napauttamalla."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Tarkista aktiiviset sovellukset"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"<xliff:g id="DEVICE">%1$s</xliff:g> ei pääse puhelimen kameraan"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"<xliff:g id="DEVICE">%1$s</xliff:g> ei pääse tabletin kameraan"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 890a7ba..cb41aab 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporairement désactivé par votre fournisseur de services pour la carte SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Impossible de joindre le réseau cellulaire"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Essayez de changer de réseau préféré. Touchez l\'écran pour changer."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Les appels d\'urgence peuvent ne pas être disponibles"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne prend pas en charge les appels d\'urgence par Wi-Fi. Touchez pour en savoir plus."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Le service d\'appel d\'urgence n\'est pas accessible"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Impossible d\'effectuer des appels d\'urgence par Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertes"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Transfert d\'appel"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mode de rappel d\'urgence"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Erreur d\'authentification"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Utiliser le verrouillage de l\'écran"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Entrez votre verrouillage d\'écran pour continuer"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Appuyez fermement sur le capteur"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Impossible de reconnaître l\'empreinte digitale. Veuillez réessayer."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Nettoyez le capteur d\'empreintes digitales et réessayez"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Nettoyez le capteur et réessayez"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Empreinte digitale non reconnue"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Empreinte digitale non reconnue"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Empreinte digitale authentifiée"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Visage authentifié"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Visage authentifié, veuillez appuyer sur le bouton Confirmer"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas accessible pour le moment."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> non accessible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Autorisation nécessaire"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Impossible d\'accéder à ce contenu sur votre appareil <xliff:g id="DEVICE">%1$s</xliff:g> pour le moment. Essayez sur votre appareil Android TV à la place."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Impossible d\'accéder à ce contenu sur votre appareil <xliff:g id="DEVICE">%1$s</xliff:g> pour le moment. Essayez sur votre tablette à la place."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Impossible d\'accéder à ce contenu sur votre appareil <xliff:g id="DEVICE">%1$s</xliff:g> pour le moment. Essayez sur votre téléphone à la place."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Cette application a été conçue pour une ancienne version d\'Android et pourrait ne pas fonctionner correctement. Essayez de vérifier les mises à jour ou communiquez avec son développeur."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Vérifier la présence de mises à jour"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Vous avez de nouveaux messages"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"OUVRIR QUAND MÊME"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Une application nuisible a été détectée"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Autoriser <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> à accéder à l\'ensemble des journaux de l\'appareil?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Autoriser un accès unique"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Ne pas autoriser"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Les journaux de l\'appareil enregistrent ce qui se passe sur celui-ci. Les applications peuvent utiliser ces journaux pour trouver et résoudre des problèmes.\n\nCertains journaux peuvent contenir des renseignements confidentiels. N\'autorisez donc que les applications auxquelles vous faites confiance puisque celles-ci pourront accéder à l\'ensemble des journaux de l\'appareil. \n\nMême si vous n\'autorisez pas cette application à accéder à l\'ensemble des journaux de l\'appareil, elle aura toujours accès à ses propres journaux. Le fabricant de votre appareil pourrait toujours être en mesure d\'accéder à certains journaux ou renseignements sur votre appareil. En savoir plus"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ne plus afficher"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Touchez ici pour en savoir plus et changer les paramètres"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Les paramètres du mode Ne pas déranger ont changé"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Touchez l\'écran pour vérifier ce qui est bloqué."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Système"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Paramètres"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Appareil photo"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Message <xliff:g id="MESSAGE">%1$s</xliff:g> traduit."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Message traduit : <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> vers <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Activité en arrière-plan"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Une application consomme de l\'énergie"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Une application est toujours active"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> consomme de l\'énergie en arrière-plan. Touchez pour examiner."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> peut avoir une incidence sur l\'autonomie de la pile. Touchez pour examiner les applications actives."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Vérifier les applications actives"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Impossible d\'accéder à l\'appareil photo du téléphone à partir de votre <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Impossible d\'accéder à l\'appareil photo de la tablette à partir de votre <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 0455828..14134b8 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Service temporairement désactivé par votre opérateur concernant la carte SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Impossible d\'accéder au réseau mobile"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Essayez de changer le réseau préféré. Appuyez pour le modifier."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Vous ne pourrez peut-être pas passer d\'appels d\'urgence"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne prend pas en charge les appels d\'urgence via le Wi-Fi. Appuyez ici pour en savoir plus."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Appels d\'urgence non disponibles"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Impossible de passer des appels d\'urgence via le Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertes"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Transfert d\'appel"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mode de rappel d\'urgence"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Erreur d\'authentification"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Utiliser verrouillage écran"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Utilisez le verrouillage de l\'écran pour continuer"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Appuyez bien sur le lecteur"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Impossible de reconnaître l\'empreinte digitale. Veuillez réessayer."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Nettoyez le lecteur d\'empreinte digitale et réessayez"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Nettoyez le lecteur et réessayez"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Empreinte digitale non reconnue"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Empreinte digitale non reconnue"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Empreinte digitale authentifiée"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Visage authentifié"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Visage authentifié, veuillez appuyer sur \"Confirmer\""</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas disponible pour le moment."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> indisponible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Autorisation nécessaire"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Actuellement, vous ne pouvez pas accéder à cette application sur votre <xliff:g id="DEVICE">%1$s</xliff:g>. Essayez plutôt d\'y accéder sur votre appareil Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Actuellement, vous ne pouvez pas accéder à cette application sur votre <xliff:g id="DEVICE">%1$s</xliff:g>. Essayez plutôt d\'y accéder sur votre tablette."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Actuellement, vous ne pouvez pas accéder à cette application sur votre <xliff:g id="DEVICE">%1$s</xliff:g>. Essayez plutôt d\'y accéder sur votre téléphone."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Cette application a été conçue pour une ancienne version d\'Android et risque de ne pas fonctionner correctement. Recherchez des mises à jour ou contactez le développeur."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Rechercher une mise à jour"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Vous avez de nouveaux messages"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"OUVRIR QUAND MÊME"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Application dangereuse détectée"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Autoriser <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> à accéder à tous les journaux de l\'appareil ?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Autoriser un accès unique"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Ne pas autoriser"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Les journaux enregistrent ce qui se passe sur votre appareil. Les applis peuvent les utiliser pour rechercher et résoudre les problèmes.\n\nCertains journaux pouvant contenir des infos sensibles, autorisez uniquement les applis de confiance à accéder à tous les journaux de l\'appareil. \n\nSi vous refusez à cette appli l\'accès à tous les journaux de l\'appareil, elle a quand même accès aux siens. Le fabricant de l\'appareil peut accéder à certains journaux ou certaines infos sur votre appareil. En savoir plus"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ne plus afficher"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Appuyez pour en savoir plus et pour modifier les paramètres."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Le mode Ne pas déranger a été modifié"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Appuyez pour vérifier les contenus bloqués."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Système"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Paramètres"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Caméra"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> traduit."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Message en <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> traduit en <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Activité en arrière-plan"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Une appli utilise la batterie"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Une appli est encore active"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> utilise la batterie en arrière-plan. Appuyez pour en savoir plus."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> peut affecter l\'autonomie de la batterie. Appuyez pour consulter les applis actives."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Vérifier les applis actives"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Impossible d\'accéder à l\'appareil photo du téléphone depuis votre <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Impossible d\'accéder à l\'appareil photo de la tablette depuis votre <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index 0a0e36e..8641fc1 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"O teu operador desactivou este servizo temporalmente para a SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Non se puido conectar coa rede de telefonía móbil"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Proba a cambiar a rede preferida. Toca para cambiar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"É posible que as chamadas de emerxencia non estean dispoñibles"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> non permite realizar chamadas de emerxencia por wifi. Toca para obter información."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"As chamadas de emerxencia non están dispoñibles"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Non se poden realizar chamadas de emerxencia por wifi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Desvío de chamadas"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de devolución de chamadas de emerxencia"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Produciuse un erro ao realizar a autenticación"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Usar credencial do dispositivo"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Desbloquea a pantalla para continuar"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Preme o sensor con firmeza"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Non se puido procesar a impresión dixital. Téntao de novo."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Limpa o sensor de impresión dixital e téntao de novo"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Limpa o sensor e téntao de novo"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Non se recoñeceu a impresión dixital"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Non se recoñeceu a impresión dixital"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Autenticouse a impresión dixital"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Autenticouse a cara"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Autenticouse a cara, preme Confirmar"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"A aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> non está dispoñible neste momento."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> non está dispoñible"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Necesítase permiso"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Nestes momentos, non podes acceder a este contido desde o teu dispositivo (<xliff:g id="DEVICE">%1$s</xliff:g>). Proba a facelo desde o dispositivo con Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Nestes momentos, non podes acceder a este contido desde o teu dispositivo (<xliff:g id="DEVICE">%1$s</xliff:g>). Proba a facelo desde a tableta."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Nestes momentos, non podes acceder a este contido desde o teu dispositivo (<xliff:g id="DEVICE">%1$s</xliff:g>). Proba a facelo desde o teléfono."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Esta aplicación deseñouse para unha versión anterior de Android e quizais non funcione correctamente. Proba a buscar actualizacións ou contacta co programador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Buscar actualización"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Tes mensaxes novas"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ABRIR IGUALMENTE"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Detectouse unha aplicación daniña"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Queres permitir que a aplicación <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> acceda a todos os rexistros do dispositivo?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Permitir acceso unha soa vez"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Non permitir"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Os rexistros do dispositivo dan conta do que ocorre neste. As aplicacións poden usalos para buscar problemas e solucionalos.\n\nAlgúns poden conter información confidencial, polo que che recomendamos que só permitas que accedan a todos os rexistros do dispositivo as aplicacións nas que confíes. \n\nEsta aplicación pode acceder aos seus propios rexistros aínda que non lle permitas acceder a todos. É posible que o fabricante do dispositivo teña acceso a algúns rexistros ou á información do teu dispositivo. Máis información"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Non amosar outra vez"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toca para obter máis información e facer cambios."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"O modo Non molestar cambiou"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toca para comprobar o contido bloqueado."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Configuración"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Cámara"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Mensaxe <xliff:g id="MESSAGE">%1$s</xliff:g> traducida."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Mensaxe traducida do <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> ao <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Actividade en segundo plano"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Hai unha aplicación consumindo batería"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Hai unha aplicación que aínda está activa"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> está consumindo batería en segundo plano. Toca para revisalo."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> podería estar minguando a duración da batería. Toca para revisar as aplicacións activas."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Comprobar aplicacións activas"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Non se puido acceder á cámara do teléfono desde o teu dispositivo (<xliff:g id="DEVICE">%1$s</xliff:g>)"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Non se puido acceder á cámara da tableta desde o teu dispositivo (<xliff:g id="DEVICE">%1$s</xliff:g>)"</string>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index 464de11..2d34b8ee 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"તમારા કૅરિઅર દ્વારા સિમ <xliff:g id="SIMNUMBER">%d</xliff:g> માટે હંગામી રૂપે બંધ કરેલ છે"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"મોબાઇલ નેટવર્ક સુધી પહોંચી શકાતું નથી"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"પસંદગીનું નેટવર્ક બદલવાનો પ્રયાસ કરો. બદલવા માટે ટૅપ કરો."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ઇમર્જન્સી કૉલ કદાચ ઉપલબ્ધ ન હોય"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> વાઇ-ફાઇ પર ઇમર્જન્સી કૉલને સપોર્ટ કરતા નથી. વિગતો માટે ટૅપ કરો."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"કટોકટીની કૉલિંગ સેવા અનુપલબ્ધ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"વાઇ-ફાઇ પરથી કટોકટીના કૉલ કરી શકાતા નથી"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"અલર્ટ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"કૉલ ફૉર્વર્ડિંગ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"કટોકટી કૉલબૅક મોડ"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"પ્રમાણિત કરવામાં ભૂલ આવી"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"આગળ વધવા માટે તમારું સ્ક્રીન લૉક દાખલ કરો"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"સેન્સર પર જોરથી દબાવો"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"ફિંગરપ્રિન્ટ પ્રક્રિયા કરી શકાઈ નથી. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"ફિંગરપ્રિન્ટ સેન્સર સાફ કરો અને ફરી પ્રયાસ કરો"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"સેન્સર સાફ કરો અને ફરી પ્રયાસ કરો"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"ફિંગરપ્રિન્ટ ઓળખી શકાઈ નથી"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"ફિંગરપ્રિન્ટ ઓળખી શકાઈ નથી"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"ફિંગરપ્રિન્ટ પ્રમાણિત કરી"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"ચહેરા પ્રમાણિત"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"ચહેરા પ્રમાણિત, કૃપા કરીને કન્ફર્મ કરો"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> હાલમાં ઉપલબ્ધ નથી."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ઉપલબ્ધ નથી"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"પરવાનગી જરૂરી છે"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"અત્યારે આને તમારા <xliff:g id="DEVICE">%1$s</xliff:g> પર ઍક્સેસ કરી શકાતી નથી. તેના બદલે તમારા Android TV ડિવાઇસ પર પ્રયાસ કરો."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"અત્યારે આને તમારા <xliff:g id="DEVICE">%1$s</xliff:g> પર ઍક્સેસ કરી શકાતી નથી. તેના બદલે તમારા ટૅબ્લેટ પર પ્રયાસ કરો."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"અત્યારે આને તમારા <xliff:g id="DEVICE">%1$s</xliff:g> પર ઍક્સેસ કરી શકાતી નથી. તેના બદલે તમારા ફોન પર પ્રયાસ કરો."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"આ ઍપ Androidના જૂના વર્ઝન માટે બનાવવામાં આવ્યું હતું અને તે કદાચ તે યોગ્ય રીતે કાર્ય કરી શકશે નહીં. અપડેટ માટે તપાસવાનો પ્રયાસ કરો અથવા ડેવલપરનો સંપર્ક કરો."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"અપડેટ માટે તપાસો"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"તમારી પાસે નવા સંદેશા છે"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"કોઈપણ રીતે ખોલો"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"નુકસાનકારક ઍપ મળી આવી છે"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>ને ડિવાઇસનો બધો લૉગ ઍક્સેસ કરવાની મંજૂરી આપવી છે?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"એક-વખતના ઍક્સેસની મંજૂરી આપો"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"મંજૂરી આપશો નહીં"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"તમારા ડિવાઇસ પર થતી કામગીરીને ડિવાઇસ લૉગ રેકોર્ડ કરે છે. ઍપ આ લૉગનો ઉપયોગ સમસ્યાઓ શોધી તેનું નિરાકરણ કરવા માટે કરી શકે છે.\n\nઅમુક લૉગમાં સંવેદનશીલ માહિતી હોઈ શકે, આથી ડિવાઇસનો બધો લૉગ ઍક્સેસ કરવાની મંજૂરી માત્ર તમારી વિશ્વાસપાત્ર ઍપને જ આપો. \n\nતમે આ ઍપને ડિવાઇસનો બધો લૉગ ઍક્સેસ કરવાની મંજૂરી નહીં આપી હોય, તો પણ તે તેના પોતાના લૉગ ઍક્સેસ કરી શકે છે. તમારા ડિવાઇસના નિર્માતા હજુ પણ કદાચ તમારા ડિવાઇસ પર અમુક લૉગ અથવા માહિતી ઍક્સેસ કરી શકે છે. વધુ જાણો"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"ફરીથી બતાવશો નહીં"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"વધુ જાણવા અને બદલવા માટે ટૅપ કરો."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"ખલેલ પાડશો નહીંમાં ફેરફાર થયો છે"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"શું બ્લૉક કરેલ છે તે તપાસવા માટે ટૅપ કરો."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"સિસ્ટમ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"સેટિંગ"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"કૅમેરા"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g>નો અનુવાદ કર્યો."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"<xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>થી <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>માં સંદેશનો અનુવાદ કરવામાં આવ્યો."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"બૅકગ્રાઉન્ડ પ્રવૃત્તિ"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"કોઈ ઍપ બૅટરીનો વપરાશ કરી રહી છે"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"કોઈ ઍપ હજી પણ સક્રિય છે"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> દ્વારા બૅકગ્રાઉન્ડમાં બૅટરીનો વપરાશ કરવામાં આવી રહ્યો છે. રિવ્યૂ કરવા માટે ટૅપ કરો."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g>, બૅટરીની આવરદાને અસર કરી શકે છે. બધી સક્રિય ઍપનો રિવ્યૂ કરવા માટે ટૅપ કરો."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"સક્રિય ઍપ ચેક કરો"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"તમારા <xliff:g id="DEVICE">%1$s</xliff:g> પરથી ફોનના કૅમેરાનો ઍક્સેસ કરી શકતાં નથી"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"તમારા <xliff:g id="DEVICE">%1$s</xliff:g> પરથી ટૅબ્લેટના કૅમેરાનો ઍક્સેસ કરી શકતાં નથી"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index e505e23..a88cf03 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"सिम <xliff:g id="SIMNUMBER">%d</xliff:g> पर आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी ने कुछ समय के लिए सेवा बंद कर दी है"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"मोबाइल नेटवर्क से कनेक्ट नहीं किया जा सका"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"पसंदीदा नेटवर्क बदलकर देखें. बदलने के लिए टैप करें."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"शायद आपातकालीन कॉल करने की सुविधा उपलब्ध न हो"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> पर, वाई-फ़ाई की मदद से आपातकालीन कॉल करने की सुविधा नहीं दी जाती. जानकारी पाने के लिए टैप करें."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"आपातकालीन कॉल करने की सुविधा उपलब्ध नहीं है"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"वाई-फ़ाई के ज़रिए आपातकालीन कॉल नहीं किया जा सकता"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"सूचनाएं"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"कॉल को दूसरे नंबर पर भेजना"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"आपातकालीन कॉलबैक मोड"</string>
@@ -1865,7 +1865,7 @@
<string name="zen_mode_until_next_day" msgid="1403042784161725038">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> तक"</string>
<string name="zen_mode_until" msgid="2250286190237669079">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> तक"</string>
<string name="zen_mode_alarm" msgid="7046911727540499275">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> (अगले अलार्म) तक"</string>
- <string name="zen_mode_forever" msgid="740585666364912448">"जब तक आप बंद नहीं करते"</string>
+ <string name="zen_mode_forever" msgid="740585666364912448">"जब तक बंद नहीं की जाती"</string>
<string name="zen_mode_forever_dnd" msgid="3423201955704180067">"जब तक कि आप परेशान ना करें को बंद नहीं कर देते"</string>
<string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="8009920446193610996">"छोटा करें"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> इस समय उपलब्ध नहीं है."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> उपलब्ध नहीं है"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"अनुमति ज़रूरी है"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"इस समय, आपके <xliff:g id="DEVICE">%1$s</xliff:g> पर इसे ऐक्सेस नहीं किया जा सकता. इसके बजाय, अपने Android TV डिवाइस पर कोशिश करें."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"इस समय, आपके <xliff:g id="DEVICE">%1$s</xliff:g> पर इसे ऐक्सेस नहीं किया जा सकता. इसके बजाय, अपने टैबलेट पर कोशिश करें."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"इस समय, आपके <xliff:g id="DEVICE">%1$s</xliff:g> पर इसे ऐक्सेस नहीं किया जा सकता. इसके बजाय, अपने फ़ोन पर कोशिश करें."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"यह ऐप्लिकेशन Android के पुराने वर्शन के लिए बनाया गया था, इसलिए हो सकता है कि यह सही से काम न करे. देखें कि अपडेट मौजूद हैं या नहीं, या फिर डेवलपर से संपर्क करें."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"देखें कि अपडेट मौजूद है या नहीं"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"आपके पास नए संदेश हैं"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ज़्यादा जानने और बदलाव करने के लिए टैप करें."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"परेशान न करें की सुविधा बदल गई है"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"टैप करके देखें कि किन चीज़ों पर रोक लगाई गई है."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"सिस्टम"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"सेटिंग"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"कैमरा"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 3723f10..cedb915 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Uslugu je privremeno isključio mobilni operater za SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobilna mreža nije dostupna"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Pokušajte promijeniti preferiranu mrežu. Dodirnite da biste je promijenili."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Hitni pozivi možda nisu dostupni"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne podržava hitne pozive putem Wi-Fija. Dodirnite da biste vidjeli pojedinosti."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hitni pozivi nisu dostupni"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nije moguće upućivati hitne pozive putem Wi‑Fi-ja"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Upozorenja"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Preusmjeravanje poziva"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Način hitnog povratnog poziva"</string>
@@ -1934,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> trenutačno nije dostupna."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> – nije dostupno"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Potrebno je dopuštenje"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Trenutačno toj aplikaciji nije moguće pristupiti na vašem uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Pokušajte joj pristupiti na Android TV uređaju."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Trenutačno toj aplikaciji nije moguće pristupiti na vašem uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Pokušajte joj pristupiti na svojem tabletu."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Trenutačno toj aplikaciji nije moguće pristupiti na vašem uređaju <xliff:g id="DEVICE">%1$s</xliff:g>. Pokušajte joj pristupiti na svojem telefonu."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ova je aplikacija razvijena za stariju verziju Androida i možda neće funkcionirati pravilno. Potražite ažuriranja ili se obratite razvojnom programeru."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Provjeri ažuriranja"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Imate nove poruke"</string>
@@ -2041,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Dodirnite da biste saznali više i promijenili postavke."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Promijenjena je postavka Ne uznemiravaj"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Dodirnite da biste provjerili što je blokirano."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sustav"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Postavke"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotoaparat"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 7cbb0ad..ba3c66c 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"A szolgáltató ideiglenesen kikapcsolta a következő SIM-kártya esetében: <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"A mobilhálózat nem érhető el"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Próbálja meg módosítani a preferált hálózatot. Koppintson a módosításhoz."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Előfordulhat, hogy a segélyhívás funkció nem áll rendelkezésre"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"A(z) <xliff:g id="SPN">%s</xliff:g> nem támogatja segélyhívás indítását Wi-Fi-n keresztül. Koppintson a részletekért."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Segélyhívás nem lehetséges"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nem lehet segélyhívást kezdeményezni Wi-Fi-n keresztül"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Értesítések"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Hívásátirányítás"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Sürgősségi visszahívás mód"</string>
@@ -1613,7 +1613,7 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"Vezeték nélküli kijelző"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"Tartalomátküldés"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"Csatlakozás adott eszközhöz"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Képernyő átküldése az eszközre"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Képernyő átküldése eszközre"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"Eszközkeresés…"</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Beállítások"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"Leválasztás"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> jelenleg nem hozzáférhető."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"A(z) <xliff:g id="ACTIVITY">%1$s</xliff:g> nem áll rendelkezése"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Engedély szükséges"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Ehhez jelenleg nem lehet hozzáférni a következő eszközön: <xliff:g id="DEVICE">%1$s</xliff:g>. Próbálja újra Android TV-eszközén."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Ehhez jelenleg nem lehet hozzáférni a következő eszközön: <xliff:g id="DEVICE">%1$s</xliff:g>. Próbálja újra a táblagépén."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Ehhez jelenleg nem lehet hozzáférni a következő eszközön: <xliff:g id="DEVICE">%1$s</xliff:g>. Próbálja újra a telefonján."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ez az alkalmazás az Android egyik korábbi verziójához készült, így elképzelhető, hogy nem működik majd megfelelően ezen a rendszeren. Keressen frissítéseket, vagy vegye fel a kapcsolatot a fejlesztővel."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Frissítés keresése"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Új üzenetei érkeztek"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Koppintással további információhoz juthat, és elvégezheti a módosítást."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Módosultak a Ne zavarjanak mód beállításai"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Koppintson a letiltott elemek megtekintéséhez."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Rendszer"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Beállítások"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 075ea5a..395c78b 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> քարտի օպերատորը ժամանակավորապես անջատել է"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Չհաջողվեց միանալ բջջային ցանցին"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Փորձեք այլ ցանցի միանալ: Հպեք՝ նախընտրած ցանցը փոխելու համար:"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Շտապ կանչերը կարող են անհասանելի լինել"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>՝ չի աջակցում շտապ կանչեր Wi-Fi-ի միջոցով։ Հպեք՝ ավելին իմանալու համար։"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Շտապ կանչերը հասանելի չեն"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Շտապ կանչերը հասանելի չեն Wi‑Fi-ի միջոցով"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Ծանուցումներ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Զանգի վերահասցեավորում"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Շտապ հետզանգի ռեժիմ"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Չհաջողվեց նույնականացնել"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Էկրանի կողպում"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Շարունակելու համար ապակողպեք էկրանը"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Մատը ուժեղ սեղմեք սկաների վրա"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Չհաջողվեց մշակել մատնահետքը: Նորից փորձեք:"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Մաքրեք մատնահետքերի սկաները և նորից փորձեք"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Մաքրեք սկաները և նորից փորձեք"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Մատնահետքը չի ճանաչվել"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Մատնահետքը չի ճանաչվել"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Մատնահետքը նույնականացվեց"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Դեմքը ճանաչվեց"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Դեմքը ճանաչվեց: Սեղմեք «Հաստատել»:"</string>
@@ -1494,7 +1492,7 @@
<string name="vpn_lockdown_config" msgid="8331697329868252169">"Փոխել ցանցը կամ VPN-ի կարգավորումները"</string>
<string name="upload_file" msgid="8651942222301634271">"Ընտրել ֆայլը"</string>
<string name="no_file_chosen" msgid="4146295695162318057">"Ոչ մի ֆայլ չի ընտրված"</string>
- <string name="reset" msgid="3865826612628171429">"Վերակայել"</string>
+ <string name="reset" msgid="3865826612628171429">"Զրոյացնել"</string>
<string name="submit" msgid="862795280643405865">"Ուղարկել"</string>
<string name="car_mode_disable_notification_title" msgid="8450693275833142896">"Հավելվածն աշխատում է"</string>
<string name="car_mode_disable_notification_message" msgid="8954550232288567515">"Հպեք՝ հավելվածը փակելու համար:"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածն այս պահին հասանելի չէ։"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g>՝ անհասանելի է"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Անհրաժեշտ է թույլտվություն"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Այս պահին հնարավոր չէ բացել հավելվածը <xliff:g id="DEVICE">%1$s</xliff:g> սարքում։ Փորձեք Android TV սարքում։"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Այս պահին հնարավոր չէ բացել հավելվածը <xliff:g id="DEVICE">%1$s</xliff:g> սարքում։ Փորձեք ձեր պլանշետում։"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Այս պահին հնարավոր չէ բացել հավելվածը <xliff:g id="DEVICE">%1$s</xliff:g> սարքում։ Փորձեք ձեր հեռախոսում։"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Այս հավելվածը ստեղծվել է Android-ի ավելի հին տարբերակի համար և կարող է պատշաճ չաշխատել: Ստուգեք թարմացումների առկայությունը կամ դիմեք մշակողին:"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Ստուգել նոր տարբերակի առկայությունը"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Դուք ունեք նոր հաղորդագրություններ"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ԲԱՑԵԼ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Հայտնաբերվել է վնասաբեր հավելված"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Հասանելի դարձնե՞լ <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> հավելվածին սարքի բոլոր մատյանները"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Թույլատրել մեկանգամյա մուտքը"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Չթույլատրել"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Այն, ինչ տեղի է ունենում ձեր սարքում, գրանցվում է սարքի մատյաններում։ Հավելվածները կարող են դրանք օգտագործել անսարքությունները հայտնաբերելու և վերացնելու նպատակով։\n\nՔանի որ որոշ մատյաններ անձնական տեղեկություններ են պարունակում, խորհուրդ ենք տալիս հասանելի դարձնել ձեր սարքի բոլոր մատյանները միայն այն հավելվածներին, որոնց վստահում եք։ \n\nԵթե այս հավելվածին նման թույլտվություն չեք տվել, դրան նախկինի պես հասանելի կլինեն իր մատյանները։ Հնարավոր է՝ ձեր սարքի արտադրողին ևս հասանելի լինեն սարքի որոշ մատյաններ և տեղեկություններ։ Իմանալ ավելին"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Այլևս ցույց չտալ"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Հպեք՝ ավելին իմանալու և կարգավորումները փոխելու համար:"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"«Չանհանգստացնել» ռեժիմի կարգավորումները փոխվել են"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Հպեք՝ տեսնելու, թե ինչ է արգելափակվել:"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Համակարգ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Կարգավորումներ"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Տեսախցիկ"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"«<xliff:g id="MESSAGE">%1$s</xliff:g>» հաղորդագրությունը թարգմանված է։"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Հաղորդագրությունը <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>ից թարգմանվել է <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>։"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Ակտիվ հավելվածներ ֆոնային ռեժիմում"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Հավելվածն օգտագործում է մարտկոցի լիցքը"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Հավելվածը դեռ ակտիվ է"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> հավելվածն օգտագործում է մարտկոցի լիցքը ֆոնային ռեժիմում։ Հպեք՝ մանրամասները տեսնելու համար։"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> հավելվածը կարող է ազդել մարտկոցի աշխատաժամանակի վրա։ Հպեք՝ ակտիվ հավելվածները տեսնելու համար։"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Ստուգել ակտիվ հավելվածները"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Հնարավոր չէ օգտագործել հեռախոսի տեսախցիկը ձեր <xliff:g id="DEVICE">%1$s</xliff:g> սարքից"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Հնարավոր չէ օգտագործել պլանշետի տեսախցիկը ձեր <xliff:g id="DEVICE">%1$s</xliff:g> սարքից"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 96d3809..3ab2263 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Dinonaktifkan sementara oleh operator untuk SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Tidak dapat menjangkau jaringan seluler"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Coba ubah jaringan pilihan. Ketuk untuk mengubah."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Panggilan darurat mungkin tidak tersedia"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> tidak mendukung panggilan darurat melalui Wi-Fi. Ketuk untuk melihat detailnya."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Panggilan darurat tidak tersedia"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Tidak dapat melakukan panggilan darurat melalui Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Notifikasi"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Penerusan panggilan"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mode telepon balik darurat"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Error saat mengautentikasi"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Gunakan kunci layar"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Masukkan kunci layar untuk melanjutkan"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Tekan sensor dengan kuat"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Tidak dapat memproses sidik jari. Coba lagi."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Bersihkan sensor sidik jari lalu coba lagi"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Bersihkan sensor lalu coba lagi"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Sidik jari tidak dikenali"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Sidik jari tidak dikenali"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Sidik jari diautentikasi"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Wajah diautentikasi"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Wajah diautentikasi, silakan tekan konfirmasi"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak tersedia saat ini."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> tidak tersedia"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Perlu izin"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Aplikasi ini tidak dapat diakses di <xliff:g id="DEVICE">%1$s</xliff:g> untuk saat ini. Coba di perangkat Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Aplikasi ini tidak dapat diakses di <xliff:g id="DEVICE">%1$s</xliff:g> untuk saat ini. Coba di tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Aplikasi ini tidak dapat diakses di <xliff:g id="DEVICE">%1$s</xliff:g> untuk saat ini. Coba di ponsel."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Aplikasi ini dibuat untuk Android versi lama dan mungkin tidak berfungsi sebagaimana mestinya. Coba periksa apakah ada update, atau hubungi developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Periksa apakah ada update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Ada pesan baru"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"TETAP BUKA"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Aplikasi berbahaya terdeteksi"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Izinkan <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> mengakses semua log perangkat?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Izinkan akses satu kali"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Jangan izinkan"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Log perangkat merekam hal-hal yang terjadi di perangkat Anda. Aplikasi dapat menggunakan log ini untuk menemukan dan memperbaiki masalah.\n\nBeberapa log mungkin berisi info sensitif, jadi hanya izinkan aplikasi yang Anda percayai untuk mengakses semua log perangkat. \n\nJika Anda tidak mengizinkan aplikasi ini mengakses semua log perangkat, aplikasi masih dapat mengakses log-nya sendiri. Produsen perangkat masih dapat mengakses beberapa log atau info di perangkat Anda. Pelajari lebih lanjut"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Jangan tampilkan lagi"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Ketuk untuk mempelajari lebih lanjut dan mengubah."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Jangan Ganggu telah berubah"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Ketuk untuk memeriksa item yang diblokir."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Setelan"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> Diterjemahkan."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Pesan diterjemahkan dari bahasa <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> ke <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktivitas Latar Belakang"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Aplikasi sedang menggunakan daya baterai"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Aplikasi masih aktif"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> sedang menggunakan daya baterai di latar belakang. Ketuk untuk meninjau."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> mungkin memengaruhi masa pakai baterai. Ketuk untuk meninjau aplikasi aktif."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Periksa aplikasi aktif"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Tidak dapat mengakses kamera ponsel dari <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Tidak dapat mengakses kamera tablet dari <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index c06c822..60b571d 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Símafyrirtækið slökkti tímabundið á þessu fyrir SIM-kort <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Ekki næst samband við farsímakerfi"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Prófaðu að velja annað símkerfi. Ýttu til að breyta."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Neyðarsímtöl eru hugsanlega ekki tiltæk"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> styður ekki neyðarsímtöl um Wi-Fi. Ýttu til að fá frekari upplýsingar."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Neyðarsímtöl eru ekki í boði"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Ekki er hægt að hringja neyðarsímtöl með Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Tilkynningar"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Símtalsflutningur"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Stilling fyrir svarhringingu neyðarsímtala"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Villa við auðkenningu"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Nota skjálás"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Sláðu inn skjálásinn þinn til að halda áfram"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Ýttu ákveðið á lesarann"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Ekki var hægt að vinna úr fingrafarinu. Reyndu aftur."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Hreinsaðu fingrafaralesarann og reyndu aftur"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Hreinsaðu lesarann og reyndu aftur"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Ekki þekkt fingrafar"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Fingrafar þekkist ekki"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingrafar staðfest"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Andlit staðfest"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Andlit staðfest, ýttu til að staðfesta"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> er ekki tiltækt núna."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ekki í boði"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Heimildar krafist"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Aðgangur að þessu í <xliff:g id="DEVICE">%1$s</xliff:g> er ekki í boði eins og er. Prófaðu það í Android TV tækinu í staðinn."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Aðgangur að þessu í <xliff:g id="DEVICE">%1$s</xliff:g> er ekki í boði eins og er. Prófaðu það í spjaldtölvunni í staðinn."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Aðgangur að þessu í <xliff:g id="DEVICE">%1$s</xliff:g> er ekki í boði eins og er. Prófaðu það í símanum í staðinn."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Þetta forrit var hannað fyrir eldri útgáfu af Android og ekki er víst að það virki eðlilega. Athugaðu hvort uppfærslur séu í boði eða hafðu samband við þróunaraðilann."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Leita að uppfærslu"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Þú ert með ný skilaboð"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"OPNA SAMT"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Skaðlegt forrit fannst"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Veita <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> aðgang að öllum annálum í tækinu?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Leyfa aðgang í eitt skipti"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Ekki leyfa"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Annálar tækisins skrá það sem gerist í tækinu. Forrit geta notað þessa annála til að finna og lagfæra vandamál.\n\nTilteknir annálar innihalda viðkvæmar upplýsingar og því skaltu einungis veita forritum sem þú treystir aðgang að öllum annálum tækisins. \n\nEf þú veitir þessu forriti ekki aðgang að öllum annálum tækisins hefur það áfram aðgang að eigin annálum. Framleiðandi tækisins getur þó hugsanlega opnað tiltekna annála eða upplýsingar í tækinu. Nánar"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ekki sýna aftur"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Ýttu til að fá frekari upplýsingar og breyta."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"„Ónáðið ekki“ var breytt"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Ýttu til að skoða hvað lokað hefur verið á."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Kerfi"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Stillingar"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Myndavél"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> var þýtt."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Skilaboð þýdd úr <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> á <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Bakgrunnsvirkni"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Forrit notar rafhlöðuorku"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Forrit er enn virkt"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> notar rafhlöðuorku í bakgrunni. Ýttu til að skoða."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> gæti haft áhrif á rafhlöðuendingu. Ýttu til að skoða virk forrit."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Skoða virk forrit"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Ekki er hægt að opna myndavél símans úr <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Ekki er hægt að opna myndavél spjaldtölvunnar úr <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 2635637..f1771aa 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Servizio disattivato temporaneamente dall\'operatore per la SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Impossibile raggiungere la rete mobile"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Prova a cambiare la rete preferita. Tocca per cambiare."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Le chiamate di emergenza potrebbero non essere disponibili"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> non supporta le chiamate di emergenza tramite Wi-Fi. Tocca per conoscere i dettagli."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Chiamate di emergenza non disponibili"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Impossibile fare chiamate di emergenza tramite Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Avvisi"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Deviazione chiamate"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modalità di richiamata di emergenza"</string>
@@ -1613,7 +1613,7 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"Visualizzazione wireless"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"Trasmetti"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"Connetti al dispositivo"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Trasmetti schermo a"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Trasmetti schermo al dispositivo"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"Ricerca di dispositivi in corso…"</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Impostazioni"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"Disconnetti"</string>
@@ -1696,7 +1696,7 @@
<string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"Usa scorciatoia"</string>
<string name="color_inversion_feature_name" msgid="326050048927789012">"Inversione dei colori"</string>
<string name="color_correction_feature_name" msgid="3655077237805422597">"Correzione del colore"</string>
- <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modalità one-hand"</string>
+ <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Modalità a una mano"</string>
<string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Attenuazione extra"</string>
<string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tieni premuti i tasti del volume. Servizio <xliff:g id="SERVICE_NAME">%1$s</xliff:g> attivato."</string>
<string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tieni premuti i tasti del volume. Servizio <xliff:g id="SERVICE_NAME">%1$s</xliff:g> disattivato."</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"L\'app <xliff:g id="APP_NAME">%1$s</xliff:g> non è al momento disponibile."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> non disponibile"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"È necessaria l\'autorizzazione"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Al momento non è possibile accedere a questa app su <xliff:g id="DEVICE">%1$s</xliff:g>. Prova a usare il dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Al momento non è possibile accedere a questa app su <xliff:g id="DEVICE">%1$s</xliff:g>. Prova a usare il tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Al momento non è possibile accedere a questa app su <xliff:g id="DEVICE">%1$s</xliff:g>. Prova a usare il telefono."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Questa app è stata realizzata per una versione precedente di Android e potrebbe non funzionare correttamente. Prova a verificare la disponibilità di aggiornamenti o contatta lo sviluppatore."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Cerca aggiornamenti"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Hai nuovi messaggi"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tocca per avere ulteriori informazioni e modificare."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"L\'impostazione Non disturbare è cambiata"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tocca per controllare le notifiche bloccate."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Impostazioni"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotocamera"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 3b4866a..44e66589 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"השירות הושבת באופן זמני על ידי הספק עבור SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"לא ניתן להתחבר לרשת הסלולרית"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"אפשר לנסות לשנות את הרשת המועדפת. יש להקיש כדי לשנות אותה."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"יכול להיות ששיחות חירום לא יהיו זמינות"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"ב‑<xliff:g id="SPN">%s</xliff:g> אין תמיכה בשיחות חירום באמצעות Wi‑Fi. יש להקיש לקבלת פרטים."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"שיחות חירום לא זמינות"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"לא ניתן לבצע שיחות חירום דרך Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"התראות"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"העברת שיחות"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"מצב \'התקשרות חזרה בחירום\'"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> לא זמינה בשלב זה."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> לא זמינה"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"דרושה הרשאה"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"אי אפשר לגשת לאפליקציה הזו במכשיר <xliff:g id="DEVICE">%1$s</xliff:g> כרגע. במקום זאת, יש לנסות במכשיר Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"אי אפשר לגשת לאפליקציה הזו במכשיר <xliff:g id="DEVICE">%1$s</xliff:g> כרגע. במקום זאת, יש לנסות בטאבלט."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"אי אפשר לגשת לאפליקציה הזו במכשיר <xliff:g id="DEVICE">%1$s</xliff:g> כרגע. במקום זאת, יש לנסות בטלפון."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"האפליקציה הזו עוצבה לגרסה ישנה יותר של Android וייתכן שלא תפעל כראוי. ניתן לבדוק אם יש עדכונים או ליצור קשר עם המפתח."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"יש עדכון חדש?"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"יש לך הודעות חדשות"</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"אפשר להקיש כדי לקבל מידע נוסף ולבצע שינויים."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"ההגדרה \'נא לא להפריע\' השתנתה"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"יש להקיש כדי לבדוק מה חסום."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"מערכת"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"הגדרות"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"מצלמה"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 139bdc0..c3b84bf 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> は携帯通信会社によって一時的に OFF になっています"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"モバイル ネットワークにアクセスできません"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"タップして、優先ネットワークを変更してください。"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"緊急通報が利用できない可能性があります"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> は Wi-Fi 経由の緊急通報をサポートしていません。タップして詳細をご確認ください。"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"緊急通報は利用できません"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi では緊急通報ができません"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"通知"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"電話の転送"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"緊急通報待機モード"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"現在 <xliff:g id="APP_NAME">%1$s</xliff:g> はご利用になれません。"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g>は利用できません"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"権限が必要"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"現在、<xliff:g id="DEVICE">%1$s</xliff:g> からアクセスできません。Android TV デバイスでのアクセスをお試しください。"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"現在、<xliff:g id="DEVICE">%1$s</xliff:g> からアクセスできません。タブレットでのアクセスをお試しください。"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"現在、<xliff:g id="DEVICE">%1$s</xliff:g> からアクセスできません。スマートフォンでのアクセスをお試しください。"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"このアプリは以前のバージョンの Android 用に作成されており、正常に動作しない可能性があります。アップデートを確認するか、デベロッパーにお問い合わせください。"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"アップデートを確認"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"新着メッセージがあります"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"タップすると、詳細を確認して設定を変更できます。"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"サイレント モードが変わりました"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"タップしてブロック対象をご確認ください。"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"システム"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"設定"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"カメラ"</string>
@@ -2261,8 +2296,8 @@
<string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"アプリがバッテリーを使用しています"</string>
<string name="notification_title_long_running_fgs" msgid="8170284286477131587">"アプリがまだアクティブです"</string>
<string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> がバックグラウンドでバッテリーを使用しています。タップしてご確認ください。"</string>
- <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> がバッテリー駆動時間に影響を与えている可能性があります。タップして、アクティブなアプリをご確認ください。"</string>
- <string name="notification_action_check_bg_apps" msgid="4758877443365362532">"有効なアプリをチェック"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> がバッテリー駆動時間に影響を与えている可能性があります。タップして、実行中のアプリをご確認ください。"</string>
+ <string name="notification_action_check_bg_apps" msgid="4758877443365362532">"実行中のアプリをチェック"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"<xliff:g id="DEVICE">%1$s</xliff:g> からスマートフォンのカメラにアクセスできません"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"<xliff:g id="DEVICE">%1$s</xliff:g> からタブレットのカメラにアクセスできません"</string>
<string name="system_locale_title" msgid="3978041860457277638">"システムの言語"</string>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 27d1801..82e02f8 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"დროებით გამორთულია თქვენი ოპერატორის მიერ SIM-ისთვის (<xliff:g id="SIMNUMBER">%d</xliff:g>)"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"მობილურ ქსელთან დაკავშირება ვერ ხერხდება"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ცადეთ უპირატესი ქსელის შეცვლა. შეეხეთ შესაცვლელად."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"გადაუდებელი ზარები შეიძლება მიუწვდომელი იყოს"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> არ აქვს გადაუდებელი ზარების მხარდაჭერა Wi-Fi-ით. შეეხეთ დეტალების სანახავად."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"გადაუდებელი ზარი მიუწვდომელია"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"გადაუდებელი ზარები Wi‑Fi-ს მეშვეობით ვერ განხორციელდება"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"გაფრთხილებები"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ზარის გადამისამართება"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"გადაუდებელი გადმორეკვის რეჟიმი"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ამჟამად მიუწვდომელია."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> მიუწვდომელია"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"საჭიროა ნებართვა"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ამჟამად ამ აპზე თქვენი <xliff:g id="DEVICE">%1$s</xliff:g>-დან წვდომა შეუძლებელია. ცადეთ Android TV მოწყობილობიდან."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ამჟამად ამ აპზე თქვენი <xliff:g id="DEVICE">%1$s</xliff:g>-დან წვდომა შეუძლებელია. ცადეთ ტაბლეტიდან."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ამჟამად ამ აპზე თქვენი <xliff:g id="DEVICE">%1$s</xliff:g>-დან წვდომა შეუძლებელია. ცადეთ ტელეფონიდან."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ეს აპი Android-ის ძველი ვერსიისთვის შეიქმნა და შესაძლოა სათანადოდ არ მუშაობდეს. გადაამოწმეთ განახლებები ან დაუკავშირდით დეველოპერს."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"განახლების შემოწმება"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"თქვენ ახალი შეტყობინებები გაქვთ"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"შეეხეთ მეტის გასაგებად და შესაცვლელად."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"„არ შემაწუხოთ“ რეჟიმი შეცვლილია"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"შეეხეთ იმის სანახავად, თუ რა არის დაბლოკილი."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"სისტემა"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"პარამეტრები"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"კამერა"</string>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index c7d3146..7fd0beb 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Оператор SIM <xliff:g id="SIMNUMBER">%d</xliff:g> картасы үшін уақытша өшірді"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Мобильдік желіге қосылу мүмкін емес"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Таңдаулы желіні өзгертіп көріңіз. Өзгерту үшін түртіңіз."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Құтқару қызметіне қоңырау шалу қолжетімсіз болуы мүмкін"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> операторында Wi-Fi арқылы құтқару қызметіне қоңырау шалу қарастырылмаған. Мәлімет алу үшін түртіңіз."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Жедел қызметке қоңырау шалу мүмкін емес"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi-Fi арқылы жедел қызметке қоңырау шалу мүмкін емес"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Дабылдар"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Қоңырауды басқа нөмірге бағыттау"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Шұғыл кері қоңырау шалу режимі"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Аутентификациялауда қате шықты."</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Экран құлпын пайдалану"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Жалғастыру үшін экран құлпын енгізіңіз."</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Сканерді қатты басыңыз."</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Саусақ ізін өңдеу мүмкін емес. Әрекетті қайталаңыз."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Саусақ ізін оқу сканерін тазалап, әрекетті қайталаңыз."</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Сканерді тазалап, әрекетті қайталаңыз."</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Саусақ ізі танылмады."</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Саусақ ізі танылмады."</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Саусақ ізі аутентификацияланды"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Бет танылды"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Бет танылды, \"Растау\" түймесін басыңыз"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> қазір қолжетімді емес."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> қолжетімсіз"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Рұқсат қажет"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Қазір бұған <xliff:g id="DEVICE">%1$s</xliff:g> құрылғысынан кіру мүмкін емес. Оның орнына Android TV құрылғысын пайдаланып көріңіз."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Қазір бұған <xliff:g id="DEVICE">%1$s</xliff:g> құрылғысынан кіру мүмкін емес. Оның орнына планшетті пайдаланып көріңіз."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Қазір бұған <xliff:g id="DEVICE">%1$s</xliff:g> құрылғысынан кіру мүмкін емес. Оның орнына телефонды пайдаланып көріңіз."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Қолданба Android жүйесінің ескі нұсқасына арналған және дұрыс жұмыс істемеуі мүмкін. Жаңартылған нұсқаны тексеріңіз немесе әзірлеушіге хабарласыңыз."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Жаңарту бар-жоғын тексеру"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Сізде жаңа хабарлар бар"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"БӘРІБІР АШУ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Зиянды қолданба анықталды"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> қолданбасына барлық құрылғының журналын пайдалануға рұқсат берілсін бе?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Бір реттік пайдалану рұқсатын беру"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Рұқсат бермеу"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Журналдарға құрылғыда не болып жатқаны жазылады. Қолданбалар осы журналдарды қате тауып, түзету үшін пайдаланады.\n\nКейбір журналдарда құпия ақпарат болуы мүмкін. Сондықтан барлық құрылғының журналын пайдалану рұқсаты тек сенімді қолданбаларға берілуі керек. \n\nБұл қолданбаға барлық құрылғының журналын пайдалануға рұқсат бермесеңіз де, ол өзінің журналдарын пайдалана береді. Құрылғы өндірушісі де құрылғыдағы кейбір журналдарды немесе ақпаратты пайдалануы мүмкін. Толығырақ"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Қайта көрсетілмесін"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Толығырақ ақпарат алу және өзгерту үшін түртіңіз."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Мазаламау режимі өзгерді"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Түймені түртіп, неге тыйым салынатынын көріңіз."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Жүйе"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Параметрлер"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"\"<xliff:g id="MESSAGE">%1$s</xliff:g>\" хабары аударылды."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Хабар мына тілге аударылды: <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>. Түпнұсқаның тілі: <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Фондық режимдегі әрекет"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Қолданба батареяны пайдаланып жатыр"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Қолданба әлі белсенді"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> қолданбасы батареяны фондық режимде пайдаланып жатыр. Көру үшін түртіңіз."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> қолданбасы батарея жұмысының ұзақтығына әсер етуі мүмкін. Белсенді қолданбаларды қарап шығу үшін түртіңіз."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Белсенді қолданбаларды тексеру"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"<xliff:g id="DEVICE">%1$s</xliff:g> құрылғысынан телефон камерасын пайдалану мүмкін емес."</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"<xliff:g id="DEVICE">%1$s</xliff:g> құрылғысынан планшет камерасын пайдалану мүмкін емес."</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 0bd2305..8705715 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"បិទដោយក្រុមហ៊ុនសេវាទូរសព្ទរបស់អ្នកជាបណ្តោះអាសន្ន សម្រាប់ស៊ីមទី <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"មិនអាចភ្ជាប់បណ្ដាញទូរសព្ទចល័តបានទេ"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"សាកល្បងប្ដូរទៅបណ្ដាញដែលចង់ប្រើ។ សូមចុចដើម្បីផ្លាស់ប្ដូរ។"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ប្រហែលជាមិនអាចហៅទៅលេខសង្គ្រោះបន្ទាន់បានទេ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> មិនអាចហៅទៅលេខសង្គ្រោះបន្ទាន់តាម Wi-Fi បានទេ។ សូមចុចដើម្បីទទួលបានព័ត៌មានលម្អិត។"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"មិនអាចប្រើការហៅបន្ទាន់បានទេ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"មិនអាចធ្វើការហៅបន្ទាន់តាម Wi‑Fi បានទេ"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ការជូនដំណឹង"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ការបញ្ជូនការហៅទូរសព្ទបន្ត"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"មុខងារហៅត្រឡប់វិញបន្ទាន់"</string>
@@ -1176,7 +1176,7 @@
<string name="whichGiveAccessToApplicationLabel" msgid="7805857277166106236">"ផ្តល់សិទ្ធិចូលប្រើ"</string>
<string name="whichEditApplication" msgid="6191568491456092812">"កែសម្រួលជាមួយ"</string>
<string name="whichEditApplicationNamed" msgid="8096494987978521514">"កែសម្រួលជាមួយ %1$s"</string>
- <string name="whichEditApplicationLabel" msgid="1463288652070140285">"កែសម្រួល"</string>
+ <string name="whichEditApplicationLabel" msgid="1463288652070140285">"កែ"</string>
<string name="whichSendApplication" msgid="4143847974460792029">"ចែករំលែក"</string>
<string name="whichSendApplicationNamed" msgid="4470386782693183461">"ចែករំលែកជាមួយ %1$s"</string>
<string name="whichSendApplicationLabel" msgid="7467813004769188515">"ចែករំលែក"</string>
@@ -1564,7 +1564,7 @@
<string name="storage_usb_drive" msgid="448030813201444573">"ឧបករណ៍ផ្ទុក USB"</string>
<string name="storage_usb_drive_label" msgid="6631740655876540521">"ឧបករណ៍ផ្ទុក USB <xliff:g id="MANUFACTURER">%s</xliff:g>"</string>
<string name="storage_usb" msgid="2391213347883616886">"ឧបករណ៍ផ្ទុកយូអេសប៊ី"</string>
- <string name="extract_edit_menu_button" msgid="63954536535863040">"កែសម្រួល"</string>
+ <string name="extract_edit_menu_button" msgid="63954536535863040">"កែ"</string>
<string name="data_usage_warning_title" msgid="9034893717078325845">"ការព្រមានពីការប្រើទិន្នន័យ"</string>
<string name="data_usage_warning_body" msgid="1669325367188029454">"អ្នកបានប្រើទិន្នន័យអស់ <xliff:g id="APP">%s</xliff:g>"</string>
<string name="data_usage_mobile_limit_title" msgid="3911447354393775241">"បានឈានដល់ចំនួនកម្រិតនៃទិន្នន័យទូរសព្ទចល័តហើយ"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"មិនអាចប្រើ <xliff:g id="APP_NAME">%1$s</xliff:g> នៅពេលនេះបានទេ។"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"មិនអាចប្រើ <xliff:g id="ACTIVITY">%1$s</xliff:g> បានទេ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"តម្រូវឱ្យមានការអនុញ្ញាត"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"មិនអាចប្រើកម្មវិធីនេះនៅលើ <xliff:g id="DEVICE">%1$s</xliff:g> របស់អ្នកនៅពេលនេះបានទេ។ សូមសាកល្បងប្រើនៅលើឧបករណ៍ Android TV របស់អ្នកជំនួសវិញ។"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"មិនអាចប្រើកម្មវិធីនេះនៅលើ <xliff:g id="DEVICE">%1$s</xliff:g> របស់អ្នកនៅពេលនេះបានទេ។ សូមសាកល្បងប្រើនៅលើថេប្លេតរបស់អ្នកជំនួសវិញ។"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"មិនអាចប្រើកម្មវិធីនេះនៅលើ <xliff:g id="DEVICE">%1$s</xliff:g> របស់អ្នកនៅពេលនេះបានទេ។ សូមសាកល្បងប្រើនៅលើទូរសព្ទរបស់អ្នកជំនួសវិញ។"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"កម្មវិធីនេះត្រូវបានបង្កើតឡើងសម្រាប់កំណែប្រព័ន្ធប្រតិបត្តិការ Android ចាស់ ហើយវាអាចដំណើរការខុសប្រក្រតី។ សូមសាកល្បងពិនិត្យមើលកំណែថ្មី ឬទាក់ទងទៅអ្នកអភិវឌ្ឍន៍។"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"រកមើលកំណែថ្មី"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"អ្នកមានសារថ្មី"</string>
@@ -2031,7 +2058,7 @@
<string name="log_access_confirmation_body" msgid="6581985716241928135">"កំណត់ហេតុឧបករណ៍កត់ត្រាអ្វីដែលកើតឡើងនៅលើឧបករណ៍របស់អ្នក។ កម្មវិធីអាចប្រើកំណត់ហេតុទាំងនេះដើម្បីស្វែងរក និងដោះស្រាយបញ្ហាបាន។\n\nកំណត់ហេតុមួយចំនួនអាចមានព័ត៌មានរសើប ដូច្នេះគួរអនុញ្ញាតឱ្យចូលប្រើកំណត់ហេតុឧបករណ៍ទាំងអស់សម្រាប់តែកម្មវិធីដែលអ្នកទុកចិត្តប៉ុណ្ណោះ។ \n\nប្រសិនបើអ្នកមិនអនុញ្ញាតឱ្យកម្មវិធីនេះចូលប្រើកំណត់ហេតុឧបករណ៍ទាំងអស់ទេ វានៅតែអាចចូលប្រើកំណត់ហេតុរបស់វាផ្ទាល់បាន។ ក្រុមហ៊ុនផលិតឧបករណ៍របស់អ្នកប្រហែលជានៅតែអាចចូលប្រើកំណត់ហេតុ ឬព័ត៌មានមួយចំនួននៅលើឧបករណ៍របស់អ្នកបានដដែល។ ស្វែងយល់បន្ថែម"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"កុំបង្ហាញម្ដងទៀត"</string>
<string name="slices_permission_request" msgid="3677129866636153406">"<xliff:g id="APP_0">%1$s</xliff:g> ចង់បង្ហាញស្ថិតិប្រើប្រាស់របស់ <xliff:g id="APP_2">%2$s</xliff:g>"</string>
- <string name="screenshot_edit" msgid="7408934887203689207">"កែសម្រួល"</string>
+ <string name="screenshot_edit" msgid="7408934887203689207">"កែ"</string>
<string name="volume_dialog_ringer_guidance_vibrate" msgid="2055927873175228519">"ការហៅទូរសព្ទ និងការជូនដំណឹងនឹងញ័រ"</string>
<string name="volume_dialog_ringer_guidance_silent" msgid="1011246774949993783">"ការហៅទូរសព្ទ និងការជូនដំណឹងនឹងបិទសំឡេង"</string>
<string name="notification_channel_system_changes" msgid="2462010596920209678">"ការផ្លាស់ប្ដូរប្រព័ន្ធ"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ចុចដើម្បីស្វែងយល់បន្ថែម និងផ្លាស់ប្ដូរ។"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"មុខងារកុំរំខានត្រូវបានប្ដូរ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"សូមចុចដើម្បីមើលថាបានទប់ស្កាត់អ្វីខ្លះ។"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ប្រព័ន្ធ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ការកំណត់"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"កាមេរ៉ា"</string>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index c1e1ba4..a6148d9 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ಸಿಮ್ <xliff:g id="SIMNUMBER">%d</xliff:g> ಗಾಗಿ ನಿಮ್ಮ ವಾಹಕದ ಮೂಲಕ ತಾತ್ಕಾಲಿಕವಾಗಿ ಆಫ್ ಮಾಡಲಾಗಿದೆ"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ತಲುಪಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ಆದ್ಯತೆಗೊಳಿಸಿದ ನೆಟ್ವರ್ಕ್ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿ. ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ತುರ್ತು ಕರೆಗಳು ಲಭ್ಯವಿಲ್ಲದಿರಬಹುದು"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"ವೈ-ಫೈ ಮೂಲಕ ತುರ್ತು ಕರೆಗಳನ್ನು <xliff:g id="SPN">%s</xliff:g> ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ವಿವರಗಳಿಗಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"ತುರ್ತು ಕರೆ ಮಾಡುವಿಕೆ ಲಭ್ಯವಿಲ್ಲ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ವೈ-ಫೈ ಮೂಲಕ ತುರ್ತು ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ಎಚ್ಚರಿಕೆಗಳು"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ಕರೆ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"ತುರ್ತು ಕಾಲ್ಬ್ಯಾಕ್ ಮೋಡ್"</string>
@@ -1201,7 +1201,7 @@
<string name="aerr_process_repeated" msgid="1153152413537954974">"<xliff:g id="PROCESS">%1$s</xliff:g> ನಿಲ್ಲುತ್ತಲೇ ಇರುತ್ತದೆ"</string>
<string name="aerr_restart" msgid="2789618625210505419">"ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತೆ ತೆರೆಯಿರಿ"</string>
<string name="aerr_report" msgid="3095644466849299308">"ಪ್ರತಿಕ್ರಿಯೆ ಕಳುಹಿಸಿ"</string>
- <string name="aerr_close" msgid="3398336821267021852">"ಮುಚ್ಚು"</string>
+ <string name="aerr_close" msgid="3398336821267021852">"ಮುಚ್ಚಿ"</string>
<string name="aerr_mute" msgid="2304972923480211376">"ಸಾಧನವು ಮರುಪ್ರಾರಂಭವಾಗುವವರೆಗೂ ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
<string name="aerr_wait" msgid="3198677780474548217">"ನಿರೀಕ್ಷಿಸು"</string>
<string name="aerr_close_app" msgid="8318883106083050970">"ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮುಚ್ಚಿ"</string>
@@ -1613,10 +1613,10 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"ವಯರ್ಲೆಸ್ ಪ್ರದರ್ಶನ"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"ಪಾತ್ರ"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಿಸಿ"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ಪರದೆಯನ್ನು ಸಾಧನದಲ್ಲಿ ಬಿತ್ತರಿಸಿ"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"ಸ್ಕ್ರೀನ್ ಅನ್ನು ಸಾಧನದಲ್ಲಿ ಬಿತ್ತರಿಸಿ"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"ಸಾಧನಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
- <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು"</string>
+ <string name="media_route_controller_disconnect" msgid="7362617572732576959">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ"</string>
<string name="media_route_status_scanning" msgid="8045156315309594482">"ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
<string name="media_route_status_connecting" msgid="5845597961412010540">"ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ..."</string>
<string name="media_route_status_available" msgid="1477537663492007608">"ಲಭ್ಯ"</string>
@@ -1899,7 +1899,7 @@
<string name="floating_toolbar_open_overflow_description" msgid="2260297653578167367">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
<string name="floating_toolbar_close_overflow_description" msgid="3949818077708138098">"ಓವರ್ಫ್ಲೋ ಮುಚ್ಚು"</string>
<string name="maximize_button_text" msgid="4258922519914732645">"ಹಿಗ್ಗಿಸು"</string>
- <string name="close_button_text" msgid="10603510034455258">"ಮುಚ್ಚು"</string>
+ <string name="close_button_text" msgid="10603510034455258">"ಮುಚ್ಚಿ"</string>
<string name="notification_messaging_title_template" msgid="772857526770251989">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string>
<string name="call_notification_answer_action" msgid="5999246836247132937">"ಉತ್ತರಿಸಿ"</string>
<string name="call_notification_answer_video_action" msgid="2086030940195382249">"ವೀಡಿಯೊ"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ಇದೀಗ ಲಭ್ಯವಿಲ್ಲ."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ಲಭ್ಯವಿಲ್ಲ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ಅನುಮತಿಯ ಅಗತ್ಯವಿದೆ"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ಈ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ <xliff:g id="DEVICE">%1$s</xliff:g> ನಲ್ಲಿ ಇದನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದರ ಬದಲು ನಿಮ್ಮ Android TV ಸಾಧನದಲ್ಲಿ ಪ್ರಯತ್ನಿಸಿ."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ಈ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ <xliff:g id="DEVICE">%1$s</xliff:g> ನಲ್ಲಿ ಇದನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದರ ಬದಲು ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ನಲ್ಲಿ ಪ್ರಯತ್ನಿಸಿ."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ಈ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ <xliff:g id="DEVICE">%1$s</xliff:g> ನಲ್ಲಿ ಇದನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದರ ಬದಲು ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ಈ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು Android ನ ಹಳೆಯ ಆವೃತ್ತಿಗೆ ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು. ಅಪ್ಡೇಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ಡೆವಲಪರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ಅಪ್ಡೇಟ್ಗಾಗಿ ಪರಿಶೀಲಿಸಿ"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"ನೀವು ಹೊಸ ಸಂದೇಶಗಳನ್ನು ಹೊಂದಿರುವಿರಿ"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ಇನ್ನಷ್ಟು ತಿಳಿಯಲು ಮತ್ತು ಬದಲಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಬದಲಾಗಿದೆ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"ಏನನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಪರೀಕ್ಷಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ಸಿಸ್ಟಂ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ಕ್ಯಾಮರಾ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index 960e305..3b5518a 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"이동통신사에서 SIM <xliff:g id="SIMNUMBER">%d</xliff:g>의 서비스를 일시적으로 사용 중지했습니다."</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"모바일 네트워크에 연결할 수 없습니다."</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"기본 네트워크를 변경해 보세요. 탭하여 변경할 수 있습니다."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"긴급 전화를 사용할 수 없음"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>에서는 Wi-Fi를 통한 긴급 전화를 지원하지 않습니다. 탭하여 세부정보를 확인하세요."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"긴급 전화를 사용할 수 없습니다."</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi로는 긴급 전화를 걸 수 없습니다."</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"알림"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"착신전환"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"긴급 콜백 모드"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"인증 오류"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"화면 잠금 사용"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"계속하려면 화면 잠금용 사용자 인증 정보를 입력하세요"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"센서 위에 손가락을 좀 더 오래 올려놓으세요."</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"지문을 인식할 수 없습니다. 다시 시도해 주세요."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"지문 센서를 닦은 후 다시 시도해 보세요."</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"센서를 닦은 후 다시 시도해 보세요."</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"지문이 인식되지 않습니다."</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"지문을 인식할 수 없습니다."</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"지문이 인증됨"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"얼굴이 인증되었습니다"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"얼굴이 인증되었습니다. 확인을 누르세요"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"현재 <xliff:g id="APP_NAME">%1$s</xliff:g> 앱을 사용할 수 없습니다."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> 사용할 수 없음"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"권한이 필요함"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"현재 <xliff:g id="DEVICE">%1$s</xliff:g>에서 액세스할 수 없습니다. 대신 Android TV 기기에서 시도해 보세요."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"현재 <xliff:g id="DEVICE">%1$s</xliff:g>에서 액세스할 수 없습니다. 대신 태블릿에서 시도해 보세요."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"현재 <xliff:g id="DEVICE">%1$s</xliff:g>에서 액세스할 수 없습니다. 대신 스마트폰에서 시도해 보세요."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"이 앱은 Android 이전 버전에 맞게 개발되었기 때문에 제대로 작동하지 않을 수 있습니다. 업데이트를 확인하거나 개발자에게 문의하세요."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"업데이트 확인"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"새 메시지 있음"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"열기"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"유해한 앱 감지됨"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>에서 모든 기기에 액세스하도록 허용하시겠습니까?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"일회성 액세스 허용"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"허용 안함"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"기기 로그에 기기에서 발생한 상황이 기록됩니다. 앱은 문제를 찾고 해결하는 데 이 로그를 사용할 수 있습니다.\n\n일부 로그는 민감한 정보를 포함할 수 있으므로 신뢰할 수 있는 앱만 모든 기기 로그에 액세스하도록 허용하세요. \n\n앱에 전체 기기 로그에 대한 액세스 권한을 부여하지 않아도 앱이 자체 로그에는 액세스할 수 있습니다. 기기 제조업체에서 일부 로그 또는 기기 내 정보에 액세스할 수도 있습니다. 자세히 알아보기"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"다시 표시 안함"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"자세히 알아보고 변경하려면 탭하세요."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"방해 금지 모드 변경"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"차단된 항목을 확인하려면 탭하세요."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"시스템"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"설정"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"카메라"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"다음 메시지가 번역되었습니다. <xliff:g id="MESSAGE">%1$s</xliff:g>"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"메시지가 <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>에서 <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>로 번역되었습니다."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"백그라운드 활동"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"앱이 배터리를 사용 중임"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"앱이 여전히 활성 상태임"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> 앱이 백그라운드에서 배터리를 사용하고 있습니다. 확인하려면 탭하세요."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> 앱은 배터리 수명에 영향을 미칠 수 있습니다. 활성 상태인 앱을 확인하려면 탭하세요."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"활성 상태의 앱 확인"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"사용자의 <xliff:g id="DEVICE">%1$s</xliff:g>에서 휴대전화 카메라에 액세스할 수 없습니다."</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"사용자의 <xliff:g id="DEVICE">%1$s</xliff:g>에서 태블릿 카메라에 액세스할 수 없습니다."</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 79d275e..f56abd5 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> үчүн байланыш оператору тарабынан убактылуу бөгөттөлгөн"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Мобилдик тармакка туташпай жатат"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Тандалган тармакты өзгөртүп көрүңүз. Өзгөртүү үчүн таптаңыз."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Шашылыш чалуулар жеткиликсиз болушу мүмкүн"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi аркылуу шашылыш чалууларды колдоого албайт. Чоо-жайын көрүү үчүн таптап коюңуз."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Шашылыш чалуу жеткиликсиз"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi-Fi аркылуу шашылыш чалуулар иштетилген жок"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Шашылыш билдирүүлөр"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Чалууну башка номерге багыттоо"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Шашылыш кайра чалуу режими"</string>
@@ -1694,9 +1694,9 @@
<string name="done_accessibility_shortcut_menu_button" msgid="3668407723770815708">"Бүттү"</string>
<string name="disable_accessibility_shortcut" msgid="5806091378745232383">"Кыска жолду өчүрүү"</string>
<string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"Кыска жолду колдонуу"</string>
- <string name="color_inversion_feature_name" msgid="326050048927789012">"Түстү инверсиялоо"</string>
- <string name="color_correction_feature_name" msgid="3655077237805422597">"Түсүн тууралоо"</string>
- <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Бир колдуу режим"</string>
+ <string name="color_inversion_feature_name" msgid="326050048927789012">"Түстөрдү инверсиялоо"</string>
+ <string name="color_correction_feature_name" msgid="3655077237805422597">"Түстөрдү тууралоо"</string>
+ <string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Бир кол режими"</string>
<string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Кошумча караңгылатуу"</string>
<string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Үндү катуулатуу/акырындатуу баскычтары басылып, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> күйгүзүлдү."</string>
<string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Үндү катуулатуу/акырындатуу баскычтары басылып, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> өчүрүлдү."</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> учурда жеткиликсиз"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> жеткиликсиз"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Уруксат керек"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Учурда буга <xliff:g id="DEVICE">%1$s</xliff:g> түзмөгүңүздөн кире албайсыз. Android TV түзмөгүңүздөн аракет кылып көрүңүз."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Учурда буга <xliff:g id="DEVICE">%1$s</xliff:g> түзмөгүңүздөн кире албайсыз. Планшетиңизден кирип көрүңүз."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Учурда буга <xliff:g id="DEVICE">%1$s</xliff:g> түзмөгүңүздөн кире албайсыз. Анын ордуна телефондон кирип көрүңүз."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Бул колдонмо Android\'дин эски версиясы үчүн иштеп чыгарылган, андыктан туура эмес иштеши мүмкүн. Жаңыртууларды издеп көрүңүз же иштеп чыгуучуга кайрылыңыз."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Жаңыртууларды текшерүү"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Сизге жаңы билдирүүлөр келди"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Көбүрөөк маалымат алып, өзгөртүү үчүн таптаңыз."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\"Тынчымды алба\" режими өзгөрдү"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Бөгөттөлгөн нерселерди көрүү үчүн таптаңыз."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"Билдирмелердин жөндөөлөрүн карап чыгуу"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"Android 13 версиясында билдирмелерди жөнөтүү үчүн орноткон колдонмолоруңузга уруксат берүү керек. Учурдагы колдонмолор үчүн бул уруксатты өзгөртүү үчүн таптап коюңуз."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"Кийинчерээк эскертүү"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"Жабуу"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"Тутум"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Жөндөөлөр"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
diff --git a/core/res/res/values-land/dimens.xml b/core/res/res/values-land/dimens.xml
index f1e5888..ca549ae 100644
--- a/core/res/res/values-land/dimens.xml
+++ b/core/res/res/values-land/dimens.xml
@@ -27,6 +27,8 @@
<dimen name="password_keyboard_spacebar_vertical_correction">2dip</dimen>
<dimen name="preference_widget_width">72dp</dimen>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height">@dimen/status_bar_height_landscape</dimen>
<!-- Height of area above QQS where battery/time go -->
<dimen name="quick_qs_offset_height">48dp</dimen>
<!-- Default height of an action bar. -->
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index 5f08cb7..545b2dc 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານປິດໄວ້ສຳລັບຊິມ <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ບໍ່ສາມາດຕິດຕໍ່ເຄືອຂ່າຍມືຖືໄດ້"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ໃຫ້ລອງປ່ຽນເຄືອຂ່າຍທີ່ຕ້ອງການ. ແຕະເພື່ອປ່ຽນ."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ການໂທສຸກເສີນອາດບໍ່ສາມາດໃຊ້ໄດ້"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ບໍ່ຮອງຮັບການໂທສຸກເສີນຂ້າມ Wi-Fi. ແຕະເພື່ອເບິ່ງລາຍລະອຽດ."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"ບໍ່ສາມາດໃຊ້ການໂທສຸກເສີນໄດ້"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ບໍ່ສາມາດໂທສຸກເສີນຜ່ານ Wi‑Fi ໄດ້"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ການເຕືອນ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ການໂອນສາຍ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"ໂໝດໂທກັບສຸກເສີນ"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"ເກີດຄວາມຜິດພາດໃນການພິສູດຢືນຢັນ"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"ໃຊ້ການລັອກໜ້າຈໍ"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"ໃສ່ການລັອກໜ້າຈໍຂອງທ່ານເພື່ອສືບຕໍ່"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"ກົດຢູ່ເຊັນເຊີໃຫ້ແໜ້ນ"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"ບໍ່ສາມາດດຳເນີນການລາຍນີ້ວມືໄດ້. ກະລຸນາລອງໃໝ່ອີກ."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"ໃຫ້ອະນາໄມເຊັນເຊີລາຍນິ້ວມືແລ້ວລອງໃໝ່"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"ໃຫ້ອະນາໄມເຊັນເຊີແລ້ວລອງໃໝ່"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"ບໍ່ຮູ້ຈັກລາຍນິ້ວມື"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"ບໍ່ຮູ້ຈັກລາຍນິ້ວມື"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"ພິສູດຢືນຢັນລາຍນິ້ວມືແລ້ວ"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ, ກະລຸນາກົດຢືນຢັນ"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່ສາມາດໃຊ້ໄດ້ໃນຕອນນີ້."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"ບໍ່ສາມາດໃຊ້ <xliff:g id="ACTIVITY">%1$s</xliff:g> ໄດ້"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ຕ້ອງມີການອະນຸຍາດ"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ບໍ່ສາມາດເຂົ້າເຖິງແອັບນີ້ໄດ້ຢູ່ <xliff:g id="DEVICE">%1$s</xliff:g> ຂອງທ່ານໃນຕອນນີ້. ກະລຸນາລອງໃຊ້ຢູ່ອຸປະກອນ Android TV ຂອງທ່ານແທນ."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ບໍ່ສາມາດເຂົ້າເຖິງແອັບນີ້ໄດ້ຢູ່ <xliff:g id="DEVICE">%1$s</xliff:g> ຂອງທ່ານໃນຕອນນີ້. ກະລຸນາລອງຢູ່ແທັບເລັດຂອງທ່ານແທນ."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ບໍ່ສາມາດເຂົ້າເຖິງແອັບນີ້ໄດ້ຢູ່ <xliff:g id="DEVICE">%1$s</xliff:g> ຂອງທ່ານໃນຕອນນີ້. ກະລຸນາລອງຢູ່ໂທລະສັບຂອງທ່ານແທນ."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ແອັບນີ້ຖືກສ້າງຂຶ້ນສຳລັບ Android ເວີຊັນທີ່ເກົ່າກວ່າ ແລະ ອາດເຮັດວຽກໄດ້ບໍ່ປົກກະຕິ. ໃຫ້ລອງກວດສອບເບິ່ງອັບເດດ ຫຼື ຕິດຕໍ່ຜູ້ພັດທະນາ."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ກວດເບິ່ງອັບເດດ"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"ທ່ານມີຂໍ້ຄວາມໃໝ່"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ຢືນຢັນການເປີດ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"ກວດສອບແອັບທີ່ເປັນອັນຕະລາຍ"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"ອະນຸຍາດໃຫ້ <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> ເຂົ້າເຖິງບັນທຶກອຸປະກອນທັງໝົດບໍ?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"ອະນຸຍາດການເຂົ້າເຖິງແບບເທື່ອດຽວ"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"ບໍ່ອະນຸຍາດ"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"ບັນທຶກອຸປະກອນຈະບັນທຶກສິ່ງທີ່ເກີດຂຶ້ນຢູ່ອຸປະກອນຂອງທ່ານ. ແອັບສາມາດໃຊ້ບັນທຶກເຫຼົ່ານີ້ເພື່ອຊອກຫາ ແລະ ແກ້ໄຂບັນຫາໄດ້.\n\nບັນທຶກບາງຢ່າງອາດມີຂໍ້ມູນລະອຽດອ່ອນ, ດັ່ງນັ້ນໃຫ້ອະນຸຍາດສະເພາະແອັບທີ່ທ່ານເຊື່ອຖືໃຫ້ເຂົ້າເຖິງບັນທຶກອຸປະກອນທັງໝົດເທົ່ານັ້ນ. \n\nຫາກທ່ານບໍ່ອະນຸຍາດແອັບນີ້ໃຫ້ເຂົ້າເຖິງບັນທຶກອຸປະກອນທັງໝົດ, ມັນຈະຍັງຄົງສາມາດເຂົ້າເຖິງບັນທຶກຂອງຕົວມັນເອງໄດ້ຢູ່. ຜູ້ຜະລິດອຸປະກອນຂອງທ່ານອາດຍັງຄົງສາມາດເຂົ້າເຖິງບັນທຶກ ຫຼື ຂໍ້ມູນບາງຢ່າງຢູ່ອຸປະກອນຂອງທ່ານໄດ້. ສຶກສາເພີ່ມເຕີມ"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"ບໍ່ຕ້ອງສະແດງອີກ"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ແຕະເພື່ອສຶກສາເພີ່ມເຕີມ ແລະ ປ່ຽນແປງ."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"ປ່ຽນໂໝດຫ້າມລົບກວນແລ້ວ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"ແຕະເພື່ອກວດສອບວ່າມີຫຍັງຖືກບລັອກໄວ້ແດ່."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ລະບົບ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ການຕັ້ງຄ່າ"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ກ້ອງ"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"ແປ <xliff:g id="MESSAGE">%1$s</xliff:g> ແລ້ວ."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"ແປຂໍ້ຄວາມຈາກ <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> ເປັນ <xliff:g id="TO_LANGUAGE">%2$s</xliff:g> ແລ້ວ."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"ການເຄື່ອນໄຫວໃນພື້ນຫຼັງ"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"ມີແອັບກຳລັງໃຊ້ແບັດເຕີຣີ"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"ມີແອັບທີ່ຍັງຄົງນຳໃຊ້ຢູ່"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> ກຳລັງໃຊ້ແບັດເຕີຣີໃນພື້ນຫຼັງ. ແຕະເພື່ອກວດສອບ."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> ອາດສົ່ງຜົນກະທົບຕໍ່ອາຍຸແບັດເຕີຣີ. ແຕະເພື່ອກວດສອບແອັບທີ່ນຳໃຊ້ຢູ່."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"ກວດສອບແອັບທີ່ເຄື່ອນໄຫວ"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"ບໍ່ສາມາດເຂົ້າເຖິງກ້ອງຖ່າຍຮູບຂອງໂທລະສັບຈາກ <xliff:g id="DEVICE">%1$s</xliff:g> ຂອງທ່ານໄດ້"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"ບໍ່ສາມາດເຂົ້າເຖິງກ້ອງຖ່າຍຮູບຂອງແທັບເລັດຈາກ <xliff:g id="DEVICE">%1$s</xliff:g> ຂອງທ່ານໄດ້"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 57a6079..f0a6a0f 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM kortelėje <xliff:g id="SIMNUMBER">%d</xliff:g> laikinai išjungė operatorius"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Nepavyko pasiekti mobiliojo ryšio tinklo"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Pabandykite pakeisti pageidaujamą tinklą. Palieskite, kad pakeistumėte."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Skambučiai pagalbos numeriu gali būti nepasiekiami"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"„<xliff:g id="SPN">%s</xliff:g>“ nepalaiko skambučių pagalbos numeriu „Wi-Fi“ ryšiu. Palieskite, jei reikia išsamios informacijos."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Skambučių pagalbos numeriu paslauga nepasiekiama"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Negalima skambinti pagalbos numeriu naudojant „Wi‑Fi“"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Įspėjimai"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Skambučio peradresavimas"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Atskambinimo pagalbos numeriu režimas"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ šiuo metu nepasiekiama."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"„<xliff:g id="ACTIVITY">%1$s</xliff:g>“ nepasiekiama"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Reikalingas leidimas"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Šįkart nepavyksta pasiekti programos iš jūsų „<xliff:g id="DEVICE">%1$s</xliff:g>“. Pabandykite naudoti „Android TV“ įrenginį."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Šįkart nepavyksta pasiekti programos iš jūsų „<xliff:g id="DEVICE">%1$s</xliff:g>“. Pabandykite naudoti planšetinį kompiuterį."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Šįkart nepavyksta pasiekti programos iš jūsų „<xliff:g id="DEVICE">%1$s</xliff:g>“. Pabandykite naudoti telefoną."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ši programa sukurta naudoti senesnės versijos sistemoje „Android“ ir gali tinkamai neveikti. Pabandykite patikrinti, ar yra naujinių, arba susisiekite su kūrėju."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Tikrinti, ar yra naujinių"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Turite naujų pranešimų"</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Palieskite, kad sužinotumėte daugiau ir pakeistumėte."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Netrukdymo režimas pakeistas"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Palieskite, kad patikrintumėte, kas blokuojama."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Nustatymai"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotoaparatas"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 77580cb..086af66 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Jūsu mobilo sakaru operators īslaicīgi izslēdza pakalpojumu šai SIM kartei: <xliff:g id="SIMNUMBER">%d</xliff:g>."</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Nevar sasniegt mobilo tīklu"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Mēģiniet nomainīt vēlamo tīklu. Pieskarieties, lai to mainītu."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Ārkārtas izsaukumi var nebūt pieejami"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> neatbalsta ārkārtas izsaukumus Wi-Fi tīklā. Pieskarieties, lai skatītu detalizētu informāciju."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Nav pieejami ārkārtas izsaukumi"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Izmantojot Wi-Fi, nevar veikt ārkārtas izsaukumus"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Brīdinājumi"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Zvanu pāradresācija"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Ārkārtas atzvana režīms"</string>
@@ -586,8 +586,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Autentifikācijas kļūda"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Ekrāna bloķēšanas metodes izmantošana"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Lai turpinātu, ievadiet ekrāna bloķēšanas informāciju"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Stingri spiediet pirkstu pie sensora"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Nevarēja apstrādāt pirksta nospiedumu. Lūdzu, mēģiniet vēlreiz."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Notīriet pirkstu nospiedumu sensoru un mēģiniet vēlreiz"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Notīriet sensoru un mēģiniet vēlreiz"</string>
@@ -600,8 +599,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Pirksta nospiedums netika atpazīts"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Pirksta nospiedums netika atpazīts"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Pirksta nospiedums tika autentificēts."</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Seja autentificēta"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Seja ir autentificēta. Nospiediet pogu Apstiprināt."</string>
@@ -1936,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Lietotne <xliff:g id="APP_NAME">%1$s</xliff:g> pašlaik nav pieejama."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nav pieejams"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Nepieciešama atļauja"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Šajā ierīcē (<xliff:g id="DEVICE">%1$s</xliff:g>) pašlaik nevar piekļūt šai lietotnei. Mēģiniet tai piekļūt savā Android TV ierīcē."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Šajā ierīcē (<xliff:g id="DEVICE">%1$s</xliff:g>) pašlaik nevar piekļūt šai lietotnei. Mēģiniet tai piekļūt savā planšetdatorā."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Šajā ierīcē (<xliff:g id="DEVICE">%1$s</xliff:g>) pašlaik nevar piekļūt šai lietotnei. Mēģiniet tai piekļūt savā tālrunī."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Šī lietotne tika izstrādāta vecākai Android versijai un var nedarboties pareizi. Meklējiet atjauninājumus vai sazinieties ar izstrādātāju."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Meklēt atjauninājumu"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Jums ir jaunas īsziņas."</string>
@@ -2029,8 +2054,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"TIK UN TĀ ATVĒRT"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Konstatēta kaitīga lietotne"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Vai atļaujat lietotnei <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> piekļūt visiem ierīces žurnāliem?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Atļaut vienreizēju piekļuvi"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Neatļaut"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Ierīces žurnālos tiek reģistrēti ierīces procesi un notikumi. Lietotņu izstrādātāji var izmantot šos žurnālus, lai atrastu un novērstu problēmas savās lietotnēs.\n\nDažos žurnālos var būt ietverta sensitīva informācija, tāpēc atļaujiet tikai uzticamām lietotnēm piekļūt visiem ierīces žurnāliem. \n\nJa neatļausiet šai lietotnei piekļūt visiem ierīces žurnāliem, lietotnes izstrādātājs joprojām varēs piekļūt pašas lietotnes žurnāliem. Jūsu ierīces ražotājs, iespējams, joprojām varēs piekļūt noteiktiem žurnāliem vai informācijai jūsu ierīcē. Uzziniet vairāk."</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Vairs nerādīt"</string>
@@ -2044,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Pieskarieties, lai uzzinātu vairāk un veiktu izmaiņas."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Režīms “Netraucēt” ir mainīts"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Pieskarieties, lai uzzinātu, kas tiek bloķēts."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistēma"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Iestatījumi"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2262,14 +2294,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Iztulkots: <xliff:g id="MESSAGE">%1$s</xliff:g>."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Ziņojums ir iztulkots no šādas valodas: <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> šādā valodā: <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Darbība fonā"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Lietotne patērē akumulatora enerģiju"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Lietotne joprojām ir aktīva"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"Lietotne <xliff:g id="APP">%1$s</xliff:g> patērē akumulatora enerģiju fonā. Pieskarieties, lai pārskatītu."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"Lietotne <xliff:g id="APP">%1$s</xliff:g> var ietekmēt akumulatora darbības ilgumu. Pieskarieties, lai pārskatītu aktīvās lietotnes."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Pārbaudiet aktīvās lietotnes"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Nevar piekļūt tālruņa kamerai no jūsu ierīces (<xliff:g id="DEVICE">%1$s</xliff:g>)."</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Nevar piekļūt planšetdatora kamerai no jūsu ierīces (<xliff:g id="DEVICE">%1$s</xliff:g>)."</string>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index ddec737..81ecb7e 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Привремено исклучена од вашиот оператор за SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Мобилната мрежа е недостапна"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Сменете ја претпочитаната мрежа. Допрете за промена."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Можно е итните повици да се недостапни"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не поддржува итни повици преку Wi-Fi. Допрете за детали."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Итните повици се недостапни"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Не може да остваруваат итни повици преку Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Предупредувања"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Проследување повик"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Режим на итен повратен повик"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Грешка при проверката"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Користи заклучување екран"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Внесете го заклучувањето на екранот за да продолжите"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Цврсто притиснете на сензорот"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Отпечатокот не може да се обработи. Обидете се повторно."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Исчистете го сензорот за отпечатоци и обидете се повторно"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Исчистете го сензорот и обидете се повторно"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Отпечатокот не е препознаен"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Отпечатокот не е препознаен"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Отпечатокот е проверен"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Лицето е проверено"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Лицето е проверено, притиснете го копчето „Потврди“"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> не е достапна во моментов."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> е недостапна"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Потребна е дозвола"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Ова не може да се отвори на <xliff:g id="DEVICE">%1$s</xliff:g> во моментов. Пробајте на вашиот Android TV како алтернатива."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Ова не може да се отвори на <xliff:g id="DEVICE">%1$s</xliff:g> во моментов. Пробајте на вашиот таблет како алтернатива."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Ова не може да се отвори на <xliff:g id="DEVICE">%1$s</xliff:g> во моментов. Пробајте на вашиот телефон како алтернатива."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Апликацијава е создадена за постара верзија на Android и може да не функционира правилно. Проверете за ажурирања или контактирајте со програмерот."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Проверка за ажурирање"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Имате нови пораки"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"СЕПАК ОТВОРИ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Откриена е штетна апликација"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Да се дозволи <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> да пристапува до целата евиденција на уредот?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Дозволи еднократен пристап"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Не дозволувај"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Евиденцијата на уредот снима што се случува со вашиот уред. Апликациите можат да ја користат евиденцијата за да наоѓаат и поправаат проблеми.\n\nНекоја евиденција може да содржи чувствителни податоци, па затоа дозволувајте само апликации на кои им верувате да пристапуваат до целата евиденција на уредот. \n\nАко не ѝ дозволите на апликацијава да пристапува до сите евиденции на уредот, сепак ќе може да пристапува до сопствената евиденција. Производителот на вашиот уред можеби сепак ќе може да пристапува до некои евиденции или податоци на уредот. Дознајте повеќе"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Не прикажувај повторно"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Допрете за да дознаете повеќе и да ги промените поставките."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Поставките за „Не вознемирувај“ се изменија"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Допрете за да проверите што е блокирано."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Систем"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Поставки"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g>, преведено."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Пораката е преведена од <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> на <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Активност во заднина"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Апликација троши батерија"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Апликација сѐ уште е активна"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> троши батерија во заднина. Допрете за да прегледате."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> може да влијае врз траење на батеријата. Допрете за да ги прегледате активните апликации."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Проверете ги активните апликации"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Не може да се пристапи до камерата на вашиот телефон од <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Не може да се пристапи до камерата на вашиот таблет од <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index e5da11b..34e5116 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"നിങ്ങളുടെ കാരിയർ, സിം <xliff:g id="SIMNUMBER">%d</xliff:g> താൽക്കാലികമായി ഓഫാക്കി"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"മൊബൈൽ നെറ്റ്വർക്കിലേക്ക് കണക്റ്റ് ചെയ്യാനാവുന്നില്ല"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"തിരഞ്ഞെടുത്ത നെറ്റ്വർക്ക് മാറ്റുന്നത് പരീക്ഷിക്കുക. മാറ്റാൻ ടാപ്പ് ചെയ്യുക."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"എമർജൻസി കോളുകൾ ലഭ്യമായിരിക്കില്ല"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"വൈഫൈ ഉപയോഗിച്ചുള്ള എമർജൻസി കോളുകൾ <xliff:g id="SPN">%s</xliff:g> പിന്തുണയ്ക്കുന്നില്ല. വിശദാംശങ്ങൾക്ക് ടാപ്പ് ചെയ്യുക."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"എമർജൻസി കോളിംഗ് ലഭ്യമല്ല"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"വൈഫൈ വഴി എമർജൻസി കോളുകൾ ചെയ്യാനാകില്ല"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"അലേർട്ടുകൾ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"കോൾ ഫോർവേഡിംഗ്"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"അടിയന്തര കോൾബാക്ക് മോഡ്"</string>
@@ -1695,7 +1695,7 @@
<string name="disable_accessibility_shortcut" msgid="5806091378745232383">"കുറുക്കുവഴി ഓഫാക്കുക"</string>
<string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"കുറുക്കുവഴി ഉപയോഗിക്കുക"</string>
<string name="color_inversion_feature_name" msgid="326050048927789012">"വർണ്ണ വിപര്യയം"</string>
- <string name="color_correction_feature_name" msgid="3655077237805422597">"നിറം ക്രമീകരിക്കൽ"</string>
+ <string name="color_correction_feature_name" msgid="3655077237805422597">"നിറം ശരിയാക്കൽ"</string>
<string name="one_handed_mode_feature_name" msgid="2334330034828094891">"ഒറ്റക്കൈ മോഡ്"</string>
<string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"കൂടുതൽ ഡിം ചെയ്യൽ"</string>
<string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"വോളിയം കീകൾ പിടിച്ചു. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓണാക്കി."</string>
@@ -1852,7 +1852,7 @@
<string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"\'ബാറ്ററി ലാഭിക്കൽ\' ഡാർക്ക് തീം ഓണാക്കുന്നു, ഒപ്പം പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string>
<string name="battery_saver_description" msgid="8518809702138617167">"ബാറ്ററി ലാഭിക്കൽ ഡാർക്ക് തീം ഓണാക്കുന്നു, പശ്ചാത്തല ആക്റ്റിവിറ്റിയും ചില വിഷ്വൽ ഇഫക്റ്റുകളും ചില ഫീച്ചറുകളും ചില നെറ്റ്വർക്ക് കണക്ഷനുകളും അത് പരിമിതപ്പെടുത്തുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു."</string>
<string name="data_saver_description" msgid="4995164271550590517">"ഡാറ്റാ ഉപയോഗം കുറയ്ക്കാൻ സഹായിക്കുന്നതിനായി പശ്ചാത്തലത്തിൽ ഡാറ്റ അയയ്ക്കുകയോ സ്വീകരിക്കുകയോ ചെയ്യുന്നതിൽ നിന്ന് ചില ആപ്പുകളെ ഡാറ്റാ സേവർ തടയുന്നു. നിങ്ങൾ നിലവിൽ ഉപയോഗിക്കുന്ന ഒരു ആപ്പിന് ഡാറ്റ ആക്സസ് ചെയ്യാനാകും, എന്നാൽ വല്ലപ്പോഴും മാത്രമെ സംഭവിക്കുന്നുള്ളു. ഇതിനർത്ഥം, ഉദാഹരണമായി നിങ്ങൾ ടാപ്പ് ചെയ്യുന്നത് വരെ ചിത്രങ്ങൾ പ്രദർശിപ്പിക്കുകയില്ല എന്നാണ്."</string>
- <string name="data_saver_enable_title" msgid="7080620065745260137">"ഡാറ്റ സേവർ ഓണാക്കണോ?"</string>
+ <string name="data_saver_enable_title" msgid="7080620065745260137">"ഡാറ്റാ സേവർ ഓണാക്കണോ?"</string>
<string name="data_saver_enable_button" msgid="4399405762586419726">"ഓണാക്കുക"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{ഒരു മിനിറ്റ് സമയത്തേക്ക് ({formattedTime} വരെ)}other{# മിനിറ്റ് സമയത്തേക്ക് ({formattedTime} വരെ)}}"</string>
<string name="zen_mode_duration_minutes_summary_short" msgid="1187553788355486950">"{count,plural, =1{ഒരു മിനിറ്റ് നേരത്തേക്ക് ({formattedTime})}other{# മിനിറ്റ് നേരത്തേക്ക് ({formattedTime})}}"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ഇപ്പോൾ ലഭ്യമല്ല."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ലഭ്യമല്ല"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"അനുമതി ആവശ്യമാണ്"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ഇപ്പോൾ നിങ്ങളുടെ <xliff:g id="DEVICE">%1$s</xliff:g> ഉപകരണത്തിൽ ഇത് ആക്സസ് ചെയ്യാനാകില്ല. പകരം Android TV ഉപകരണത്തിൽ ശ്രമിച്ച് നോക്കൂ."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ഇപ്പോൾ നിങ്ങളുടെ <xliff:g id="DEVICE">%1$s</xliff:g> ഉപകരണത്തിൽ ഇത് ആക്സസ് ചെയ്യാനാകില്ല. പകരം നിങ്ങളുടെ ടാബ്ലെറ്റിൽ ശ്രമിച്ച് നോക്കൂ."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ഇപ്പോൾ നിങ്ങളുടെ <xliff:g id="DEVICE">%1$s</xliff:g> ഉപകരണത്തിൽ ഇത് ആക്സസ് ചെയ്യാനാകില്ല. പകരം നിങ്ങളുടെ ഫോണിൽ ശ്രമിച്ച് നോക്കൂ."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ഈ ആപ്പ് Android-ന്റെ പഴയ പതിപ്പിനായി നിർമ്മിച്ചിരിക്കുന്നതിനാൽ ശരിയായി പ്രവർത്തിച്ചേക്കില്ല. അപ്ഡേറ്റിനായി പരിശോധിക്കുക, അല്ലെങ്കിൽ ഡെവലപ്പറുമായി ബന്ധപ്പെടുക."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"അപ്ഡേറ്റിനായി പരിശോധിക്കുക"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"നിങ്ങൾക്ക് പുതിയ സന്ദേശങ്ങൾ ഉണ്ട്"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"കൂടുതലറിയാനും മാറ്റാനും ടാപ്പ് ചെയ്യുക."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'ശല്യപ്പെടുത്തരുത്\' മാറ്റി"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"എന്തിനെയാണ് ബ്ലോക്ക് ചെയ്തതെന്ന് പരിശോധിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"സിസ്റ്റം"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ക്രമീകരണം"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ക്യാമറ"</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index f78de73a..ecc1a76 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"<xliff:g id="SIMNUMBER">%d</xliff:g> SIM-н оператор компаниас түр унтраасан"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Мобайл сүлжээнд холбогдох боломжгүй байна"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Сонгосон сүлжээг өөрчлөхөөр оролдоно уу. Өөрчлөхийн тулд товшино уу."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Яаралтай дуудлага боломжгүй байж магадгүй"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi-р яаралтай дуудлага хийхийг дэмждэггүй. Дэлгэрэнгүйг харахын тулд товшино уу."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Яаралтай дуудлага хийх боломжгүй"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi-р яаралтай дуудлага хийх боломжгүй байна"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Сануулга"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Дуудлага шилжүүлэх"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Яаралтай дуудлага хийх горим"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> яг одоо боломжгүй байна."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> боломжгүй байна"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Зөвшөөрөл шаардлагатай"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Одоогоор үүнд таны <xliff:g id="DEVICE">%1$s</xliff:g> дээрээс хандах боломжгүй. Оронд нь Android TV төхөөрөмж дээрээ туршиж үзнэ үү."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Одоогоор үүнд таны <xliff:g id="DEVICE">%1$s</xliff:g> дээрээс хандах боломжгүй. Оронд нь таблет дээрээ туршиж үзнэ үү."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Одоогоор үүнд таны <xliff:g id="DEVICE">%1$s</xliff:g> дээрээс хандах боломжгүй. Оронд нь утсан дээрээ туршиж үзнэ үү."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Энэ аппыг Андройдын хуучин хувилбарт зориулсан бөгөөд буруу ажиллаж болзошгүй. Шинэчлэлтийг шалгаж эсвэл хөгжүүлэгчтэй холбогдоно уу."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Шинэчлэлтийг шалгах"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Танд шинэ мессежүүд байна"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Илүү ихийг мэдэж, өөрчлөхийн тулд товшино уу."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Бүү саад бол горимыг өөрчилсөн"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Блоклосон зүйлийг шалгахын тулд товшино уу."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Систем"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Тохиргоо"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камер"</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index 1adb80f..6741330 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"<xliff:g id="SIMNUMBER">%d</xliff:g> सिमसाठी तुमच्या वाहकाने तात्पुरते बंद केले आहे"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"मोबाइल नेटवर्क उपलब्ध नाही"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"प्राधान्य दिलेले नेटवर्क बदलण्याचा प्रयत्न करा. बदलण्यासाठी टॅप करा."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"आणीबाणी कॉल कदाचित उपलब्ध नसतील"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> वाय-फाय वर आणीबाणी कॉलना सपोर्ट करत नाही. तपशीलांसाठी टॅप करा."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"आणीबाणी कॉलिंग अनुपलब्ध"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"वाय-फाय वरून आणीबाणी कॉल करू शकत नाही"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"अलर्ट"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"कॉल फॉरवर्डिंग"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"इमर्जन्सी कॉलबॅक मोड"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> आता उपलब्ध नाही."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> उपलब्ध नाही"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"परवानगी आवश्यक आहे"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"हे यावेळी तुमच्या <xliff:g id="DEVICE">%1$s</xliff:g> वर अॅक्सेस करू शकत नाही. त्याऐवजी तुमच्या Android TV डिव्हाइसवर अॅक्सेस करून पहा."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"हे यावेळी तुमच्या <xliff:g id="DEVICE">%1$s</xliff:g> वर अॅक्सेस करू शकत नाही. त्याऐवजी तुमच्या टॅबलेटवर अॅक्सेस करून पहा."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"हे यावेळी तुमच्या <xliff:g id="DEVICE">%1$s</xliff:g> वर अॅक्सेस करू शकत नाही. त्याऐवजी तुमच्या फोनवर अॅक्सेस करून पहा."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"हे अॅप Android च्या जुन्या आवृत्ती साठी तयार करण्यात आले होते आणि योग्यरितीने कार्य करू शकणार नाही. अपडेट आहेत का ते तपासून पहा, किंवा डेव्हलपरशी संपर्क साधण्याचा प्रयत्न करा."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"अपडेटसाठी तपासा"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"आपल्याकडे नवीन मेसेज आहेत"</string>
@@ -2040,6 +2067,10 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"अधिक जाणून घेण्यासाठी आणि बदलण्यासाठी टॅप करा."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"व्यत्यय आणू नका बदलले आहे"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"काय ब्लॉक केले आहे हे तपासण्यासाठी टॅप करा."</string>
+ <string name="review_notification_settings_title" msgid="5102557424459810820">"सूचना सेटिंग्जचे पुनरावलोकन करा"</string>
+ <string name="review_notification_settings_text" msgid="5696497037817525074">"Android 13 मध्ये, तुम्ही इंस्टॉल केलेल्या अॅप्सना सूचना पाठवण्यासाठी तुमच्या परवानगीची आवश्यकता असते. सध्याच्या अॅप्ससाठी ही परवानगी बदलण्याकरिता टॅप करा."</string>
+ <string name="review_notification_settings_remind_me_action" msgid="1081081018678480907">"मला आठवण करून द्या"</string>
+ <string name="review_notification_settings_dismiss" msgid="4160916504616428294">"डिसमिस करा"</string>
<string name="notification_app_name_system" msgid="3045196791746735601">"सिस्टम"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"सेटिंग्ज"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"कॅमेरा"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 4886b68..5a12e05 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Dimatikan untuk sementara waktu oleh pembawa anda untuk SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Tidak dapat mencapai rangkaian mudah alih"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Cuba tukar rangkaian pilihan. Ketik untuk menukar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Panggilan kecemasan mungkin tidak tersedia"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> tidak menyokong panggilan kecemasan melalui Wi-Fi. Ketik untuk mendapatkan butiran."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Panggilan kecemasan tidak tersedia"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Tidak boleh membuat panggilan kecemasan melalui Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Makluman"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Pemajuan panggilan"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mod paggil balik kecemasan"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak tersedia sekarang."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> tidak tersedia"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Kebenaran diperlukan"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Aplikasi ini tidak boleh diakses pada <xliff:g id="DEVICE">%1$s</xliff:g> anda pada masa ini. Cuba pada peranti Android TV anda."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Aplikasi ini tidak boleh diakses pada <xliff:g id="DEVICE">%1$s</xliff:g> anda pada masa ini. Cuba pada tablet anda."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Aplikasi ini tidak boleh diakses pada <xliff:g id="DEVICE">%1$s</xliff:g> anda pada masa ini. Cuba pada telefon anda."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Apl ini dibina untuk versi Android yang lebih lama dan mungkin tidak berfungsi dengan betul. Cuba semak kemas kini atau hubungi pembangun."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Semak kemaskinian"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Anda mempunyai mesej baharu"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Ketik untuk mengetahui lebih lanjut dan menukar tetapan."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Jangan Ganggu telah berubah"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Ketik untuk menyemak item yang disekat."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Tetapan"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index d767b9b..3cf9bf0 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ဆင်းမ် <xliff:g id="SIMNUMBER">%d</xliff:g> အတွက် သင်၏ ဝန်ဆောင်မှုပေးသူက ယာယီပိတ်ထားပါသည်"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"မိုဘိုင်းကွန်ရက် လိုင်းမရပါ"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ဦးစားပေးကွန်ရက်သို့ ပြောင်းကြည့်ပါ။ ပြောင်းရန် တို့ပါ။"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"အရေးပေါ်ဖုန်းခေါ်ခြင်းများ မရနိုင်ပါ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"Wi-Fi ဖြင့် အရေးပေါ်ဖုန်းခေါ်ခြင်းကို <xliff:g id="SPN">%s</xliff:g> က ပံ့ပိုးမထားပါ။ အသေးစိတ်အချက်အလက်များအတွက် တို့ပါ။"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"အရေးပေါ်ခေါ်ဆိုမှု မရနိုင်ပါ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi ဖြင့် အရေးပေါ်ခေါ်ဆိုမှုများ ပြုလုပ်၍မရပါ"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"သတိပေးချက်များ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"အဝင်ခေါ်ဆိုမှုအား ထပ်ဆင့်ပို့ခြင်း"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"အရေးပေါ် ပြန်လည်ခေါ်ဆိုနိုင်သောမုဒ်"</string>
@@ -324,7 +324,7 @@
<string name="permgrouplab_phone" msgid="570318944091926620">"ဖုန်း"</string>
<string name="permgroupdesc_phone" msgid="270048070781478204">"ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်ရန်နှင့် စီမံရန်"</string>
<string name="permgrouplab_sensors" msgid="9134046949784064495">"ခန္ဓာကိုယ် အာရုံခံကိရိယာများ"</string>
- <string name="permgroupdesc_sensors" msgid="2610631290633747752">"သင်၏အရေးပြီးသော ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံကိရိယာဒေတာကို ရယူရန်"</string>
+ <string name="permgroupdesc_sensors" msgid="2610631290633747752">"သင်၏အရေးကြီးသော ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံကိရိယာဒေတာကို ရယူရန်"</string>
<string name="permgrouplab_notifications" msgid="5472972361980668884">"အကြောင်းကြားချက်များ"</string>
<string name="permgroupdesc_notifications" msgid="4608679556801506580">"အကြောင်းကြားချက်များ ပြနိုင်သည်"</string>
<string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ဝင်းဒိုးတွင် ပါရှိသည်များကို ပြန်လည်ရယူရန်"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ကို ယခု မရနိုင်ပါ။"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> မရနိုင်ပါ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ခွင့်ပြုချက်လိုအပ်သည်"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"၎င်းအား ယခု သင့် <xliff:g id="DEVICE">%1$s</xliff:g> တွင် ဝင်၍မရပါ။ ယင်းအစား Android TV စက်တွင် စမ်းကြည့်ပါ။"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"၎င်းအား ယခု သင့် <xliff:g id="DEVICE">%1$s</xliff:g> တွင် ဝင်၍မရပါ။ ယင်းအစား တက်ဘလက်တွင် စမ်းကြည့်ပါ။"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"၎င်းအား ယခု သင့် <xliff:g id="DEVICE">%1$s</xliff:g> တွင် ဝင်၍မရပါ။ ယင်းအစား ဖုန်းတွင် စမ်းကြည့်ပါ။"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ဤအက်ပ်ကို Android ဗားရှင်းဟောင်းအတွက် ပြုလုပ်ထားခြင်းဖြစ်ပြီး ပုံမှန်အလုပ်မလုပ်နိုင်ပါ။ အပ်ဒိတ်များအတွက် ရှာကြည့်ပါ သို့မဟုတ် ဆော့ဖ်ဝဲအင်ဂျင်နီယာကို ဆက်သွယ်ပါ။"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"အပ်ဒိတ်စစ်ရန်"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"သင့်ထံတွင် စာအသစ်များရောက်နေသည်"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ပိုမိုလေ့လာရန်နှင့် ပြောင်းလဲရန် တို့ပါ။"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'မနှောင့်ယှက်ရ\' ပြောင်းလဲသွားပါပြီ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"ပိတ်ထားသည့်အရာများကို ကြည့်ရန် တို့ပါ။"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"စနစ်"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ဆက်တင်များ"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ကင်မရာ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 1b36b9d..8e4c080 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Midlertidig deaktivert av operatøren din for SIM-kortet <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Får ikke kontakt med mobilnettverket"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Prøv å endre foretrukket nettverk. Trykk for å endre."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Nødanrop kan være utilgjengelig"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> støtter ikke nødanrop via Wi-Fi. Trykk for å se mer informasjon."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Nødanrop er utilgjengelig"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Kan ikke ringe nødnumre via Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Varsler"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Viderekobling"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modusen nødsamtale-tilbakeringing"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Feil under autentiseringen"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Bruk skjermlås"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Skriv inn skjermlåsen for å fortsette"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Trykk godt på sensoren"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Kunne ikke registrere fingeravtrykket. Prøv på nytt."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Rengjør fingeravtrykkssensoren og prøv igjen"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Rengjør sensoren og prøv igjen"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Gjenkjenner ikke fingeravtrykket"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Gjenkjenner ikke fingeravtrykket"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingeravtrykket er godkjent"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Ansiktet er autentisert"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Ansiktet er autentisert. Trykk på Bekreft"</string>
@@ -1869,7 +1867,7 @@
<string name="zen_mode_alarm" msgid="7046911727540499275">"Til <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> (neste alarm)"</string>
<string name="zen_mode_forever" msgid="740585666364912448">"Til du slår av"</string>
<string name="zen_mode_forever_dnd" msgid="3423201955704180067">"Inntil du slår av Ikke forstyrr"</string>
- <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g>/<xliff:g id="REST">%2$s</xliff:g>"</string>
+ <string name="zen_mode_rule_name_combination" msgid="7174598364351313725">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="8009920446193610996">"Skjul"</string>
<string name="zen_mode_feature_name" msgid="3785547207263754500">"«Ikke forstyrr»"</string>
<string name="zen_mode_downtime_feature_name" msgid="5886005761431427128">"Pause"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> er ikke tilgjengelig for øyeblikket."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> er utilgjengelig"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Du må gi tillatelse"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Dette er ikke tilgjengelig på <xliff:g id="DEVICE">%1$s</xliff:g> for øyeblikket. Prøv på Android TV-enheten din i stedet."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Dette er ikke tilgjengelig på <xliff:g id="DEVICE">%1$s</xliff:g> for øyeblikket. Prøv på nettbrettet ditt i stedet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Dette er ikke tilgjengelig på <xliff:g id="DEVICE">%1$s</xliff:g> for øyeblikket. Prøv på telefonen din i stedet."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Denne appen er utviklet for en eldre versjon av Android og fungerer kanskje ikke som den skal. Prøv å se etter oppdateringer, eller kontakt utvikleren."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Se etter oppdateringer"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Du har nye meldinger"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ÅPNE LIKEVEL"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"En skadelig app ble oppdaget"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Vil du gi <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> tilgang til alle enhetslogger?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Gi éngangstilgang"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Ikke tillat"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Enhetslogger registrerer det som skjer på enheten din. Apper kan bruke disse loggene til å finne og løse problemer.\n\nNoen logger kan inneholde sensitiv informasjon, så du bør bare gi tilgang til alle enhetslogger til apper du stoler på. \n\nHvis du ikke gir denne appen tilgang til alle enhetslogger, har den fremdeles tilgang til sine egne logger. Enhetsprodusenten kan fremdeles ha tilgang til noen logger eller noe informasjon på enheten din. Finn ut mer"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Ikke vis igjen"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Trykk for å finne ut mer og endre."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Ikke forstyrr er endret"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Trykk for å sjekke hva som er blokkert."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Innstillinger"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> er oversatt."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Meldingen er oversatt fra <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> til <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktivitet i bakgrunnen"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"En app bruker batteri"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"En app er fremdeles aktiv"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> bruker batteri i bakgrunnen. Trykk for å gjennomgå."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> kan påvirke batterilevetiden. Trykk for å gjennomgå aktive apper."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Sjekk aktive apper"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Det er ikke mulig å få tilgang til telefonkameraet fra <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Det er ikke mulig å få tilgang til kameraet på nettbrettet fra <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index c3da04f..66e0909 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> का लागि तपाईंको सेवा प्रदायकले अस्थायी रूपमा निष्क्रिय पार्नुभएको"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"मोबाइल नेटवर्कमाथि पहुँच राख्न सकिएन"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"रुचाइएको नेटवर्क परिवर्तन गरी हेर्नुहोस्। परिवर्तन गर्न ट्याप गर्नुहोस्।"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"आपत्कालीन कल गर्ने सुविधा उपलब्ध नहुन सक्छ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> प्रयोग गरेर Wi-Fi मार्फत आपत्कालीन कल गर्न मिल्दैन। विवरणहरू हेर्न ट्याप गर्नुहोस्।"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"आपत्कालीन कल सेवा अनुपलब्ध छ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi मार्फत आपत्कालीन कल गर्न सकिँदैन"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"अलर्टहरू"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"कल फर्वार्ड गर्ने सेवा"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"आपत्कालीन कलब्याक मोड"</string>
@@ -205,10 +205,10 @@
<string name="factory_reset_warning" msgid="6858705527798047809">"तपाईंको यन्त्र मेटिनेछ"</string>
<string name="factory_reset_message" msgid="2657049595153992213">"प्रशासकको एप प्रयोग गर्न मिल्दैन। तपाईंको डिभाइसको डेटा अब मेटाइने छ।\n\nतपाईंसँग प्रश्नहरू भएका खण्डमा आफ्नो संगठनका प्रशासकसँग सम्पर्क गर्नुहोस्।"</string>
<string name="printing_disabled_by" msgid="3517499806528864633">"<xliff:g id="OWNER_APP">%s</xliff:g> ले छाप्ने कार्यलाई असक्षम पार्यो।"</string>
- <string name="personal_apps_suspension_title" msgid="7561416677884286600">"आफ्नो कार्य प्रोफाइल सक्रिय गर्नुहोस्"</string>
+ <string name="personal_apps_suspension_title" msgid="7561416677884286600">"आफ्नो कार्य प्रोफाइल अन गर्नुहोस्"</string>
<string name="personal_apps_suspension_text" msgid="6115455688932935597">"तपाईंले आफ्नो कार्य प्रोफाइल सक्रिय नगरुन्जेल तपाईंका व्यक्तिगत एपहरूलाई रोक लगाइन्छ"</string>
<string name="personal_apps_suspension_soon_text" msgid="8123898693479590">"मिति <xliff:g id="DATE">%1$s</xliff:g> <xliff:g id="TIME">%2$s</xliff:g> बजे व्यक्तिगत एपहरूलाई रोक लगाइने छ। तपाईंका IT एडमिन तपाईंलाई आफ्नो कार्य प्रोफाइल <xliff:g id="NUMBER">%3$d</xliff:g> भन्दा धेरै दिन निष्क्रिय राख्ने अनुमति दिनुहुन्न।"</string>
- <string name="personal_apps_suspended_turn_profile_on" msgid="2758012869627513689">"सक्रिय गर्नुहोस्"</string>
+ <string name="personal_apps_suspended_turn_profile_on" msgid="2758012869627513689">"अन गर्नुहोस्"</string>
<string name="me" msgid="6207584824693813140">"मलाई"</string>
<string name="power_dialog" product="tablet" msgid="8333207765671417261">"ट्याब्लेट विकल्पहरू"</string>
<string name="power_dialog" product="tv" msgid="7792839006640933763">"Android टिभी सम्बन्धी विकल्पहरू"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"प्रमाणित गर्ने क्रममा त्रुटि भयो"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"स्क्रिन लक प्रयोग गर्नुहोस्"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"जारी राख्न आफ्नो स्क्रिन लक हाल्नुहोस्"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"सेन्सरमा बेसरी थिच्नुहोस्"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"फिंगरप्रिन्ट प्रशोधन गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"फिंगरप्रिन्ट सेन्सर सफा गरेर फेरि प्रयास गर्नुहोस्"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"सेन्सर सफा गरेर फेरि प्रयास गर्नुहोस्"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"फिंगरप्रिन्ट पहिचान गर्न सकिएन"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"फिंगरप्रिन्ट पहिचान गर्न सकिएन"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"फिंगरप्रिन्ट प्रमाणीकरण गरियो"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"अनुहार प्रमाणीकरण गरियो"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"अनुहार प्रमाणीकरण गरियो, कृपया पुष्टि गर्नुहोस् थिच्नुहोस्"</string>
@@ -1331,7 +1329,7 @@
<string name="sim_added_title" msgid="7930779986759414595">"SIM कार्ड थप गरियो"</string>
<string name="sim_added_message" msgid="6602906609509958680">"मोबाइल नेटवर्क पहुँच गर्न तपाईँको उपकरण पुनःस्टार्ट गर्नुहोस्।"</string>
<string name="sim_restart_button" msgid="8481803851341190038">"पुनः सुरु गर्नुहोस्"</string>
- <string name="install_carrier_app_notification_title" msgid="5712723402213090102">"मोबाइल सेवा सक्रिय गर्नुहोस्"</string>
+ <string name="install_carrier_app_notification_title" msgid="5712723402213090102">"मोबाइल सेवा अन गर्नुहोस्"</string>
<string name="install_carrier_app_notification_text" msgid="2781317581274192728">"आफ्नो नयाँ SIM सक्रिय गर्न सेवा प्रदायकको एप डाउनलोड गर्नुहोस्"</string>
<string name="install_carrier_app_notification_text_app_name" msgid="4086877327264106484">"आफ्नो नयाँ SIM सक्रिय गर्न <xliff:g id="APP_NAME">%1$s</xliff:g> एप डाउनलोड गर्नुहोस्"</string>
<string name="install_carrier_app_notification_button" msgid="6257740533102594290">"एप डाउनलोड गर्नुहोस्"</string>
@@ -1616,7 +1614,7 @@
<string name="media_route_button_content_description" msgid="2299223698196869956">"कास्ट"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"उपकरणमा कनेक्ट गर्नुहोस्"</string>
<string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"स्क्रिन डिभाइसमा कास्ट गर्नुहोस्"</string>
- <string name="media_route_chooser_searching" msgid="6119673534251329535">"उपकरणको खोजी गरिँदै..."</string>
+ <string name="media_route_chooser_searching" msgid="6119673534251329535">"डिभाइस खोजिँदै छ..."</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"सेटिंङहरू"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"डिस्कनेक्ट गर्नुहोस्"</string>
<string name="media_route_status_scanning" msgid="8045156315309594482">"स्क्यान गर्दै ..."</string>
@@ -1696,7 +1694,7 @@
<string name="done_accessibility_shortcut_menu_button" msgid="3668407723770815708">"सम्पन्न भयो"</string>
<string name="disable_accessibility_shortcut" msgid="5806091378745232383">"सर्टकटलाई निष्क्रिय पार्नुहोस्"</string>
<string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"सर्टकट प्रयोग गर्नुहोस्"</string>
- <string name="color_inversion_feature_name" msgid="326050048927789012">"रङ्ग उल्टाउने सुविधा"</string>
+ <string name="color_inversion_feature_name" msgid="326050048927789012">"कलर इन्भर्सन"</string>
<string name="color_correction_feature_name" msgid="3655077237805422597">"रङ्ग सच्याउने सुविधा"</string>
<string name="one_handed_mode_feature_name" msgid="2334330034828094891">"एक हाते मोड"</string>
<string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"अझै मधुरो"</string>
@@ -1855,7 +1853,7 @@
<string name="battery_saver_description" msgid="8518809702138617167">"ब्याट्री सेभरले अँध्यारो थिम अन गर्छ र ब्याकग्राउन्डमा हुने क्रियाकलाप, केही भिजुअल इफेक्ट, निश्चित सुविधा र केही नेटवर्क कनेक्सनहरू अफ गर्छ वा सीमित रूपमा मात्र चल्न दिन्छ।"</string>
<string name="data_saver_description" msgid="4995164271550590517">"डेटा सेभरले डेटा खपत कम गर्न केही एपहरूलाई ब्याकग्राउन्डमा डेटा पठाउन वा प्राप्त गर्न दिँदैन। तपाईंले अहिले प्रयोग गरिरहनुभएको एपले सीमित रूपमा मात्र डेटा चलाउन पाउँछ। उदाहरणका लागि, तपाईंले फोटोमा ट्याप गर्नुभयो भने मात्र फोटो देखिन्छ नत्र देखिँदैन।"</string>
<string name="data_saver_enable_title" msgid="7080620065745260137">"डेटा सेभर अन गर्ने हो?"</string>
- <string name="data_saver_enable_button" msgid="4399405762586419726">"सक्रिय गर्नुहोस्"</string>
+ <string name="data_saver_enable_button" msgid="4399405762586419726">"अन गर्नुहोस्"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{एक मिनेटका लागि ({formattedTime} सम्म)}other{# मिनेटका लागि ({formattedTime} सम्म)}}"</string>
<string name="zen_mode_duration_minutes_summary_short" msgid="1187553788355486950">"{count,plural, =1{१ मिनेटका लागि ({formattedTime} सम्म)}other{# मिनेटका लागि ({formattedTime} सम्म)}}"</string>
<string name="zen_mode_duration_hours_summary" msgid="3866333100793277211">"{count,plural, =1{१ घण्टाका लागि ({formattedTime} सम्म)}other{# घण्टाका लागि ({formattedTime} सम्म)}}"</string>
@@ -1876,7 +1874,7 @@
<string name="zen_mode_default_weeknights_name" msgid="7902108149994062847">"हरेक हप्तादिनको राति"</string>
<string name="zen_mode_default_weekends_name" msgid="4707200272709377930">"शनिबार"</string>
<string name="zen_mode_default_events_name" msgid="2280682960128512257">"कार्यक्रम"</string>
- <string name="zen_mode_default_every_night_name" msgid="1467765312174275823">"शयन अवस्था"</string>
+ <string name="zen_mode_default_every_night_name" msgid="1467765312174275823">"निदाएका बेला"</string>
<string name="muted_by" msgid="91464083490094950">"<xliff:g id="THIRD_PARTY">%1$s</xliff:g> ले केही ध्वनिहरू म्युट गर्दै छ"</string>
<string name="system_error_wipe_data" msgid="5910572292172208493">"तपाईंको यन्त्रसँग आन्तरिक समस्या छ, र तपाईंले फ्याक्ट्री डाटा रिसेट नगर्दासम्म यो अस्थिर रहन्छ।"</string>
<string name="system_error_manufacturer" msgid="703545241070116315">"तपाईंको यन्त्रसँग आन्तरिक समस्या छ। विवरणहरूको लागि आफ्नो निर्मातासँग सम्पर्क गर्नुहोस्।"</string>
@@ -1917,7 +1915,7 @@
<string name="user_creation_account_exists" msgid="2239146360099708035">"<xliff:g id="ACCOUNT">%2$s</xliff:g> (यस खाताको प्रयोगकर्ता पहिले नै अवस्थित छ) मा नयाँ प्रयोगकर्ता सिर्जना गर्न <xliff:g id="APP">%1$s</xliff:g> लाई अनुमति दिने हो?"</string>
<string name="user_creation_adding" msgid="7305185499667958364">"<xliff:g id="ACCOUNT">%2$s</xliff:g> मा नयाँ प्रयोगकर्ता सिर्जना गर्न <xliff:g id="APP">%1$s</xliff:g> लाई अनुमति दिने हो?"</string>
<string name="supervised_user_creation_label" msgid="6884904353827427515">"सुपरिवेक्षित प्रयोगकर्ता हाल्नुहोस्"</string>
- <string name="language_selection_title" msgid="52674936078683285">"भाषा थप्नुहोस्"</string>
+ <string name="language_selection_title" msgid="52674936078683285">"भाषा हाल्नुहोस्"</string>
<string name="country_selection_title" msgid="5221495687299014379">"क्षेत्रको प्राथमिकता"</string>
<string name="search_language_hint" msgid="7004225294308793583">"भाषाको नाम टाइप गर्नुहोस्"</string>
<string name="language_picker_section_suggested" msgid="6556199184638990447">"सिफारिस गरिएको"</string>
@@ -1930,14 +1928,41 @@
<string name="app_suspended_unsuspend_message" msgid="1665438589450555459">"एपको पज हटाउनुहोस्"</string>
<string name="work_mode_off_title" msgid="961171256005852058">"कामसम्बन्धी एपहरू सक्षम पार्ने हो?"</string>
<string name="work_mode_off_message" msgid="7319580997683623309">"कामसम्बन्धी एप चलाउने र सूचना प्राप्त गर्ने सुविधा अन गर्नुहोस्"</string>
- <string name="work_mode_turn_on" msgid="3662561662475962285">"सक्रिय गर्नुहोस्"</string>
+ <string name="work_mode_turn_on" msgid="3662561662475962285">"अन गर्नुहोस्"</string>
<string name="app_blocked_title" msgid="7353262160455028160">"एप उपलब्ध छैन"</string>
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> अहिले उपलब्ध छैन।"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> उपलब्ध छैन"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"अनुमति चाहिन्छ"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"यस बखत तपाईंको <xliff:g id="DEVICE">%1$s</xliff:g> मा यो एप स्ट्रिम गर्न मिल्दैन। बरु तपाईंको Android TV डिभाइसमा स्ट्रिम गरी हेर्नुहोस्।"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"यस बखत तपाईंको <xliff:g id="DEVICE">%1$s</xliff:g> मा यो एप स्ट्रिम गर्न मिल्दैन। बरु तपाईंको ट्याब्लेटमा स्ट्रिम गरी हेर्नुहोस्।"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"यस बखत तपाईंको <xliff:g id="DEVICE">%1$s</xliff:g> मा यो एप स्ट्रिम गर्न मिल्दैन। बरु तपाईंको फोनमा स्ट्रिम गरी हेर्नुहोस्।"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"यो एप Android को पुरानो संस्करणका लागि बनाइएको हुनाले यसले सही ढङ्गले काम नगर्न सक्छ। अद्यावधिकहरू उपलब्ध छन् वा छैनन् भनी जाँच गरी हेर्नुहोस् वा यसको विकासकर्तालाई सम्पर्क गर्नुहोस्।"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"अपडेट उपलब्ध छ वा छैन जाँच्नुहोस्"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"तपाईंलाई नयाँ सन्देश आएको छ"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"जे भए पनि खोल्नुहोस्"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"हानिकारक एप भेटियो"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> लाई डिभाइसका सबै लग हेर्ने अनुमति दिने हो?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"एक पटक प्रयोग गर्ने अनुमति दिनुहोस्"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"अनुमति नदिनुहोस्"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"डिभाइसका लगले तपाईंको डिभाइसमा भएका विभिन्न गतिविधिको अभिलेख राख्छ। एपहरू यी लगका आधारमा समस्या पत्ता लगाउन र तिनको समाधान गर्न सक्छन्।\n\nकेही लगहरूमा संवेदनशील जानकारी समावेश हुन सक्ने भएकाले आफूले भरोसा गर्ने एपलाई मात्र डिभाइसका सबै लग हेर्ने अनुमति दिनुहोस्। \n\nतपाईंले यो एपलाई डिभाइसका सबै लग हेर्ने अनुमति दिनुभएन भने पनि यसले आफ्नै लग भने हेर्न सक्छ। तपाईंको डिभाइसको उत्पादकले पनि तपाईंको डिभाइसमा भएका केही लग वा जानकारी हेर्न सक्ने सम्भावना हुन्छ। थप जान्नुहोस्"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"फेरि नदेखाइयोस्"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"थप जान्न र परिवर्तन गर्न ट्याप गर्नुहोस्।"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"बाधा नपुर्याउनुहोस् मोड परिवर्तन भएको छ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"रोक लगाइएका कुराहरू जाँच गर्न ट्याप गर्नुहोस्।"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"प्रणाली"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"सेटिङहरू"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"क्यामेरा"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> अनुवाद गरिएको छ।"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"म्यासेज <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> भाषाबाट <xliff:g id="TO_LANGUAGE">%2$s</xliff:g> भाषामा अनुवाद गरिएको छ।"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"ब्याकग्राउन्डमा गरिएको क्रियाकलाप"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"कुनै एपले ब्याट्री खपत गरिरहेको छ"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"कुनै एप अझै पनि चलिरहेको छ"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> ले ब्याकग्राउन्डमा ब्याट्री खपत गरिरहेको छ। समीक्षा गर्न ट्याप गर्नुहोस्।"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> ले ब्याट्रीको आयु घटाउन सक्छ। सक्रिय एपहरू हेर्न ट्याप गर्नुहोस्।"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"कुन कुन एप सक्रिय छ भन्ने कुरा जाँच्नुहोस्"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"तपाईंको <xliff:g id="DEVICE">%1$s</xliff:g> मार्फत फोनको क्यामेरा प्रयोग गर्न मिल्दैन"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"तपाईंको <xliff:g id="DEVICE">%1$s</xliff:g> मार्फत ट्याब्लेटको क्यामेरा प्रयोग गर्न मिल्दैन"</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 3dffda0..f7f6d670 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Tijdelijk uitgezet door je provider voor sim <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Kan mobiel netwerk niet bereiken"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Probeer een ander voorkeursnetwerk. Tik om te wijzigen."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Noodoproepen zijn misschien niet beschikbaar"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> biedt geen ondersteuning voor noodoproepen via wifi. Tik voor details."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Noodoproepen niet beschikbaar"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Er kunnen geen noodoproepen worden gemaakt via wifi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Meldingen"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Gesprek doorschakelen"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modus voor noodoproepen"</string>
@@ -1681,7 +1681,7 @@
<string name="accessibility_enable_service_title" msgid="3931558336268541484">"Toestaan dat <xliff:g id="SERVICE">%1$s</xliff:g> volledige controle over je apparaat heeft?"</string>
<string name="accessibility_service_warning_description" msgid="291674995220940133">"Volledige controle is gepast voor apps die je helpen met toegankelijkheid, maar voor de meeste apps is het ongepast."</string>
<string name="accessibility_service_screen_control_title" msgid="190017412626919776">"Scherm bekijken en bedienen"</string>
- <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"De functie kan alle content op het scherm lezen en content bovenop andere apps bekijken."</string>
+ <string name="accessibility_service_screen_control_description" msgid="6946315917771791525">"De functie kan alle content op het scherm lezen en content bovenop andere apps weergeven"</string>
<string name="accessibility_service_action_perform_title" msgid="779670378951658160">"Acties bekijken en uitvoeren"</string>
<string name="accessibility_service_action_perform_description" msgid="2718852014003170558">"De functie kan je interacties met een app of een hardwaresensor bijhouden en namens jou met apps communiceren."</string>
<string name="accessibility_dialog_button_allow" msgid="2092558122987144530">"Toestaan"</string>
@@ -1697,7 +1697,7 @@
<string name="color_inversion_feature_name" msgid="326050048927789012">"Kleurinversie"</string>
<string name="color_correction_feature_name" msgid="3655077237805422597">"Kleurcorrectie"</string>
<string name="one_handed_mode_feature_name" msgid="2334330034828094891">"Bediening met 1 hand"</string>
- <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra gedimd"</string>
+ <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"Extra dimmen"</string>
<string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Volumetoetsen ingedrukt gehouden. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> staat aan."</string>
<string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Volumetoetsen ingedrukt gehouden. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> staat uit."</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="4228997042855695090">"Houd beide volumetoetsen drie seconden ingedrukt om <xliff:g id="SERVICE_NAME">%1$s</xliff:g> te gebruiken"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> is momenteel niet beschikbaar."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> niet beschikbaar"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Rechten vereist"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Je hebt hier nu geen toegang toe op je <xliff:g id="DEVICE">%1$s</xliff:g>. Probeer het in plaats daarvan op je Android TV-apparaat."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Je hebt hier nu geen toegang toe op je <xliff:g id="DEVICE">%1$s</xliff:g>. Probeer het in plaats daarvan op je tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Je hebt hier nu geen toegang toe op je <xliff:g id="DEVICE">%1$s</xliff:g>. Probeer het in plaats daarvan op je telefoon."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Deze app is ontwikkeld voor een oudere versie van Android en werkt mogelijk niet op de juiste manier. Controleer op updates of neem contact op met de ontwikkelaar."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Controleren op update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Je hebt nieuwe berichten"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tik voor meer informatie en om te wijzigen."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'Niet storen\' is gewijzigd"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tik om te controleren wat er is geblokkeerd."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Systeem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Instellingen"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 2c77638..4bd1dfb 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> ପାଇଁ ଆପଣଙ୍କ କେରିଅର୍ ଦ୍ୱାରା ଅସ୍ଥାୟୀ ରୂପେ ବନ୍ଦ କରାଯାଇଛି"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ମୋବାଇଲ୍ ନେଟ୍ୱର୍କ ମିଳୁନାହିଁ"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ନିଜ ପସନ୍ଦର ନେଟ୍ୱର୍କକୁ ଯିବାପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ। ବଦଳାଇବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ।"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ଜରୁରୀକାଳୀନ କଲଗୁଡ଼ିକ ଉପଲବ୍ଧ ହୋଇନପାରେ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ ଜରୁରୀକାଳୀନ କଲଗୁଡ଼ିକୁ ସମର୍ଥନ କରେ ନାହିଁ। ବିବରଣୀ ପାଇଁ ଟାପ କରନ୍ତୁ।"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"ଜରୁରୀକାଳୀନ କଲ୍ ଉପଲବ୍ଧ ନାହିଁ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ୱାଇ-ଫାଇ ସାହାଯ୍ୟରେ ଜରୁରୀକାଳୀନ କଲ୍ କରାଯାଇପାରିବ ନାହିଁ"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ଆଲର୍ଟ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"କଲ୍ ଫରୱାର୍ଡିଂ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"ଜରୁରୀକାଳୀନ କଲବ୍ୟାକ୍ ମୋଡ୍"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"ପ୍ରାମାଣିକରଣ କରିବା ସମୟରେ ତ୍ରୁଟି"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"ସ୍କ୍ରିନ୍ ଲକ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"ଜାରି ରଖିବାକୁ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ ଲକ୍ ଏଣ୍ଟର୍ କରନ୍ତୁ"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"ସେନ୍ସର ଉପରେ ଦୃଢ଼ ଭାବେ ଦବାନ୍ତୁ"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"ଟିପଚିହ୍ନ ପ୍ରୋସେସ୍ କରାଯାଇପାରିଲା ନାହିଁ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"ଟିପଚିହ୍ନ ସେନ୍ସରକୁ ପରିଷ୍କାର କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"ସେନ୍ସରକୁ ପରିଷ୍କାର କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"ଟିପଚିହ୍ନ ଚିହ୍ନଟ ହେଲା ନାହିଁ"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"ଟିପଚିହ୍ନ ଚିହ୍ନଟ ହେଲା ନାହିଁ"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"ଟିପଚିହ୍ନ ପ୍ରମାଣିତ ହେଲା"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"ମୁହଁ ଚିହ୍ନଟ ହୋଇଛି"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"ମୁହଁ ଚିହ୍ନଟ ହୋଇଛି, ଦୟାକରି ସୁନିଶ୍ଚିତ ଦବାନ୍ତୁ"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ବର୍ତ୍ତମାନ ଉପଲବ୍ଧ ନାହିଁ।"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ଅନୁମତି ଆବଶ୍ୟକ"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ବର୍ତ୍ତମାନ ଏହାକୁ ଆପଣଙ୍କ <xliff:g id="DEVICE">%1$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇପାରିବ ନାହିଁ। ଏହା ପରିବର୍ତ୍ତେ ଆପଣଙ୍କ Android TV ଡିଭାଇସରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ବର୍ତ୍ତମାନ ଏହାକୁ ଆପଣଙ୍କ <xliff:g id="DEVICE">%1$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇପାରିବ ନାହିଁ। ଏହା ପରିବର୍ତ୍ତେ ଆପଣଙ୍କ ଟାବଲେଟରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ବର୍ତ୍ତମାନ ଏହାକୁ ଆପଣଙ୍କ <xliff:g id="DEVICE">%1$s</xliff:g>ରେ ଆକ୍ସେସ କରାଯାଇପାରିବ ନାହିଁ। ଏହା ପରିବର୍ତ୍ତେ ଆପଣଙ୍କ ଫୋନରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ଏହି ଆପ୍କୁ Androidର ପୁରୁଣା ଭର୍ସନ୍ ପାଇଁ ନିର୍ମାଣ କରାଯାଇଥିଲା ଏବଂ ଠିକ୍ ଭାବେ କାମ କରିନପାରେ। ଏହାପାଇଁ ଅପଡେଟ୍ ଅଛି କି ନାହିଁ ଯାଞ୍ଚ କରନ୍ତୁ କିମ୍ବା ଡେଭେଲପର୍ଙ୍କ ସହିତ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ଅପଡେଟ୍ ପାଇଁ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"ଆପଣଙ୍କ ପାଖରେ ନୂଆ ମେସେଜ୍ ରହିଛି"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"କୌଣସିମତେ ଖୋଲନ୍ତୁ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"ହାନିକାରକ ଆପ୍ ଚିହ୍ନଟ ହୋଇଛି"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"ସମସ୍ତ ଡିଭାଇସ ଲଗକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>କୁ ଅନୁମତି ଦେବେ?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"ଗୋଟିଏ-ଥର ଆକ୍ସେସ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଯାହା ହୁଏ ତାହା ଡିଭାଇସ ଲଗଗୁଡ଼ିକ ରେକର୍ଡ କରେ। ସମସ୍ୟାଗୁଡ଼ିକୁ ଖୋଜି ସମାଧାନ କରିବାକୁ ଆପ୍ସ ଏହି ଲଗଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରିବ।\n\nକିଛି ଲଗରେ ସମ୍ବେଦନଶୀଳ ସୂଚନା ଥାଇପାରେ, ତେଣୁ ସମସ୍ତ ଡିଭାଇସ ଲଗକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଆପଣ ବିଶ୍ୱାସ କରୁଥିବା ଆପ୍ସକୁ ହିଁ ଅନୁମତି ଦିଅନ୍ତୁ। \n\nଯଦି ଆପଣ ସମସ୍ତ ଡିଭାଇସ ଲଗକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତି ନାହିଁ, ତେବେ ବି ଏହା ନିଜର ଡିଭାଇସ ଲଗଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିପାରିବ। ଆପଣଙ୍କ ଡିଭାଇସର ନିର୍ମାତା ଏବେ ବି ଆପଣଙ୍କର ଡିଭାଇସରେ କିଛି ଲଗ କିମ୍ବା ସୂଚନାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ସକ୍ଷମ ହୋଇପାରନ୍ତି। ଅଧିକ ଜାଣନ୍ତୁ"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"ପୁଣି ଦେଖାନ୍ତୁ ନାହିଁ"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ଅଧିକ ଜାଣିବାକୁ ଟ୍ୟାପ୍ କରନ୍ତୁ ଏବଂ ବଦଳାନ୍ତୁ।"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"’ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ’ ବଦଳିଯାଇଛି"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"କ’ଣ ଅବରୋଧ ହୋଇଛି ଯାଞ୍ଚ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ।"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ସିଷ୍ଟମ୍"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ସେଟିଂସ୍"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"କ୍ୟାମେରା"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> ଅନୁବାଦ କରାଯାଇଛି।"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"ମେସେଜ୍, <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>ରୁ <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>କୁ ଅନୁବାଦ କରାଯାଇଛି।"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"ପୃଷ୍ଠପଟ କାର୍ଯ୍ୟକଳାପ"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"ଏକ ଆପ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରୁଛି"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"ଏକ ଆପ ଏବେ ବି ସକ୍ରିୟ ଅଛି"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> ପୃଷ୍ଠପଟରେ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରୁଛି। ସମୀକ୍ଷା କରିବାକୁ ଟାପ କରନ୍ତୁ।"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> ବ୍ୟାଟେରୀ ଲାଇଫକୁ ପ୍ରଭାବିତ କରିପାରେ। ସକ୍ରିୟ ଆପ୍ସକୁ ସମୀକ୍ଷା କରିବା ପାଇଁ ଟାପ କରନ୍ତୁ।"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"ସକ୍ରିୟ ଆପଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"ଆପଣଙ୍କ <xliff:g id="DEVICE">%1$s</xliff:g>ରୁ ଫୋନର କ୍ୟାମେରାକୁ ଆକ୍ସେସ କରାଯାଇପାରିବ ନାହିଁ"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"ଆପଣଙ୍କ <xliff:g id="DEVICE">%1$s</xliff:g>ରୁ ଟାବଲେଟର କ୍ୟାମେରାକୁ ଆକ୍ସେସ କରାଯାଇପାରିବ ନାହିଁ"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index ee15ab9f..d8503ae 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ਸਿਮ <xliff:g id="SIMNUMBER">%d</xliff:g> ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵੱਲੋਂ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਬੰਦ ਹੈ"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਨੂੰ ਬਦਲ ਕੇ ਦੇਖੋ। ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ਸ਼ਾਇਦ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ ਉਪਲਬਧ ਨਾ ਹੋਣ"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ਵੱਲੋਂ ਵਾਈ-ਫਾਈ \'ਤੇ ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਵੇਰਵਿਆਂ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"ਸੰਕਟਕਾਲੀਨ ਕਾਲਿੰਗ ਉਪਲਬਧ ਨਹੀਂ"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"ਵਾਈ-ਫਾਈ ਰਾਹੀਂ ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ ਨਹੀਂ ਕਰ ਸਕਦੇ"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ਸੁਚੇਤਨਾਵਾਂ"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ਕਾਲ ਫਾਰਵਰਡਿੰਗ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"ਸੰਕਟਕਾਲੀਨ ਕਾਲਬੈਕ ਮੋਡ"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਐਪ ਇਸ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ <xliff:g id="DEVICE">%1$s</xliff:g> \'ਤੇ ਇਸ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇਸਦੀ ਬਜਾਏ ਆਪਣੇ Android TV ਡੀਵਾਈਸ \'ਤੇ ਵਰਤ ਕੇ ਦੇਖੋ।"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ <xliff:g id="DEVICE">%1$s</xliff:g> \'ਤੇ ਇਸ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇਸਦੀ ਬਜਾਏ ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਵਰਤ ਕੇ ਦੇਖੋ।"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ਇਸ ਸਮੇਂ ਤੁਹਾਡੇ <xliff:g id="DEVICE">%1$s</xliff:g> \'ਤੇ ਇਸ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇਸਦੀ ਬਜਾਏ ਆਪਣੇ ਫ਼ੋਨ \'ਤੇ ਵਰਤ ਕੇ ਦੇਖੋ।"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ਇਹ ਐਪ Android ਦੇ ਕਿਸੇ ਵਧੇਰੇ ਪੁਰਾਣੇ ਵਰਜਨ ਲਈ ਬਣਾਈ ਗਈ ਸੀ ਅਤੇ ਸ਼ਾਇਦ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰੇ। ਅੱਪਡੇਟਾਂ ਲਈ ਜਾਂਚ ਕਰੋ ਜਾਂ ਵਿਕਾਸਕਾਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ਅੱਪਡੇਟ ਲਈ ਜਾਂਚ ਕਰੋ"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"ਤੁਹਾਨੂੰ ਨਵੇਂ ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਹੋਏ ਹਨ"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"ਹੋਰ ਜਾਣਨ ਲਈ ਅਤੇ ਬਦਲਾਅ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਵਿਕਲਪ ਬਦਲ ਗਿਆ ਹੈ"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"ਟੈਪ ਕਰਕੇ ਦੋਖੋ ਕਿ ਕਿਹੜੀਆਂ ਚੀਜ਼ਾਂ ਬਲਾਕ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ਸਿਸਟਮ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ਸੈਟਿੰਗਾਂ"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"ਕੈਮਰਾ"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 1523def..6d9c4b6 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Tymczasowo wyłączone przez operatora karty SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Brak zasięgu sieci komórkowej"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Spróbuj zmienić preferowaną sieć. Kliknij, by zmienić."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Połączenia alarmowe mogą nie być dostępne."</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> nie obsługuje połączeń alarmowych przez Wi-Fi. Kliknij, aby wyświetlić szczegóły."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Połączenia alarmowe są niedostępne"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nie można nawiązywać połączeń alarmowych przez Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerty"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Przekierowanie połączeń"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Tryb alarmowego połączenia zwrotnego"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> jest obecnie niedostępna."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> – brak dostępu"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Wymagane są uprawnienia"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"W tej chwili nie można z tego skorzystać na urządzeniu <xliff:g id="DEVICE">%1$s</xliff:g>. Użyj urządzenia z Androidem TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"W tej chwili nie można z tego skorzystać na urządzeniu <xliff:g id="DEVICE">%1$s</xliff:g>. Użyj tabletu."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"W tej chwili nie można z tego skorzystać na urządzeniu <xliff:g id="DEVICE">%1$s</xliff:g>. Użyj telefonu."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ta aplikacja jest na starszą wersję Androida i może nie działać prawidłowo. Sprawdź dostępność aktualizacji lub skontaktuj się z programistą."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Sprawdź dostępność aktualizacji"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Masz nowe wiadomości"</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Kliknij, by dowiedzieć się więcej i zmienić ustawienia."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Zmiany w trybie Nie przeszkadzać"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Kliknij, by sprawdzić, co jest zablokowane."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ustawienia"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Aparat"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 4882dcf..4c25913 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporariamente desativado pela sua operadora para o chip <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Não foi possível acessar a rede móvel"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Tente alterar a rede preferencial. Toque para alterar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"As chamadas de emergência podem estar indisponíveis"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> não tem suporte a chamadas de emergência por Wi-Fi. Toque para ver detalhes."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Chamadas de emergência indisponíveis"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Não é possível fazer chamadas de emergência por Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Encaminhamento de chamada"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de retorno de chamada de emergência"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não está disponível no momento."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> indisponível"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permissão necessária"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo seu tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo seu smartphone."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Este app foi criado para uma versão mais antiga do Android e pode não funcionar corretamente. Tente verificar se há atualizações ou entre em contato com o desenvolvedor."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Procurar atualizações"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Você tem mensagens novas"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toque para saber mais e fazer alterações."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"O modo \"Não perturbe\" foi alterado"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toque para verificar o que está bloqueado."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Configurações"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Câmera"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 4e25e64..8908518 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Serviço temporariamente desativado pelo operador no SIM <xliff:g id="SIMNUMBER">%d</xliff:g>."</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Não é possível estabelecer ligação à rede móvel."</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Experimente alterar a rede preferida. Toque para alterar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"As chamadas de emergência podem estar indisponíveis"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> não suporta chamadas de emergência através de Wi-Fi. Toque para obter detalhes."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Chamadas de emergência indisponíveis"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Não é possível efetuar chamadas de emergência através de Wi‑Fi."</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Reencaminhamento de chamadas"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de chamada de retorno de emergência"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"De momento, a app <xliff:g id="APP_NAME">%1$s</xliff:g> não está disponível."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> indisponível"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Autorização necessária"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"De momento, não é possível aceder a esta app no seu <xliff:g id="DEVICE">%1$s</xliff:g>. Em alternativa, experimente no dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"De momento, não é possível aceder a esta app no seu <xliff:g id="DEVICE">%1$s</xliff:g>. Em alternativa, experimente no tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"De momento, não é possível aceder a esta app no seu <xliff:g id="DEVICE">%1$s</xliff:g>. Em alternativa, experimente no telemóvel."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Esta app foi concebida para uma versão mais antiga do Android e pode não funcionar corretamente. Experimente verificar se existem atualizações ou contacte o programador."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Verificar atualizações"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Tem mensagens novas"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toque para saber mais e alterar."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"O modo Não incomodar foi alterado"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toque para verificar o que está bloqueado."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Definições"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Câmara"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 4882dcf..4c25913 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Temporariamente desativado pela sua operadora para o chip <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Não foi possível acessar a rede móvel"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Tente alterar a rede preferencial. Toque para alterar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"As chamadas de emergência podem estar indisponíveis"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> não tem suporte a chamadas de emergência por Wi-Fi. Toque para ver detalhes."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Chamadas de emergência indisponíveis"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Não é possível fazer chamadas de emergência por Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alertas"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Encaminhamento de chamada"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modo de retorno de chamada de emergência"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não está disponível no momento."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> indisponível"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Permissão necessária"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo dispositivo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo seu tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"No momento, não é possível acessar esse app pelo <xliff:g id="DEVICE">%1$s</xliff:g>. Tente pelo seu smartphone."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Este app foi criado para uma versão mais antiga do Android e pode não funcionar corretamente. Tente verificar se há atualizações ou entre em contato com o desenvolvedor."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Procurar atualizações"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Você tem mensagens novas"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Toque para saber mais e fazer alterações."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"O modo \"Não perturbe\" foi alterado"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Toque para verificar o que está bloqueado."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistema"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Configurações"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Câmera"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 16e097d..a4ecb25 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Dezactivat temporar de operator pentru numărul de card SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Nu se poate stabili conexiunea la rețeaua mobilă"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Încercați să schimbați rețeaua preferată. Atingeți pentru a schimba."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Este posibil ca apelurile de urgență să nu fie disponibile"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> nu acceptă apelurile de urgență prin Wi-Fi. Atingeți pentru detalii."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Apelurile de urgență nu sunt disponibile"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nu puteți efectua apeluri de urgență prin Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Alerte"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Redirecționarea apelurilor"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Mod de apelare inversă de urgență"</string>
@@ -1934,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu este disponibilă momentan."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nu este disponibilă"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Necesită permisiune"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Aplicația nu poate fi accesată pe <xliff:g id="DEVICE">%1$s</xliff:g> momentan. Încercați pe dispozitivul Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Aplicația nu poate fi accesată pe <xliff:g id="DEVICE">%1$s</xliff:g> momentan. Încercați pe tabletă."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Aplicația nu poate fi accesată pe <xliff:g id="DEVICE">%1$s</xliff:g> momentan. Încercați pe telefon."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Această aplicație a fost creată pentru o versiune Android mai veche și este posibil să nu funcționeze corect. Încercați să căutați actualizări sau contactați dezvoltatorul."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Căutați actualizări"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Aveți mesaje noi"</string>
@@ -2041,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Atingeți ca să aflați mai multe și să modificați"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Funcția Nu deranja s-a schimbat"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Atingeți pentru a verifica ce este blocat."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Setări"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Cameră foto"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index 5df213d..7c6b043 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Временно отключено оператором связи для SIM-карты <xliff:g id="SIMNUMBER">%d</xliff:g>."</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Мобильная сеть недоступна"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Нажмите, чтобы выбрать другую сеть."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Экстренные вызовы могут быть недоступны"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не поддерживает экстренные вызовы по Wi-Fi. Нажмите, чтобы узнать больше."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Экстренные вызовы недоступны"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Экстренные вызовы по Wi‑Fi недоступны."</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Оповещения"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Переадресация вызовов"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Режим экстренных обратных вызовов"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" сейчас недоступно."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Недоступно: <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Требуется разрешение"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Эта функция пока недоступна на устройстве <xliff:g id="DEVICE">%1$s</xliff:g>. Используйте Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Эта функция пока недоступна на устройстве <xliff:g id="DEVICE">%1$s</xliff:g>. Используйте планшет."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Эта функция пока недоступна на устройстве <xliff:g id="DEVICE">%1$s</xliff:g>. Используйте телефон."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Это приложение было создано для более ранней версии Android и может работать со сбоями. Проверьте наличие обновлений или свяжитесь с разработчиком."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Проверить обновления"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Новые сообщения"</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Нажмите, чтобы узнать больше и изменить настройки."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Настройки режима \"Не беспокоить\" изменены"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Нажмите, чтобы проверить настройки."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Система"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Настройки"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index 77b351f..37223e9 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> සඳහා ඔබේ වාහකය විසින් තාවකාලිකව ක්රියාවිරහිත කරන ලදී"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"ජංගම ජාලය වෙත ළඟා විය නොහැකිය"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"කැමති ජාලය වෙනස් කිරීමට උත්සාහ කරන්න. වෙනස් කිරීමට තට්ටු කරන්න."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"හදිසි ඇමතුම් ලබා ගත නොහැකි වීමට ඉඩ ඇත"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi හරහා හදිසි ඇමතුම් සඳහා සහාය නොදක්වයි. විස්තර සඳහා තට්ටු කරන්න."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"හදිසි ඇමතුම් ලබා ගත නොහැකිය"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi-Fi හරහා හදිසි ඇමතුම් ලබා ගත නොහැකිය"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"ඇඟවීම්"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"ඇමතුම ප්රතියොමු කිරීම"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"හදිසි අවස්ථා පසු ඇමතුම් ප්රකාරය"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> මේ දැන් ලබා ගත නොහැකිය."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> නොතිබේ"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"අවසරය අවශ්යයි"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"මේ අවස්ථාවේදී මෙයට ඔබගේ <xliff:g id="DEVICE">%1$s</xliff:g> හි ප්රවේශ විය නොහැකිය. ඒ වෙනුවට ඔබගේ Android TV උපාංගයෙහි උත්සාහ කරන්න."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"මේ අවස්ථාවේදී මෙයට ඔබගේ <xliff:g id="DEVICE">%1$s</xliff:g> හි ප්රවේශ විය නොහැකිය. ඒ වෙනුවට ඔබගේ ටැබ්ලටයෙහි උත්සාහ කරන්න."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"මේ අවස්ථාවේදී මෙයට ඔබගේ <xliff:g id="DEVICE">%1$s</xliff:g> හි ප්රවේශ විය නොහැකිය. ඒ වෙනුවට ඔබගේ දුරකථනයෙහි උත්සාහ කරන්න."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"මෙම යෙදුම Android හි පැරණි අනුවාදයක් සඳහා තනා ඇති අතර නිසියාකාරව ක්රියා නොකරනු ඇත. යාවත්කාලීන සඳහා පරික්ෂා කිරීම උත්සාහ කරන්න, නැතහොත් සංවර්ධක අමතන්න."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"යාවත්කාලීන සඳහා පරික්ෂා කරන්න"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"ඔබට නව පණිවිඩ තිබේ"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"තව දැන ගැනීමට සහ වෙනස් කිරීමට තට්ටු කරන්න."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"බාධා නොකරන්න වෙනස් කර ඇත"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"අවහිර කර ඇති දේ පරීක්ෂා කිරීමට තට්ටු කරන්න."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"පද්ධතිය"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"සැකසීම්"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"කැමරාව"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 2abf459..b9edd9a 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Dočasne vypnuté operátorom pre SIM kartu <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Nepodarilo sa pripojiť k mobilnej sieti"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Skúste zmeniť predvolenú sieť. Zmeníte ju klepnutím."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Tiesňové volanie môže byť nedostupné"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> nepodporuje tiesňové volanie cez Wi‑Fi. Klepnutím zobrazíte podrobnosti."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Tiesňové volania nie sú k dispozícii"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nedajú sa uskutočniť tiesňové volania cez Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Upozornenia"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Presmerovanie hovorov"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Režim tiesňového spätného volania"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> nie je teraz dostupná."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nie je k dispozícii"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Vyžaduje sa povolenie"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"V zariadení <xliff:g id="DEVICE">%1$s</xliff:g> momentálne nemáte k tomuto obsahu prístup. Skúste namiesto toho použiť zariadenie Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"V zariadení <xliff:g id="DEVICE">%1$s</xliff:g> momentálne nemáte k tomuto obsahu prístup. Skúste namiesto toho použiť tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"V zariadení <xliff:g id="DEVICE">%1$s</xliff:g> momentálne nemáte k tomuto obsahu prístup. Skúste namiesto toho použiť telefón."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Táto aplikácia bola zostavená pre staršiu verziu Androidu a nemusí správne fungovať. Skúste skontrolovať dostupnosť aktualizácií alebo kontaktovať vývojára."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Skontrolovať dostupnosť aktualizácie"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Máte nové správy."</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Klepnutím získate ďalšie informácie a budete môcť vykonať zmeny."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Režim bez vyrušení sa zmenil"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Klepnutím skontrolujete, čo je blokované."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Systém"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Nastavenia"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotoaparát"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 1b2b383..f7020ae 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Operater je začasno izklopil storitev za kartico SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobilnega omrežja ni mogoče doseči"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Poskusite spremeniti prednostno omrežje. Dotaknite se, če ga želite spremeniti."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Klici v sili morda niso na voljo."</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ne podpira klicev v sili prek Wi-Fi-ja. Dotaknite se za podrobnosti."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Klicanje v sili ni na voljo"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Klicev v sili ni mogoče opravljati prek omrežja Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Opozorila"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Preusmerjanje klicev"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Način za povratni klic v sili"</string>
@@ -1935,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> trenutno ni na voljo."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"»<xliff:g id="ACTIVITY">%1$s</xliff:g>« ni na voljo"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Potrebno je dovoljenje"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"V napravi <xliff:g id="DEVICE">%1$s</xliff:g> trenutno ni mogoče dostopati do te vsebine. Poskusite z napravo Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"V napravi <xliff:g id="DEVICE">%1$s</xliff:g> trenutno ni mogoče dostopati do te vsebine. Poskusite s tabličnim računalnikom."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"V napravi <xliff:g id="DEVICE">%1$s</xliff:g> trenutno ni mogoče dostopati do te vsebine. Poskusite s telefonom."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ta aplikacija je bila zasnovana za starejšo različico Androida in morda ne bo delovala pravilno. Preverite, ali so na voljo posodobitve, ali pa se obrnite na razvijalca."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Preveri, ali je na voljo posodobitev"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Imate nova sporočila."</string>
@@ -2042,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Dotaknite se, če želite izvedeti več in spremeniti."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Način »ne moti« je spremenjen"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Dotaknite se, da preverite, kaj je blokirano."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Nastavitve"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Fotoaparat"</string>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index 693087a..9d4cd999 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Çaktivizuar përkohësisht nga operatori yt celular për kartën SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Rrjeti celular është i paarritshëm"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Provo të ndryshosh rrjetin e preferuar. Trokit për ta ndryshuar."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Telefonatat e urgjencës mund të mos ofrohen"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> nuk i mbështet telefonatat e urgjencës nëpërmjet Wi-Fi. Trokit për detaje."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Telefonatat e urgjencës nuk ofrohen"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Nuk mund të kryhen telefonata urgjence me Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Sinjalizimet"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Transferimi i telefonatave"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Modaliteti i \"Kthimit të telefonatës së urgjencës\""</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Gabim gjatë vërtetimit"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Përdor kyçjen e ekranit"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Fut kyçjen e ekranit për të vazhduar"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Shtyp fort te sensori"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Gjurma e gishtit nuk mund të përpunohej. Provo përsëri."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Pastro sensorin e gjurmës së gishtit dhe provo sërish"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Pastro sensorin dhe provo sërish"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Gjurma e gishtit nuk u njoh"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Gjurma e gishtit nuk u njoh"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Gjurma e gishtit u vërtetua"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Fytyra u vërtetua"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Fytyra u vërtetua, shtyp \"Konfirmo\""</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk ofrohet për momentin."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> nuk ofrohet"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Kërkohet leje"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Qasja është e pamundur në <xliff:g id="DEVICE">%1$s</xliff:g> për momentin. Provoje në pajisjen Android TV më mirë."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Qasja është e pamundur në <xliff:g id="DEVICE">%1$s</xliff:g> për momentin. Provoje në tablet më mirë."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Qasja është e pamundur në <xliff:g id="DEVICE">%1$s</xliff:g> për momentin. Provoje në telefon më mirë."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ky aplikacion është ndërtuar për një version më të vjetër të Android dhe mund të mos funksionojë mirë. Provo të kontrollosh për përditësime ose kontakto me zhvilluesin."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Kontrollo për përditësim"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Ke mesazhe të reja"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"HAPE GJITHSESI"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"U gjet aplikacion i dëmshëm"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Të lejohet që <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> të ketë qasje te të gjitha evidencat e pajisjes?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Lejo qasjen vetëm për një herë"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Mos lejo"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Evidencat e pajisjes regjistrojnë çfarë ndodh në pajisjen tënde. Aplikacionet mund t\'i përdorin këto evidenca për të gjetur dhe rregulluar problemet.\n\nDisa evidenca mund të përmbajnë informacione delikate, ndaj lejo vetëm aplikacionet që u beson të kenë qasje te të gjitha evidencat e pajisjes. \n\nNëse nuk e lejon këtë aplikacion që të ketë qasje tek të gjitha evidencat e pajisjes, ai mund të vazhdojë të ketë qasje tek evidencat e tij. Prodhuesi i pajisjes sate mund të jetë ende në gjendje që të ketë qasje te disa evidenca ose informacione në pajisjen tënde. Mëso më shumë"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Mos e shfaq më"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Trokit për të mësuar më shumë dhe për të ndryshuar."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\"Mos shqetëso\" ka ndryshuar"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Trokit për të shënuar atë që është bllokuar"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistemi"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Cilësimet"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> i përkthyer."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Mesazhi u përkthye nga <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> në <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Aktiviteti në sfond"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Një aplikacion po përdor baterinë"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Një aplikacion është ende aktiv"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> po përdor baterinë në sfond. Trokit për ta rishikuar."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> mund të kenë ndikim në kohëzgjatjen e baterisë. Trokit për të rishikuar aplikacionet aktive."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Kontrollo aplikacionet aktive"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Nuk mund të qasesh në kamerën e telefonit tënd nga <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Nuk mund të qasesh në kamerën e tabletit tënd nga <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index c5f3ec7..fa4cafb 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -86,8 +86,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Привремено је искључио мобилни оператер за SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Повезивање са мобилном мрежом није успело"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Пробајте да промените жељену мрежу. Додирните да бисте променили."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Хитни позиви можда нису доступни"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не подржава хитне позиве преко WiFi-ја. Додирните за детаље."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Хитни позиви нису доступни"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Не можете да упућујете хитне позиве преко Wi‑Fi-ја"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Обавештења"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Преусмеравање позива"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Режим за хитан повратни позив"</string>
@@ -1934,9 +1934,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> тренутно није доступна."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> – није доступно"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Потребна је дозвола"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Овој апликацији тренутно не може да се приступи са уређаја <xliff:g id="DEVICE">%1$s</xliff:g>. Пробајте на Android TV уређају."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Овој апликацији тренутно не може да се приступи са уређаја <xliff:g id="DEVICE">%1$s</xliff:g>. Пробајте на таблету."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Овој апликацији тренутно не може да се приступи са уређаја <xliff:g id="DEVICE">%1$s</xliff:g>. Пробајте на телефону."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ова апликација је направљена за старију верзију Android-а, па можда неће радити исправно. Потражите ажурирања или контактирајте програмера."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Потражи ажурирање"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Имате нове поруке"</string>
@@ -2041,6 +2068,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Додирните да бисте сазнали више и променили подешавање."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Режим Не узнемиравај је промењен"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Додирните да бисте проверили шта је блокирано."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Систем"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Подешавања"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 674d9e0..13b1fcd 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Tillfälligt avstängt av operatören för SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Det går inte att nå mobilnätverket"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Testa att byta föredraget nätverk. Tryck om du vill ändra."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Nödsamtal kan vara otillgängligt"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> har inte stöd för nödsamtal via wifi. Tryck här för mer information."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Det går inte att ringa nödsamtal"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Det går inte att ringa nödsamtal via Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Aviseringar"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Vidarekoppla samtal"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Läget Återuppringning vid nödsamtal"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Ett fel uppstod vid autentiseringen"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Använd skärmlåset"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Fortsätt med hjälp av ditt skärmlås"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Tryck på sensorn med ett stadigt tryck"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Det gick inte att bearbeta fingeravtrycket. Försök igen."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Rengör fingeravtryckssensorn och försök igen"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Rengör sensorn och försök igen"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Fingeravtrycket känns inte igen"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Fingeravtrycket känns inte igen"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Fingeravtrycket har autentiserats"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Ansiktet har autentiserats"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Ansiktet har autentiserats. Tryck på Bekräfta"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> är inte tillgängligt just nu."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> är inte tillgänglig"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Behörighet krävs"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Det går inte att streama detta till <xliff:g id="DEVICE">%1$s</xliff:g> för närvarande. Testa med Android TV-enheten i stället."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Det går inte att streama detta till <xliff:g id="DEVICE">%1$s</xliff:g> för närvarande. Testa med surfplattan i stället."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Det går inte att streama detta till <xliff:g id="DEVICE">%1$s</xliff:g> för närvarande. Testa med telefonen i stället."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Appen har utvecklats för en äldre version av Android och kanske inte fungerar som den ska. Testa att söka efter uppdateringar eller kontakta utvecklaren."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Sök efter uppdateringar"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Du har nya meddelanden"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"ÖPPNA ÄNDÅ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"En skadlig app har upptäckts"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Vill du tillåta att <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> får åtkomst till alla enhetsloggar?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Tillåt engångsåtkomst"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Tillåt inte"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"I enhetsloggar registreras vad som händer på enheten. Appar kan använda dessa loggar för att hitta och åtgärda problem.\n\nVissa loggar kan innehålla känsliga uppgifter, så du ska bara bevilja appar du litar på åtkomst till alla enhetsloggar. \n\nEn app har åtkomst till sina egna loggar även om du inte ger den åtkomst till alla enhetsloggar. Enhetens tillverkare kan fortfarande ha åtkomst till vissa loggar eller viss information på enheten. Läs mer"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Visa inte igen"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Tryck här om du vill läsa mer och ändra inställningarna."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Stör ej har ändrats"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Tryck om du vill se vad som blockeras."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Inställningar"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> har översatts."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Meddelandet har översatts från <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> till<xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Bakgrundsaktivitet"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"En app använder batteriet"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"En app är fortfarande aktiv"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> använder batteriet i bakgrunden. Tryck för att granska."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> kan påverka batteritiden. Tryck för att granska de aktiva apparna."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Kontrollera aktiva appar"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Telefonens kamera kan inte användas från <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Surfplattans kamera kan inte användas från <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index d967758..031fad5 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Mtoa huduma wako ameizima kwa muda mfupi katika SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Imeshindwa kufikia mtandao wa simu"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Jaribu kutumia mtandao unaopendelea. Gusa ili ubadilishe."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Huenda simu ya dharura isipatikane"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> haitumii simu ya dharura kupitia Wi-Fi Gusa ili upate maelezo."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Huduma ya kupiga simu za dharura haipatikani"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Huwezi kupiga simu ya dharura kupitia Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Arifa"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Kupeleka simu kwenye nambari nyingine"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Hali ya kupiga simu za dharura"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Hitilafu imetokea wakati wa uthibitishaji"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Tumia mbinu ya kufunga skrini"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Weka mbinu yako ya kufunga skrini ili uendelee"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Bonyeza kwa uthabiti kwenye kitambuzi"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Imeshindwa kuchakata alama ya kidole. Tafadhali jaribu tena."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Safisha kitambua alama ya kidole kisha ujaribu tena"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Safisha kitambuzi kisha ujaribu tena"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Alama ya kidole haijatambuliwa"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Alama ya kidole haijatambuliwa"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Imethibitisha alama ya kidole"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Uso umethibitishwa"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Uso umethibitishwa, tafadhali bonyeza thibitisha"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> haipatikani hivi sasa."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> haipatikani"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Ruhusa inahitajika"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Programu hii haiwezi kufikiwa kwenye <xliff:g id="DEVICE">%1$s</xliff:g> kwa muda huu. Badala yake jaribu kwenye kifaa chako cha Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Programu hii haiwezi kufikiwa kwenye <xliff:g id="DEVICE">%1$s</xliff:g> kwa muda huu. Badala yake jaribu kwenye kompyuta kibao yako."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Programu hii haiwezi kufikiwa kwenye <xliff:g id="DEVICE">%1$s</xliff:g> kwa muda huu. Badala yake jaribu kwenye simu yako."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Programu hii iliundwa kwa ajili ya toleo la zamani la Android na huenda isifanye kazi vizuri. Jaribu kuangalia masasisho au uwasiliane na msanidi programu."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Angalia masasisho"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Una ujumbe mpya"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"FUNGUA TU"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Imetambua programu hatari"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Ungependa kuruhusu <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> ifikie kumbukumbu zote za kifaa?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Ruhusu ufikiaji wa mara moja"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Usiruhusu"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Kumbukumbu za kifaa hurekodi kinachofanyika kwenye kifaa chako. Programu zinaweza kutumia kumbukumbu hizi ili kutambua na kurekebisha hitilafu.\n\nBaadhi ya kumbukumbu huenda zikawa na taarifa nyeti, hivyo ruhusu tu programu unazoziamini kufikia kumbukumbu zote za kifaa. \n\nIwapo hutaruhusu programu hii ifikie kumbukumbu zote za kifaa, bado inaweza kufikia kumbukumbu zake yenyewe. Mtengenezaji wa kifaa chako bado anaweza kufikia baadhi ya kumbukumbu au taarifa zilizopo kwenye kifaa chako. Pata maelezo zaidi"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Usionyeshe tena"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Gusa ili upate maelezo zaidi na ubadilishe."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Kipengele cha Usinisumbue kimebadilishwa"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Gusa ili uangalie kipengee ambacho kimezuiwa."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Mfumo"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Mipangilio"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> Imetafsiriwa."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Ujumbe umetafsiriwa kwa <xliff:g id="TO_LANGUAGE">%2$s</xliff:g> kutoka <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Shughuli za Chinichini"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Programu inatumia betri"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Programu bado inatumika"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> inatumia betri chinichini. Gusa ili ukague."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> inaweza kuathiri muda wa matumizi ya betri. Gusa ili ukague programu zinazotumika."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Angalia programu zinazotumika"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Haiwezi kufikia kamera ya simu kutoka kwenye <xliff:g id="DEVICE">%1$s</xliff:g> yako"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Haiwezi kufikia kamera ya kompyuta kibao kutoka kwenye <xliff:g id="DEVICE">%1$s</xliff:g> yako"</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index 0c0484e..4ddfccba 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"சிம் <xliff:g id="SIMNUMBER">%d</xliff:g>ஐ, உங்கள் மொபைல் நிறுவனம் தற்காலிகமாக ஆஃப் செய்துள்ளது"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"மொபைல் நெட்வொர்க் கிடைக்கவில்லை"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"விருப்ப நெட்வொர்க்கை மாற்றவும். மாற்ற, தட்டவும்."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"அவசர அழைப்புகளை மேற்கொள்ள முடியாமல் போகலாம்"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> இல் வைஃபை மூலம் அவசர அழைப்புகளை மேற்கொள்ள முடியாது. விவரங்களைப் பார்க்க தட்டவும்."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"அவசர அழைப்பைச் செய்ய முடியாது"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"வைஃபை மூலம் அவசர அழைப்புகளைச் செய்ய முடியாது"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"விழிப்பூட்டல்கள்"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"அழைப்பு திருப்பிவிடுதல்"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"அவசரகாலத் திரும்ப அழைக்கும் பயன்முறை"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸ் இப்போது கிடைப்பதில்லை."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> இல்லை"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"அனுமதி தேவை"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"தற்போது உங்கள் <xliff:g id="DEVICE">%1$s</xliff:g> சாதனத்தில் இதை அணுக முடியாது. அதற்குப் பதிலாக Android TV சாதனத்தில் பயன்படுத்திப் பாருங்கள்."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"தற்போது உங்கள் <xliff:g id="DEVICE">%1$s</xliff:g> சாதனத்தில் இதை அணுக முடியாது. அதற்குப் பதிலாக உங்கள் டேப்லெட்டில் பயன்படுத்திப் பாருங்கள்."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"தற்போது உங்கள் <xliff:g id="DEVICE">%1$s</xliff:g> சாதனத்தில் இதை அணுக முடியாது. அதற்குப் பதிலாக உங்கள் மொபைலில் பயன்படுத்திப் பாருங்கள்."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"இந்த ஆப்ஸ் Android இன் பழைய பதிப்புக்காக உருவாக்கப்பட்டதால், சரியாக வேலை செய்யாமல் போகலாம். புதுப்பிப்புகள் ஏதேனும் உள்ளதா எனப் பார்க்கவும் அல்லது டெவெலப்பரைத் தொடர்புகொள்ளவும்."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"புதுப்பிப்பு உள்ளதா எனப் பார்"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"புதிய செய்திகள் வந்துள்ளன"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"மேலும் அறிந்து மாற்ற, தட்டவும்."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"தொந்தரவு செய்ய வேண்டாம் அமைப்புகள் மாற்றப்பட்டன"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"எவற்றையெல்லாம் தடுக்கிறது என்பதைப் பார்க்க, தட்டவும்."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"சிஸ்டம்"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"அமைப்புகள்"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"கேமரா"</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 1a4f904..851d17e 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> కోసం మీ క్యారియర్ తాత్కాలికంగా ఆఫ్ చేశారు"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"మొబైల్ నెట్వర్క్ అందుబాటులో లేదు"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ప్రాధాన్య నెట్వర్క్ను మార్చుకోవడానికి ప్రయత్నించండి. మార్చడానికి నొక్కండి."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"అత్యవసర కాల్లు అందుబాటులో ఉండకపోవచ్చు"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"Wi-Fi ద్వారా ఎమర్జెన్సీ కాల్స్కు <xliff:g id="SPN">%s</xliff:g> సపోర్ట్ చేయదు. వివరాల కోసం ట్యాప్ చేయండి."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"అత్యవసర కాలింగ్ అందుబాటులో లేదు"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi-Fiతో అత్యవసర కాల్స్ చేయలేరు"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"అలర్ట్లు"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"కాల్ ఫార్వార్డింగ్"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"అత్యవసర కాల్బ్యాక్ మోడ్"</string>
@@ -382,17 +382,17 @@
<string name="permlab_manageProfileAndDeviceOwners" msgid="639849495253987493">"ప్రొఫైల్ మరియు పరికర యజమానులను నిర్వహించడం"</string>
<string name="permdesc_manageProfileAndDeviceOwners" msgid="7304240671781989283">"ప్రొఫైల్ యజమానులను మరియు పరికరం యజమానిని సెట్ చేయడానికి యాప్లను అనుమతిస్తుంది."</string>
<string name="permlab_reorderTasks" msgid="7598562301992923804">"అమలవుతోన్న యాప్లను మళ్లీ క్రమం చేయడం"</string>
- <string name="permdesc_reorderTasks" msgid="8796089937352344183">"విధులను ముందుకు మరియు నేపథ్యానికి తరలించడానికి యాప్ను అనుమతిస్తుంది. యాప్ మీ ప్రమేయం లేకుండానే దీన్ని చేయవచ్చు."</string>
+ <string name="permdesc_reorderTasks" msgid="8796089937352344183">"విధులను ముందుకు మరియు బ్యాక్గ్రౌండ్కు తరలించడానికి యాప్ను అనుమతిస్తుంది. యాప్ మీ ప్రమేయం లేకుండానే దీన్ని చేయవచ్చు."</string>
<string name="permlab_enableCarMode" msgid="893019409519325311">"కారు మోడ్ను ప్రారంభించడం"</string>
<string name="permdesc_enableCarMode" msgid="56419168820473508">"కారు మోడ్ను ప్రారంభించడానికి యాప్ను అనుమతిస్తుంది."</string>
<string name="permlab_killBackgroundProcesses" msgid="6559320515561928348">"ఇతర యాప్లను మూసివేయడం"</string>
<string name="permdesc_killBackgroundProcesses" msgid="2357013583055434685">"ఇతర యాప్ల నేపథ్య ప్రాసెస్లను ముగించడానికి యాప్ను అనుమతిస్తుంది. దీని వలన ఇతర యాప్లు అమలు కాకుండా ఆపివేయబడవచ్చు."</string>
<string name="permlab_systemAlertWindow" msgid="5757218350944719065">"ఈ యాప్ ఇతర యాప్ల పైభాగాన కనిపించగలదు"</string>
<string name="permdesc_systemAlertWindow" msgid="1145660714855738308">"ఈ యాప్ ఇతర యాప్ల పైభాగాన లేదా స్క్రీన్ యొక్క ఇతర భాగాలపైన కనిపించగలదు. ఇది సాధారణ యాప్ వినియోగానికి అంతరాయం కలిగించవచ్చు మరియు ఆ ఇతర యాప్లు కనిపించే విధానాన్ని మార్చవచ్చు."</string>
- <string name="permlab_runInBackground" msgid="541863968571682785">"నేపథ్యంలో అమలు చేయండి"</string>
- <string name="permdesc_runInBackground" msgid="4344539472115495141">"ఈ యాప్ నేపథ్యంలో అమలు కావచ్చు. దీని వలన ఎక్కువ బ్యాటరీ శక్తి వినియోగం కావచ్చు."</string>
- <string name="permlab_useDataInBackground" msgid="783415807623038947">"నేపథ్యంలో డేటాను ఉపయోగించండి"</string>
- <string name="permdesc_useDataInBackground" msgid="1230753883865891987">"ఈ యాప్ నేపథ్యంలో డేటాను ఉపయోగించవచ్చు. దీని వలన డేటా వినియోగం అధికం కావచ్చు."</string>
+ <string name="permlab_runInBackground" msgid="541863968571682785">"బ్యాక్గ్రౌండ్లో అమలు చేయండి"</string>
+ <string name="permdesc_runInBackground" msgid="4344539472115495141">"ఈ యాప్ బ్యాక్గ్రౌండ్లో అమలు కావచ్చు. దీని వలన ఎక్కువ బ్యాటరీ శక్తి వినియోగం కావచ్చు."</string>
+ <string name="permlab_useDataInBackground" msgid="783415807623038947">"బ్యాక్గ్రౌండ్లో డేటాను ఉపయోగించండి"</string>
+ <string name="permdesc_useDataInBackground" msgid="1230753883865891987">"ఈ యాప్ బ్యాక్గ్రౌండ్లో డేటాను ఉపయోగించవచ్చు. దీని వలన డేటా వినియోగం అధికం కావచ్చు."</string>
<string name="permlab_persistentActivity" msgid="464970041740567970">"యాప్ను ఎల్లప్పుడూ అమలు చేయడం"</string>
<string name="permdesc_persistentActivity" product="tablet" msgid="6055271149187369916">"యాప్, దాని భాగాలు మెమరీలో ఉండేలా చేయడానికి దానిని అనుమతిస్తుంది. ఇది ఇతర యాప్లకు అందుబాటులో ఉన్న మెమరీని ఆక్రమిస్తుంది, టాబ్లెట్ నెమ్మదిగా పని చేస్తుంది."</string>
<string name="permdesc_persistentActivity" product="tv" msgid="6800526387664131321">"యాప్, దాని భాగాలు మెమరీలో ఉండేలా చేయడానికి దానిని అనుమతిస్తుంది. ఇది ఇతర యాప్లకు అందుబాటులో ఉన్న మెమరీని ఆక్రమిస్తుంది, మీ Android TV పరికరం నెమ్మదిగా పని చేస్తుంది."</string>
@@ -420,7 +420,7 @@
<string name="permdesc_writeContacts" product="tv" msgid="6488872735379978935">"మీ Android TV పరికరంలో నిల్వ చేసి ఉన్న కాంటాక్ట్లకు సంబంధించిన డేటాను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. ఈ అనుమతి, కాంటాక్ట్ డేటాను తొలగించడానికి యాప్లను అనుమతిస్తుంది."</string>
<string name="permdesc_writeContacts" product="default" msgid="8304795696237065281">"మీ ఫోన్లో నిల్వ చేసి ఉన్న కాంటాక్ట్లకు సంబంధించిన డేటాను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. ఈ అనుమతి, కాంటాక్ట్ డేటాను తొలగించడానికి యాప్లను అనుమతిస్తుంది."</string>
<string name="permlab_readCallLog" msgid="1739990210293505948">"కాల్ లాగ్ను చదవడం"</string>
- <string name="permdesc_readCallLog" msgid="8964770895425873433">"ఈ యాప్ మీ కాల్ చరిత్రను చదవగలదు."</string>
+ <string name="permdesc_readCallLog" msgid="8964770895425873433">"ఈ యాప్ మీ కాల్ హిస్టరీని చదవగలదు."</string>
<string name="permlab_writeCallLog" msgid="670292975137658895">"కాల్ లాగ్ను రాయడం"</string>
<string name="permdesc_writeCallLog" product="tablet" msgid="2657525794731690397">"ఇన్కమింగ్ మరియు అవుట్గోయింగ్ కాల్స్ల గురించిన డేటాతో సహా మీ టాబ్లెట్ యొక్క కాల్ లాగ్ను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. హానికరమైన యాప్లు మీ కాల్ లాగ్ను ఎరేజ్ చేయడానికి లేదా ఎడిట్ చేయడానికి దీన్ని ఉపయోగించవచ్చు."</string>
<string name="permdesc_writeCallLog" product="tv" msgid="3934939195095317432">"ఇన్కమింగ్ మరియు అవుట్గోయింగ్ కాల్స్కు సంబంధించిన డేటాతో సహా మీ Android TV పరికరం కాల్ లాగ్ను ఎడిట్ చేయడానికి యాప్ని అనుమతిస్తుంది. హానికరమైన యాప్లు మీ కాల్ లాగ్ను తీసివేయడానికి లేదా ఎడిట్ చేయడానికి దీన్ని ఉపయోగించవచ్చు."</string>
@@ -1037,8 +1037,8 @@
<string name="permdesc_readHistoryBookmarks" msgid="2323799501008967852">"బ్రౌజర్ సందర్శించిన అన్ని URLల చరిత్ర గురించి మరియు అన్ని బ్రౌజర్ బుక్మార్క్ల గురించి చదవడానికి యాప్ను అనుమతిస్తుంది. గమనిక: ఈ అనుమతి మూడవ పక్షం బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్ల ద్వారా అమలు చేయబడకపోవచ్చు."</string>
<string name="permlab_writeHistoryBookmarks" msgid="6090259925187986937">"వెబ్ బుక్మార్క్లు మరియు చరిత్రను రాయడం"</string>
<string name="permdesc_writeHistoryBookmarks" product="tablet" msgid="573341025292489065">"మీ టాబ్లెట్లో నిల్వ చేయబడిన బ్రౌజర్ హిస్టరీని, బుక్మార్క్లను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. ఇది బ్రౌజర్ డేటాను ఎరేజ్ చేయడానికి లేదా ఎడిట్ చేయడానికి యాప్ను అనుమతించవచ్చు. గమనిక: ఈ అనుమతిని థర్డ్ పార్టీ బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్లు అమలు చేయకపోవచ్చు."</string>
- <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="88642768580408561">"మీ Android TV పరికరంలో నిల్వ చేసిన బ్రౌజర్ చరిత్ర లేదా బుక్మార్క్లను ఎడిట్ చేయడానికి యాప్ని అనుమతిస్తుంది. ఇది బ్రౌజర్ డేటాను తీసివేయడానికి లేదా ఎడిట్ చేయడానికి యాప్ని అనుమతించవచ్చు. గమనిక: ఈ అనుమతి మూడవ-పక్ష బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్ల ద్వారా అమలు కాకపోవచ్చు."</string>
- <string name="permdesc_writeHistoryBookmarks" product="default" msgid="2245203087160913652">"మీ ఫోన్లో నిల్వ చేయబడిన బ్రౌజర్ చరిత్రను లేదా బుక్మార్క్లను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. ఇది బ్రౌజర్ డేటాను ఎరేజ్ చేయడానికి లేదా ఎడిట్ చేయడానికి యాప్ను అనుమతించవచ్చు. గమనిక: ఈ అనుమతి మూడవ పక్షం బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్ల ద్వారా అమలు చేయబడకపోవచ్చు."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="tv" msgid="88642768580408561">"మీ Android TV పరికరంలో నిల్వ చేసిన బ్రౌజర్ హిస్టరీ లేదా బుక్మార్క్లను ఎడిట్ చేయడానికి యాప్ని అనుమతిస్తుంది. ఇది బ్రౌజర్ డేటాను తీసివేయడానికి లేదా ఎడిట్ చేయడానికి యాప్ని అనుమతించవచ్చు. గమనిక: ఈ అనుమతి మూడవ-పక్ష బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్ల ద్వారా అమలు కాకపోవచ్చు."</string>
+ <string name="permdesc_writeHistoryBookmarks" product="default" msgid="2245203087160913652">"మీ ఫోన్లో నిల్వ చేయబడిన బ్రౌజర్ హిస్టరీని లేదా బుక్మార్క్లను ఎడిట్ చేయడానికి యాప్ను అనుమతిస్తుంది. ఇది బ్రౌజర్ డేటాను ఎరేజ్ చేయడానికి లేదా ఎడిట్ చేయడానికి యాప్ను అనుమతించవచ్చు. గమనిక: ఈ అనుమతి మూడవ పక్షం బ్రౌజర్లు లేదా వెబ్ బ్రౌజింగ్ సామర్థ్యాలు గల ఇతర యాప్ల ద్వారా అమలు చేయబడకపోవచ్చు."</string>
<string name="permlab_setAlarm" msgid="1158001610254173567">"అలారం సెట్ చేయడం"</string>
<string name="permdesc_setAlarm" msgid="2185033720060109640">"ఇన్స్టాల్ చేయబడిన అలారం గడియారం యాప్లో అలారంను సెట్ చేయడానికి యాప్ను అనుమతిస్తుంది. కొన్ని అలారం గల గడియారం యాప్లు ఈ ఫీచర్ను అమలు చేయకపోవచ్చు."</string>
<string name="permlab_addVoicemail" msgid="4770245808840814471">"వాయిస్ మెయిల్ను జోడించడం"</string>
@@ -1613,7 +1613,7 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"వైర్లెస్ డిస్ప్లే"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"ప్రసారం చేయండి"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"పరికరానికి కనెక్ట్ చేయండి"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"స్క్రీన్ను పరికరానికి కాస్ట్ చేయండి"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"స్క్రీన్ను పరికరానికి ప్రసారం చేయండి"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"డివైజ్ల కోసం వెతుకుతోంది…"</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"సెట్టింగ్లు"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"డిస్కనెక్ట్ చేయి"</string>
@@ -1695,7 +1695,7 @@
<string name="disable_accessibility_shortcut" msgid="5806091378745232383">"షార్ట్కట్ను ఆఫ్ చేయి"</string>
<string name="leave_accessibility_shortcut_on" msgid="6543362062336990814">"షార్ట్కట్ను ఉపయోగించు"</string>
<string name="color_inversion_feature_name" msgid="326050048927789012">"కలర్ మార్పిడి"</string>
- <string name="color_correction_feature_name" msgid="3655077237805422597">"కలర్ సరిచేయడం"</string>
+ <string name="color_correction_feature_name" msgid="3655077237805422597">"కలర్ కరెక్షన్"</string>
<string name="one_handed_mode_feature_name" msgid="2334330034828094891">"వన్-హ్యాండెడ్ మోడ్"</string>
<string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"కాంతిని మరింత డిమ్ చేయడం"</string>
<string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"వాల్యూమ్ కీలు నొక్కి ఉంచబడ్డాయి. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ఆన్ చేయబడింది"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ప్రస్తుతం అందుబాటులో లేదు."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> అందుబాటులో లేదు"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"అనుమతి అవసరం"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"ఈ సమయంలో మీ <xliff:g id="DEVICE">%1$s</xliff:g>లో దీన్ని యాక్సెస్ చేయడం సాధ్యపడదు. బదులుగా మీ Android TV పరికరంలో ట్రై చేయండి."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"ఈ సమయంలో మీ <xliff:g id="DEVICE">%1$s</xliff:g>లో దీన్ని యాక్సెస్ చేయడం సాధ్యపడదు. బదులుగా మీ టాబ్లెట్లో ట్రై చేయండి."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"ఈ సమయంలో మీ <xliff:g id="DEVICE">%1$s</xliff:g>లో దీన్ని యాక్సెస్ చేయడం సాధ్యపడదు. బదులుగా మీ ఫోన్లో ట్రై చేయండి."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"ఈ యాప్ పాత వెర్షన్ Android కోసం రూపొందించబడింది మరియు అది సరిగ్గా పని చేయకపోవచ్చు. అప్డేట్ల కోసం తనిఖీ చేయడానికి ప్రయత్నించండి లేదా డెవలపర్ని సంప్రదించండి."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"అప్డేట్ కోసం తనిఖీ చేయండి"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"మీకు కొత్త మెసేజ్లు ఉన్నాయి"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"మరింత తెలుసుకోవడానికి మరియు మార్చడానికి నొక్కండి."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"అంతరాయం కలిగించవద్దు మార్చబడింది"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"బ్లాక్ చేయబడిన దాన్ని తనిఖీ చేయడానికి నొక్కండి."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"సిస్టమ్"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"సెట్టింగ్లు"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"కెమెరా"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 845d218..adf04ed 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"ปิดชั่วคราวโดยผู้ให้บริการของซิม <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"เชื่อมต่อเครือข่ายมือถือไม่ได้"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ลองเปลี่ยนเครือข่ายที่ต้องการ แตะเพื่อเปลี่ยน"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"หมายเลขฉุกเฉินอาจไม่สามารถใช้งานได้"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> ไม่รองรับการโทรไปยังหมายเลขฉุกเฉินผ่าน Wi-Fi แตะเพื่อดูรายละเอียด"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"โทรหาหมายเลขฉุกเฉินไม่ได้"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"โทรหาหมายเลขฉุกเฉินผ่าน Wi‑Fi ไม่ได้"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"การแจ้งเตือน"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"การโอนสาย"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"โหมดติดต่อกลับฉุกเฉิน"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"การตรวจสอบข้อผิดพลาด"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"ใช้การล็อกหน้าจอ"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"ป้อนข้อมูลการล็อกหน้าจอเพื่อดำเนินการต่อ"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"กดเซ็นเซอร์ให้แน่น"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"ประมวลผลลายนิ้วมือไม่ได้ โปรดลองอีกครั้ง"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"ทำความสะอาดเซ็นเซอร์ลายนิ้วมือแล้วลองอีกครั้ง"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"ทำความสะอาดเซ็นเซอร์แล้วลองอีกครั้ง"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"ไม่รู้จักลายนิ้วมือ"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"ไม่รู้จักลายนิ้วมือ"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"ตรวจสอบสิทธิ์ลายนิ้วมือแล้ว"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"ตรวจสอบสิทธิ์ใบหน้าแล้ว"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"ตรวจสอบสิทธิ์ใบหน้าแล้ว โปรดกดยืนยัน"</string>
@@ -1853,7 +1851,7 @@
<string name="confirm_battery_saver" msgid="5247976246208245754">"ตกลง"</string>
<string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"โหมดประหยัดแบตเตอรี่จะเปิดธีมมืดและจำกัดหรือปิดกิจกรรมในเบื้องหลัง เอฟเฟกต์ภาพบางอย่าง ฟีเจอร์บางส่วน และการเชื่อมต่อบางเครือข่าย"</string>
<string name="battery_saver_description" msgid="8518809702138617167">"โหมดประหยัดแบตเตอรี่จะเปิดธีมมืดและจำกัดหรือปิดกิจกรรมในเบื้องหลัง เอฟเฟกต์ภาพบางอย่าง ฟีเจอร์บางส่วน และการเชื่อมต่อบางเครือข่าย"</string>
- <string name="data_saver_description" msgid="4995164271550590517">"เพื่อช่วยลดปริมาณการใช้อินเทอร์เน็ต โปรแกรมประหยัดอินเทอร์เน็ตจะช่วยป้องกันไม่ให้บางแอปส่งหรือรับข้อมูลโดยการใช้อินเทอร์เน็ตอยู่เบื้องหลัง แอปที่คุณกำลังใช้งานสามารถเข้าถึงอินเทอร์เน็ตได้ แต่อาจไม่บ่อยเท่าเดิม ตัวอย่างเช่น ภาพต่างๆ จะไม่แสดงจนกว่าคุณจะแตะที่ภาพเหล่านั้น"</string>
+ <string name="data_saver_description" msgid="4995164271550590517">"เพื่อช่วยลดปริมาณการใช้อินเทอร์เน็ต การประหยัดอินเทอร์เน็ตจะช่วยป้องกันไม่ให้บางแอปส่งหรือรับข้อมูลโดยการใช้อินเทอร์เน็ตอยู่เบื้องหลัง แอปที่คุณกำลังใช้งานสามารถเข้าถึงอินเทอร์เน็ตได้ แต่อาจไม่บ่อยเท่าเดิม ตัวอย่างเช่น ภาพต่างๆ จะไม่แสดงจนกว่าคุณจะแตะที่ภาพเหล่านั้น"</string>
<string name="data_saver_enable_title" msgid="7080620065745260137">"เปิดการประหยัดอินเทอร์เน็ตไหม"</string>
<string name="data_saver_enable_button" msgid="4399405762586419726">"เปิด"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{ระยะเวลา 1 นาที (จนถึง {formattedTime})}other{ระยะเวลา # นาที (จนถึง {formattedTime})}}"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ไม่พร้อมใช้งานในขณะนี้"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> ไม่พร้อมใช้งาน"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"ต้องการสิทธิ์"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"เข้าถึงแอปนี้ใน <xliff:g id="DEVICE">%1$s</xliff:g> ของคุณไม่ได้ในขณะนี้ โปรดลองเข้าถึงในอุปกรณ์ Android TV แทน"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"เข้าถึงแอปนี้ใน <xliff:g id="DEVICE">%1$s</xliff:g> ของคุณไม่ได้ในขณะนี้ โปรดลองเข้าถึงในแท็บเล็ตแทน"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"เข้าถึงแอปนี้ใน <xliff:g id="DEVICE">%1$s</xliff:g> ของคุณไม่ได้ในขณะนี้ โปรดลองเข้าถึงในโทรศัพท์แทน"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"แอปนี้สร้างขึ้นเพื่อ Android เวอร์ชันเก่าและอาจทำงานผิดปกติ โปรดลองตรวจหาการอัปเดตหรือติดต่อนักพัฒนาซอฟต์แวร์"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"ตรวจสอบอัปเดต"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"คุณมีข้อความใหม่"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"เปิดต่อไป"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"ตรวจพบแอปที่เป็นอันตราย"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"อนุญาตให้ <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> เข้าถึงบันทึกทั้งหมดของอุปกรณ์ใช่ไหม"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"อนุญาตสิทธิ์เข้าถึงแบบครั้งเดียว"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"ไม่อนุญาต"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"บันทึกของอุปกรณ์เก็บข้อมูลสิ่งที่เกิดขึ้นในอุปกรณ์ แอปสามารถใช้บันทึกเหล่านี้เพื่อค้นหาและแก้ไขปัญหา\n\nบันทึกบางรายการอาจมีข้อมูลที่ละเอียดอ่อน คุณจึงควรอนุญาตเฉพาะแอปที่เชื่อถือได้ให้เข้าถึงบันทึกทั้งหมดของอุปกรณ์ \n\nหากคุณไม่อนุญาตให้แอปนี้เข้าถึงบันทึกทั้งหมดของอุปกรณ์ แอปจะยังเข้าถึงบันทึกของตัวเองได้อยู่ ผู้ผลิตอุปกรณ์อาจยังเข้าถึงบันทึกหรือข้อมูลบางรายการในอุปกรณ์ของคุณได้ ดูข้อมูลเพิ่มเติม"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"ไม่ต้องแสดงอีก"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"แตะเพื่อดูข้อมูลเพิ่มเติมและเปลี่ยนแปลง"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"เปลี่ยน \"ห้ามรบกวน\" แล้ว"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"แตะเพื่อดูรายการที่ถูกบล็อก"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"ระบบ"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"การตั้งค่า"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"กล้อง"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> แปลแล้ว"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"แปลข้อความจากภาษา<xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>เป็นภาษา<xliff:g id="TO_LANGUAGE">%2$s</xliff:g>แล้ว"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"กิจกรรมในเบื้องหลัง"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"แอปกำลังใช้แบตเตอรี่"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"แอปยังทำงานอยู่"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> กำลังใช้แบตเตอรี่ในเบื้องหลัง แตะเพื่อตรวจสอบ"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> อาจส่งผลต่ออายุการใช้งานแบตเตอรี่ แตะเพื่อตรวจสอบแอปที่ทำงานอยู่"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"ตรวจสอบแอปที่ใช้งานอยู่"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"เข้าถึงกล้องของโทรศัพท์จาก <xliff:g id="DEVICE">%1$s</xliff:g> ไม่ได้"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"เข้าถึงกล้องของแท็บเล็ตจาก <xliff:g id="DEVICE">%1$s</xliff:g> ไม่ได้"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 27b2804..a195c88 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Pansamantalang na-off ng iyong carrier para sa SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Hindi makakonekta sa mobile network"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Subukang baguhin ang gustong network. I-tap para baguhin."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Posibleng hindi available ang mga emergency na tawag"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"Hindi sinusuportahan ng <xliff:g id="SPN">%s</xliff:g> ang mga emergency na tawag sa pamamagitan ng Wi-Fi. I-tap para sa mga detalye."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Hindi available ang pang-emergency na pagtawag"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Hindi makapagsagawa ng mga emergency na tawag sa pamamagitan ng Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Mga Alerto"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Pagpasa ng tawag"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Emergency callback mode"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Hindi available sa ngayon ang <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Hindi available ang <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Kailangan ng pahintulot"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Hindi ito maa-access sa iyong <xliff:g id="DEVICE">%1$s</xliff:g> sa ngayon. Subukan na lang sa iyong Android TV device."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Hindi ito maa-access sa iyong <xliff:g id="DEVICE">%1$s</xliff:g> sa ngayon. Subukan na lang sa iyong tablet."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Hindi ito maa-access sa iyong <xliff:g id="DEVICE">%1$s</xliff:g> sa ngayon. Subukan na lang sa iyong telepono."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ang app na ito ay ginawa para sa mas lumang bersyon ng Android at maaaring hindi gumana nang maayos. Subukang tingnan kung may mga update, o makipag-ugnayan sa developer."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Tingnan kung may update"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Mayroon kang mga bagong mensahe"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"I-tap para matuto pa at baguhin."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Binago ang Huwag Istorbohin"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"I-tap para tingnan kung ano ang naka-block."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"System"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Mga Setting"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Camera"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 990aad0..1313b96 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"<xliff:g id="SIMNUMBER">%d</xliff:g> numaralı SIM kart için operatörünüz tarafından geçici olarak kapatıldı"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobil ağa erişilemiyor"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Tercih edilen ağı değiştirmeyi deneyin. Değiştirmek için dokunun."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Acil durum aramaları kullanılamayabilir"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>, kablosuz bağlantı üzerinden acil durum aramalarını desteklemiyor. Ayrıntılar için dokunun."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Acil durum çağrısı kullanılamaz"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Kablosuz ağ üzerinden acil durum çağrıları yapılamaz"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Uyarılar"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Çağrı yönlendirme"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Acil geri arama modu"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Kimlik doğrulama sırasında hata oluştu"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Ekran kilidi kullan"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Devam etmek için ekran kilidinizi girin"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Sensöre sıkıca bastırın"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Parmak izi işlenemedi. Lütfen tekrar deneyin."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Parmak izi sensörünü temizleyip tekrar deneyin"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Sensörü temizleyip tekrar deneyin"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Parmak izi tanınmadı"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Parmak izi tanınmadı"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Parmak izi kimlik doğrulaması yapıldı"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Yüz kimliği doğrulandı"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Yüz kimliği doğrulandı, lütfen onayla\'ya basın"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulaması şu anda kullanılamıyor."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> kullanılamıyor"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"İzin gerekli"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Bu uygulamaya şu anda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızdan erişilemiyor. Bunun yerine Android TV cihazınızı kullanmayı deneyin."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Bu uygulamaya şu anda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızdan erişilemiyor. Bunun yerine tabletinizi kullanmayı deneyin."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Bu uygulamaya şu anda <xliff:g id="DEVICE">%1$s</xliff:g> cihazınızdan erişilemiyor. Bunun yerine telefonunuzu kullanmayı deneyin."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Bu uygulama Android\'in daha eski bir sürümü için oluşturuldu ve düzgün çalışmayabilir. Güncellemeleri kontrol etmeyi deneyin veya geliştiriciyle iletişime geçin."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Güncellemeleri denetle"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Yeni mesajlarınız var"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"YİNE DE AÇ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Zararlı uygulama tespit edildi"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> uygulamasının tüm cihaz günlüklerine erişmesine izin verilsin mi?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Tek seferlik erişim izni ver"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"İzin verme"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Cihaz günlükleri, cihazınızda olanları kaydeder. Uygulamalar, sorunları bulup düzeltmek için bu günlükleri kullanabilir.\n\nBazı günlükler hassas bilgiler içerebileceği için yalnızca güvendiğiniz uygulamaların tüm cihaz günlüklerine erişmesine izin verin. \n\nBu uygulamanın tüm cihaz günlüklerine erişmesine izin vermeseniz de kendi günlüklerine erişmeye devam edebilir. Ayrıca, cihaz üreticiniz de cihazınızdaki bazı günlüklere veya bilgilere erişmeye devam edebilir. Daha fazla bilgi"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Bir daha gösterme"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Daha fazla bilgi edinmek ve değiştirmek için dokunun."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Rahatsız Etmeyin modu değişti"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Nelerin engellendiğini kontrol etmek için dokunun."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Sistem"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Ayarlar"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> Çevrildi."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Mesajın, <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>-<xliff:g id="TO_LANGUAGE">%2$s</xliff:g> çevirisi yapıldı."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Arka Plan Etkinliği"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Pil kullanan bir uygulama var"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Hâlâ etkin olan bir uygulama var"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> uygulaması arka planda pil kullanıyor. İncelemek için dokunun."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> uygulaması pil ömrünü etkileyebilir. Etkin uygulamaları incelemek için dokunun."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Etkin uygulamaları kontrol edin"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"<xliff:g id="DEVICE">%1$s</xliff:g> cihazınızdan telefonun kamerasına erişilemiyor"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"<xliff:g id="DEVICE">%1$s</xliff:g> cihazınızdan tabletin kamerasına erişilemiyor"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 2ce474a..29d5c5e 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -87,8 +87,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Оператор тимчасово вимкнув службу для SIM-карти <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Не вдається під’єднатися до мобільної мережі"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Спробуйте змінити вибрану мережу. Торкніться, щоб це зробити."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Екстрені виклики можуть бути недоступні"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> не підтримує екстрені виклики через Wi-Fi. Натисніть, щоб дізнатися більше."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Екстрені виклики недоступні"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Не можна здійснювати екстрені виклики через Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Сповіщення"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Переадресація виклику"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Режим екстреного зворотного виклику"</string>
@@ -587,8 +587,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Помилка автентифікації"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Доступ розблокуванням екрана"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Щоб продовжити, введіть дані для розблокування екрана"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Міцно притисніть палець до сканера"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Не вдалось обробити відбиток пальця. Повторіть спробу."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Очистьте сканер відбитків пальців і повторіть спробу"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Очистьте сканер і повторіть спробу"</string>
@@ -601,8 +600,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Відбиток пальця не розпізнано"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Відбиток пальця не розпізнано"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Відбиток пальця автентифіковано"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Обличчя автентифіковано"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Обличчя автентифіковано. Натисніть \"Підтвердити\""</string>
@@ -1937,9 +1935,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> зараз недоступний."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Недоступно: <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Потрібен дозвіл"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Цей додаток зараз недоступний на вашому <xliff:g id="DEVICE">%1$s</xliff:g>. Спробуйте натомість скористатися пристроєм Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Цей додаток зараз недоступний на вашому <xliff:g id="DEVICE">%1$s</xliff:g>. Спробуйте натомість скористатися планшетом."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Цей додаток зараз недоступний на вашому <xliff:g id="DEVICE">%1$s</xliff:g>. Спробуйте натомість скористатися телефоном."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Цей додаток створений для старішої версії Android і може працювати неналежним чином. Спробуйте знайти оновлення або зв’яжіться з розробником."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Шукати оновлення"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"У вас є нові повідомлення"</string>
@@ -2030,8 +2055,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"УСЕ ОДНО ВІДКРИТИ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Виявлено шкідливий додаток"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Надати додатку <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> доступ до всіх журналів пристрою?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Надати доступ лише цього разу"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Не дозволяти"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"У журналах пристрою реєструється все, що відбувається на ньому. За допомогою цих журналів додатки можуть виявляти й усувати проблеми.\n\nДеякі журнали можуть містити конфіденційні дані, тому надавати доступ до всіх журналів пристрою слід лише надійним додаткам. \n\nЯкщо додаток не має доступу до всіх журналів пристрою, він усе одно може використовувати власні журнали. Виробник вашого пристрою все одно може використовувати деякі журнали чи інформацію на ньому. Докладніше"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Більше не показувати"</string>
@@ -2045,6 +2069,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Торкніться, щоб дізнатися більше та змінити."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Налаштування режиму \"Не турбувати\" змінено"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Торкніться, щоб перевірити, що заблоковано."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Система"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Налаштування"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Камера"</string>
@@ -2263,14 +2295,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> (перекладене повідомлення)."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Повідомлення перекладено (мова оригіналу: <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>, мова перекладу: <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>)."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Робота у фоновому режимі"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Додаток споживає заряд акумулятора"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Додаток досі активний"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"Додаток <xliff:g id="APP">%1$s</xliff:g> споживає заряд акумулятора у фоновому режимі. Натисніть, щоб переглянути."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"Додаток <xliff:g id="APP">%1$s</xliff:g> може вплинути на час роботи акумулятора. Натисніть, щоб переглянути активні додатки."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Перевірте активні додатки"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Не вдається отримати доступ до камери телефона з пристрою <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Не вдається отримати доступ до камери планшета з пристрою <xliff:g id="DEVICE">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index 0cd35c5..fb69ba3 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM <xliff:g id="SIMNUMBER">%d</xliff:g> کے لئے آپ کے کیریئر نے عارضی طور پر آف کر دیا ہے"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"موبائل نیٹ ورک تک رسائی نہیں ہو سکتی"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"ترجیحی نیٹ ورک تبدیل کر کے دیکھیں۔ تبدیل کرنے کے لیے تھپتھپائیں۔"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"ہو سکتا ہے کہ ہنگامی کالز دستیاب نہ ہوں"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi پر ہنگامی کالز کو سپورٹ نہیں کرتا ہے۔ تفصیلات کے ليے تھپتھپائيں۔"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"ہنگامی کالنگ دستیاب نہیں ہے"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi کے ذریعے ہنگامی کالز نہیں کر سکتے"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"الرٹس"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"کال فارورڈنگ"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"ہنگامی کال بیک وضع"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"خرابی کی توثیق ہو رہی ہے"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"اسکرین لاک استعمال کریں"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"جاری رکھنے کے لیے اپنا اسکرین لاک درج کریں"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"سینسر پر اچھی طرح دبائیں"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"فنگر پرنٹ پر کارروائی نہیں کی جا سکی۔ براہ کرم دوبارہ کوشش کریں۔"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"فنگر پرنٹ سینسر صاف کریں اور دوبارہ کوشش کریں"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"سینسر صاف کریں اور دوبارہ کوشش کریں"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"فنگر پرنٹ کی شناخت نہیں ہو سکی"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"فنگر پرنٹ کی شناخت نہیں ہو سکی"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"فنگر پرنٹ کی تصدیق ہو گئی"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"چہرے کی تصدیق ہو گئی"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"چہرے کی تصدیق ہو گئی، براہ کرم \'تصدیق کریں\' کو دبائيں"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> ابھی دستیاب نہیں ہے۔"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> دستیاب نہیں ہے"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"اجازت درکار ہے"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"اس وقت آپ کے <xliff:g id="DEVICE">%1$s</xliff:g> پر اس تک رسائی نہیں مل سکتی۔ اس کے بجائے اپنے Android TV آلے پر کوشش کریں۔"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"اس وقت آپ کے <xliff:g id="DEVICE">%1$s</xliff:g> پر اس تک رسائی نہیں مل سکتی۔ اس کے بجائے اپنے ٹیبلیٹ پر کوشش کریں۔"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"اس وقت آپ کے <xliff:g id="DEVICE">%1$s</xliff:g> پر اس تک رسائی نہیں مل سکتی۔ اس کے بجائے اپنے فون پر کوشش کریں۔"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"یہ ایپ Android کے پرانے ورژن کے لئے بنائی گئی ہے اور ہو سکتا ہے صحیح طور پر کام نہ کرے۔ اپ ڈیٹس چیک کر کے آزمائیں یا ڈویلپر سے رابطہ کریں۔"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"اپ ڈیٹ چیک کریں"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"آپ کے پاس نئے پیغامات ہیں"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"بہر صورت کھولیں"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"ضرر رساں ایپ کا پتہ چلا"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> کو آلے کے تمام لاگز تک رسائی کی اجازت دیں؟"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"یک وقتی رسائی کی اجازت دیں"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"اجازت نہ دیں"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"آپ کے آلے پر جو ہوتا ہے آلے کے لاگز اسے ریکارڈ کر لیتے ہیں۔ ایپس ان لاگز کا استعمال مسائل کو تلاش کرنے اور ان کو حل کرنے کے لیے کر سکتی ہیں۔\n\nکچھ لاگز میں حساس معلومات شامل ہو سکتی ہیں، اس لیے صرف اپنے بھروسے مند ایپس کو ہی آلے کے تمام لاگز تک رسائی کی اجازت دیں۔ \n\nاگر آپ اس ایپ کو آلے کے تمام لاگز تک رسائی کی اجازت نہیں دیتے ہیں تب بھی یہ اپنے لاگز تک رسائی حاصل کر سکتی ہے۔ آپ کے آلے کا مینوفیکچرر اب بھی آپ کے آلے پر کچھ لاگز یا معلومات تک رسائی حاصل کر سکتا ہے۔ مزید جانیں"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"دوبارہ نہ دکھائیں"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"مزید جاننے اور تبدیل کرنے کیلئے تھپتھپائیں۔"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"\'ڈسٹرب نہ کریں\' تبدیل ہو گيا ہے"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"مسدود کی گئی چیزوں کو چیک کرنے کے لیے تھپتھپائیں۔"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"سسٹم"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"ترتیبات"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"کیمرا"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"<xliff:g id="MESSAGE">%1$s</xliff:g> کا ترجمہ کیا گیا۔"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"پیغام کا ترجمہ <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> سے<xliff:g id="TO_LANGUAGE">%2$s</xliff:g> میں کیا گیا۔"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"پس منظر کی سرگرمی"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"ایک ایپ بیٹری کا استعمال کر رہی ہے"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"ایک ایپ اب بھی فعال ہے"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> ایپ پس منظر میں بیٹری استعمال کر رہی ہے۔ جائزے کے لیے تھپتھپائیں۔"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> ایپ بیٹری لائف کو متاثر کر سکتی ہے۔ فعال ایپس کا جائزہ لینے کے لیے تھپتھپائیں۔"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"فعال ایپس چیک کریں"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"آپ کے <xliff:g id="DEVICE">%1$s</xliff:g> سے فون کے کیمرا تک رسائی حاصل نہیں کی جا سکتی"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"آپ کے <xliff:g id="DEVICE">%1$s</xliff:g> سے ٹیبلیٹ کے کیمرا تک رسائی حاصل نہیں کی جا سکتی"</string>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index 5c06b51..afea585 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"<xliff:g id="SIMNUMBER">%d</xliff:g>-SIM karta uchun aloqa operatoringiz tomonidan vaqtinchalik faolsizlantirilgan"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Mobil tarmoqqa ulanib bo‘lmadi"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Tarmoq turini almashtiring. Almashtirish uchun bosing."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Favqulodda chaqiruvlar ishlamasligi mumkin"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> Wi-Fi orqali favqulodda chaqiruvlar bilan ishlamaydi. Batafsil."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Favqulodda chaqiruv ishlamayapti"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Wi‑Fi orqali favqulodda chaqiruvlar amalga oshirilmadi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Ogohlantirishlar"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Chaqiruvlarni uzatish"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Favqulodda qaytarib chaqirish rejimi"</string>
@@ -1613,7 +1613,7 @@
<string name="wireless_display_route_description" msgid="8297563323032966831">"Simsiz monitor"</string>
<string name="media_route_button_content_description" msgid="2299223698196869956">"Translatsiya qilish"</string>
<string name="media_route_chooser_title" msgid="6646594924991269208">"Qurilmaga ulanish"</string>
- <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Ekran translatsiyasi"</string>
+ <string name="media_route_chooser_title_for_remote_display" msgid="3105906508794326446">"Ekranni qurilmaga translatsiya qilish"</string>
<string name="media_route_chooser_searching" msgid="6119673534251329535">"Qurilmalar qidirilmoqda..."</string>
<string name="media_route_chooser_extended_settings" msgid="2506352159381327741">"Sozlamalar"</string>
<string name="media_route_controller_disconnect" msgid="7362617572732576959">"Uzish"</string>
@@ -1851,8 +1851,8 @@
<string name="confirm_battery_saver" msgid="5247976246208245754">"OK"</string>
<string name="battery_saver_description_with_learn_more" msgid="5444908404021316250">"Quvvat tejash funksiyasi Tungi mavzuni va cheklovlarni yoqadi hamda fondagi harakatlar, vizual effektlar, ayrim funksiyalar va tarmoq aloqalari kabi boshqa funksiyalarni faolsizlantiradi yoki cheklaydi."</string>
<string name="battery_saver_description" msgid="8518809702138617167">"Quvvat tejash funksiyasi Tungi mavzuni va cheklovlarni yoqadi hamda fondagi harakatlar, vizual effektlar, ayrim funksiyalar va tarmoq aloqalari kabi boshqa funksiyalarni faolsizlantiradi yoki cheklaydi."</string>
- <string name="data_saver_description" msgid="4995164271550590517">"Trafik tejash rejimida ayrim ilovalar uchun orqa fonda internetdan foydalanish imkoniyati cheklanadi. Siz ishlatayotgan ilova zaruratga qarab internet-trafik sarflashi mumkin, biroq cheklangan miqdorda. Masalan, rasmlar ustiga bosmaguningizcha ular yuklanmaydi."</string>
- <string name="data_saver_enable_title" msgid="7080620065745260137">"Trafik tejash yoqilsinmi?"</string>
+ <string name="data_saver_description" msgid="4995164271550590517">"Trafik tejash rejimida ayrim ilovalar uchun orqa fonda Internetdan foydalanish imkoniyati cheklanadi. Siz ishlatayotgan ilova zaruratga qarab internet-trafik sarflashi mumkin, biroq cheklangan miqdorda. Masalan, rasmlar ustiga bosmaguningizga qadar yuklanmaydi."</string>
+ <string name="data_saver_enable_title" msgid="7080620065745260137">"Trafik tejash rejimi yoqilsinmi?"</string>
<string name="data_saver_enable_button" msgid="4399405762586419726">"Yoqish"</string>
<string name="zen_mode_duration_minutes_summary" msgid="4555514757230849789">"{count,plural, =1{Bir daqiqa ({formattedTime} gacha)}other{# daqiqa ({formattedTime} gacha)}}"</string>
<string name="zen_mode_duration_minutes_summary_short" msgid="1187553788355486950">"{count,plural, =1{1 daq ({formattedTime} gacha)}other{# daq ({formattedTime} gacha)}}"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"Ayni vaqtda <xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi ishlamayapti."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g> kanali ish faoliyatida emas"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Ruxsat zarur"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Ayni vaqtda bu translatsiya <xliff:g id="DEVICE">%1$s</xliff:g> qurilmangizda ishlamaydi. Android TV qurilmasi orqali urinib koʻring."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Ayni vaqtda bu translatsiya <xliff:g id="DEVICE">%1$s</xliff:g> qurilmangizda ishlamaydi. Planshet orqali urinib koʻring."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Ayni vaqtda bu translatsiya <xliff:g id="DEVICE">%1$s</xliff:g> qurilmangizda ishlamaydi. Telefon orqali urininb koʻring."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Bu ilova eskiroq Android versiyalariga chiqarilgan va xato ishlashi mumkin. Yangilanishlarini tekshiring yoki dasturchi bilan bog‘laning."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Yangilanish borligini tekshirish"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Sizga yangi SMS keldi"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Batafsil axborot olish va o‘zgartirish uchun bosing."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Bezovta qilinmasin rejimi sozlamalari o‘zgartirildi"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Nimalar bloklanganini tekshirish uchun bosing"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Tizim"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Sozlamalar"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Kamera"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index f0019cf..db2855c 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Nhà mạng đã tạm thời tắt dịch vụ này đối với SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Không thể kết nối với mạng di động"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Hãy thử thay đổi mạng ưu tiên. Nhấn để thay đổi."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Cuộc gọi khẩn cấp có thể không hoạt động"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g> không hỗ trợ cuộc gọi khẩn cấp qua Wi-Fi. Hãy nhấn để xem thông tin chi tiết."</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Không có dịch vụ gọi khẩn cấp"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Không thể thực hiện cuộc gọi khẩn cấp qua Wi‑Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Thông báo"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Chuyển tiếp cuộc gọi"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Chế độ gọi lại khẩn cấp"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"Lỗi khi xác thực"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"Dùng phương thức khóa màn hình"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"Hãy nhập phương thức khóa màn hình của bạn để tiếp tục"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"Nhấn chắc trên cảm biến"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"Không thể xử lý vân tay. Vui lòng thử lại."</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"Hãy vệ sinh cảm biến vân tay rồi thử lại"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"Vệ sinh cảm biến rồi thử lại"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"Không nhận dạng được vân tay"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"Không nhận dạng được vân tay"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"Đã xác thực vân tay"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"Đã xác thực khuôn mặt"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"Đã xác thực khuôn mặt, vui lòng nhấn để xác nhận"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g> hiện không dùng được."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"Không hỗ trợ <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Cần có quyền"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Hiện tại, bạn không thể truy cập vào ứng dụng này trên <xliff:g id="DEVICE">%1$s</xliff:g>. Hãy thử trên thiết bị Android TV."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Hiện tại, bạn không thể truy cập vào ứng dụng này trên <xliff:g id="DEVICE">%1$s</xliff:g>. Hãy thử trên máy tính bảng."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Hiện tại, bạn không thể truy cập vào ứng dụng này trên <xliff:g id="DEVICE">%1$s</xliff:g>. Hãy thử trên điện thoại."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Ứng dụng này được xây dựng cho một phiên bản Android cũ hơn và có thể hoạt động không bình thường. Hãy thử kiểm tra các bản cập nhật hoặc liên hệ với nhà phát triển."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Kiểm tra bản cập nhật"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Bạn có tin nhắn mới"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"VẪN MỞ"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"Đã phát hiện ứng dụng độc hại"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"Cho phép <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> truy cập vào tất cả các nhật ký thiết bị?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"Cho phép truy cập một lần"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"Không cho phép"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"Nhật ký thiết bị ghi lại những hoạt động diễn ra trên thiết bị. Các ứng dụng có thể dùng nhật ký này để tìm và khắc phục sự cố.\n\nMột số nhật ký có thể chứa thông tin nhạy cảm, vì vậy, bạn chỉ nên cấp quyền truy cập vào mọi nhật ký trên thiết bị cho những ứng dụng mà mình tin cậy. \n\nNếu bạn không cho phép ứng dụng này truy cập vào mọi nhật ký trên thiết bị, thì ứng dụng vẫn có thể truy cập vào nhật ký của chính nó. Nhà sản xuất thiết bị vẫn có thể truy cập vào một số nhật ký hoặc thông tin trên thiết bị của bạn. Tìm hiểu thêm"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"Không hiện lại"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Nhấn để tìm hiểu thêm và thay đổi."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Cài đặt Không làm phiền đã thay đổi"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Nhấn để xem những thông báo bị chặn."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Hệ thống"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Cài đặt"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Máy ảnh"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"Đã dịch <xliff:g id="MESSAGE">%1$s</xliff:g>."</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"Đã dịch thông báo từ <xliff:g id="FROM_LANGUAGE">%1$s</xliff:g> sang <xliff:g id="TO_LANGUAGE">%2$s</xliff:g>."</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"Hoạt động trong nền"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"Một ứng dụng đang sử dụng pin"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"Một ứng dụng vẫn đang hoạt động"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"<xliff:g id="APP">%1$s</xliff:g> đang sử dụng pin trong nền. Hãy nhấn để xem."</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"<xliff:g id="APP">%1$s</xliff:g> có thể ảnh hưởng đến thời lượng pin. Hãy nhấn để xem các ứng dụng đang hoạt động."</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"Xem các ứng dụng đang hoạt động"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"Không truy cập được vào máy ảnh trên điện thoại từ <xliff:g id="DEVICE">%1$s</xliff:g> của bạn"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"Không truy cập được vào máy ảnh trên máy tính bảng từ <xliff:g id="DEVICE">%1$s</xliff:g> của bạn"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 2cc8daa..c049efc 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM 卡 <xliff:g id="SIMNUMBER">%d</xliff:g> 已由运营商暂时关闭"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"无法连接到移动网络"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"请尝试更改首选网络。点按即可更改。"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"紧急呼叫服务可能无法使用"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>并不支持通过 WLAN 进行紧急呼叫。点按可了解详情。"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"无法使用紧急呼救服务"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"无法通过 WLAN 拨打紧急呼救电话"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"提醒"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"来电转接"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"紧急回拨模式"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"<xliff:g id="APP_NAME">%1$s</xliff:g>目前无法使用。"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"<xliff:g id="ACTIVITY">%1$s</xliff:g>不可用"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"需要权限"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"目前无法在您的<xliff:g id="DEVICE">%1$s</xliff:g>上访问此内容。您可以尝试在 Android TV 设备上访问。"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"目前无法在您的<xliff:g id="DEVICE">%1$s</xliff:g>上访问此内容。您可以尝试在平板电脑上访问。"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"目前无法在您的<xliff:g id="DEVICE">%1$s</xliff:g>上访问此内容。您可以尝试在手机上访问。"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"此应用专为旧版 Android 打造,因此可能无法正常运行。请尝试检查更新或与开发者联系。"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"检查更新"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"您有新消息"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"点按即可了解详情以及进行更改。"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"“勿扰”设置有变更"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"点按即可查看屏蔽内容。"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"系统"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"设置"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"相机"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index aeba312..732faa0 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM 卡 <xliff:g id="SIMNUMBER">%d</xliff:g> 暫時被流動網絡供應商停用"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"無法連線至流動網絡"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"請嘗試變更偏好的網絡。輕按即可變更。"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"可能無法撥打緊急電話"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"<xliff:g id="SPN">%s</xliff:g>不支援透過 Wi-Fi 撥打緊急電話。輕按即可瞭解詳情。"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"無法撥打緊急電話"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"無法經 Wi‑Fi 撥打緊急電話"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"通知"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"來電轉駁"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"緊急回撥模式"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"驗證時發生錯誤"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"使用螢幕鎖定"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"如要繼續操作,請輸入螢幕鎖定解鎖憑證"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"請用力按住感應器"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"無法處理指紋。請再試一次。"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"請清潔指紋感應器,然後再試一次"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"請清潔感應器,然後再試一次"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"無法辨識指紋"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"無法辨識指紋"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"驗證咗指紋"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"面孔已經驗證"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"面孔已經驗證,請㩒一下 [確認]"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"目前無法使用「<xliff:g id="APP_NAME">%1$s</xliff:g>」。"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"無法使用「<xliff:g id="ACTIVITY">%1$s</xliff:g>」"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"需要權限"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取此應用程式,請改用 Android TV 裝置存取。"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取此應用程式,請改用平板電腦存取。"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取此應用程式,請改用手機存取。"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"此應用程式專為舊版 Android 打造,因此可能無法正常運作。請嘗試檢查更新,或與開發人員聯絡。"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"檢查更新"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"您有新的訊息"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"仍要開啟"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"偵測到有害的應用程式"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"要允許「<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>」存取所有裝置記錄嗎?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"允許存取一次"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"不允許"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"裝置記錄會記下裝置上的活動。應用程式可透過這些記錄找出並修正問題。\n\n部分記錄可能包含敏感資料,因此請只允許信任的應用程式存取所有裝置記錄。\n\n如果不允許此應用程式存取所有裝置記錄,此應用程式仍能存取自己的記錄,且裝置製造商可能仍可存取裝置上的部分記錄或資料。瞭解詳情"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"不要再顯示"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"輕按即可瞭解詳情和作出變更。"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"請勿騷擾已變更"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"輕按即可查看封鎖內容。"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"系統"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"設定"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"相機"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"翻譯咗「<xliff:g id="MESSAGE">%1$s</xliff:g>」。"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"已經將訊息由<xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>翻譯成<xliff:g id="TO_LANGUAGE">%2$s</xliff:g>。"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"背景活動"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"某個應用程式正在使用電量"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"某個應用程式目前仍在運作"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"「<xliff:g id="APP">%1$s</xliff:g>」正在背景使用電量。輕按即可查看。"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"「<xliff:g id="APP">%1$s</xliff:g>」可能會影響電池壽命。輕按即可查看使用中的應用程式。"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"查看使用中的應用程式"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"無法從 <xliff:g id="DEVICE">%1$s</xliff:g> 存取手機的相機"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"無法從 <xliff:g id="DEVICE">%1$s</xliff:g> 存取平板電腦的相機"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index a0e6485..403bf1a 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"SIM 卡 <xliff:g id="SIMNUMBER">%d</xliff:g> 暫時遭電信業者停用"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"無法連上行動網路"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"請嘗試變更偏好的網路。輕觸即可變更。"</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"可能無法撥打緊急電話"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"「<xliff:g id="SPN">%s</xliff:g>」不支援透過 Wi-Fi 撥打緊急電話。輕觸即可瞭解詳情。"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"無法撥打緊急電話"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"無法透過 Wi‑Fi 撥打緊急電話"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"快訊"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"來電轉接"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"緊急回撥模式"</string>
@@ -585,8 +585,7 @@
<string name="biometric_error_generic" msgid="6784371929985434439">"驗證時發生錯誤"</string>
<string name="screen_lock_app_setting_name" msgid="6054944352976789228">"使用螢幕鎖定功能"</string>
<string name="screen_lock_dialog_default_subtitle" msgid="120359538048533695">"如要繼續操作,請輸入螢幕鎖定憑證"</string>
- <!-- no translation found for fingerprint_acquired_partial (4323789264604479684) -->
- <skip />
+ <string name="fingerprint_acquired_partial" msgid="4323789264604479684">"請確實按住感應器"</string>
<string name="fingerprint_acquired_insufficient" msgid="2545149524031515411">"無法處理指紋,請再試一次。"</string>
<string name="fingerprint_acquired_imager_dirty" msgid="1770676120848224250">"請清潔指紋感應器,然後再試一次"</string>
<string name="fingerprint_acquired_imager_dirty_alt" msgid="9169582140486372897">"清潔感應器,然後再試一次"</string>
@@ -599,8 +598,7 @@
<string-array name="fingerprint_acquired_vendor">
</string-array>
<string name="fingerprint_error_not_match" msgid="4599441812893438961">"指紋辨識失敗"</string>
- <!-- no translation found for fingerprint_udfps_error_not_match (8236930793223158856) -->
- <skip />
+ <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"指紋辨識失敗"</string>
<string name="fingerprint_authenticated" msgid="2024862866860283100">"指紋驗證成功"</string>
<string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"臉孔驗證成功"</string>
<string name="face_authenticated_confirmation_required" msgid="6872632732508013755">"臉孔驗證成功,請按下 [確認] 按鈕"</string>
@@ -1935,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」目前無法使用。"</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"無法存取「<xliff:g id="ACTIVITY">%1$s</xliff:g>」"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"需要相關權限"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取這個應用程式,請改用 Android TV 裝置。"</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取這個應用程式,請改用平板電腦。"</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"目前無法在 <xliff:g id="DEVICE">%1$s</xliff:g> 上存取這個應用程式,請改用手機。"</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"這個應用程式是專為舊版 Android 所打造,因此可能無法正常運作。請嘗試檢查更新,或是與開發人員聯絡。"</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"檢查更新"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"你有新訊息"</string>
@@ -2028,8 +2053,7 @@
<string name="harmful_app_warning_open_anyway" msgid="5963657791740211807">"仍要開啟"</string>
<string name="harmful_app_warning_title" msgid="8794823880881113856">"偵測到有害應用程式"</string>
<string name="log_access_confirmation_title" msgid="2343578467290592708">"要允許「<xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g>」存取所有裝置記錄嗎?"</string>
- <!-- no translation found for log_access_confirmation_allow (5302517782599389507) -->
- <skip />
+ <string name="log_access_confirmation_allow" msgid="5302517782599389507">"允許存取一次"</string>
<string name="log_access_confirmation_deny" msgid="7685790957455099845">"不允許"</string>
<string name="log_access_confirmation_body" msgid="6581985716241928135">"系統會透過裝置記錄記下裝置上的活動。應用程式可以根據這些記錄找出問題並進行修正。\n\n某些記錄可能含有機密資訊,因此請勿讓不信任的應用程式存取所有裝置記錄。\n\n即使你不允許這個應用程式存取所有裝置記錄,這個應用程式仍能存取自己的記錄,而且裝置製造商或許仍可存取裝置的某些記錄或資訊。瞭解詳情"</string>
<string name="log_access_do_not_show_again" msgid="1058690599083091552">"不要再顯示"</string>
@@ -2043,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"輕觸即可瞭解詳情及進行變更。"</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"「零打擾」設定已變更"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"輕觸即可查看遭封鎖的項目。"</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"系統"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"設定"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"相機"</string>
@@ -2261,14 +2293,10 @@
<string name="ui_translation_accessibility_translated_text" msgid="3197547218178944544">"已翻譯<xliff:g id="MESSAGE">%1$s</xliff:g>。"</string>
<string name="ui_translation_accessibility_translation_finished" msgid="3057830947610088465">"訊息內容已從<xliff:g id="FROM_LANGUAGE">%1$s</xliff:g>翻成<xliff:g id="TO_LANGUAGE">%2$s</xliff:g>。"</string>
<string name="notification_channel_abusive_bg_apps" msgid="6092140213264920355">"背景活動"</string>
- <!-- no translation found for notification_title_abusive_bg_apps (3258460527676573815) -->
- <skip />
- <!-- no translation found for notification_title_long_running_fgs (8170284286477131587) -->
- <skip />
- <!-- no translation found for notification_content_abusive_bg_apps (9180610713603474720) -->
- <skip />
- <!-- no translation found for notification_content_long_running_fgs (8258193410039977101) -->
- <skip />
+ <string name="notification_title_abusive_bg_apps" msgid="3258460527676573815">"某個應用程式正在消耗電池電力"</string>
+ <string name="notification_title_long_running_fgs" msgid="8170284286477131587">"某個應用程式目前仍在運作"</string>
+ <string name="notification_content_abusive_bg_apps" msgid="9180610713603474720">"「<xliff:g id="APP">%1$s</xliff:g>」應用程式正在背景消耗電池電力。輕觸即可查看。"</string>
+ <string name="notification_content_long_running_fgs" msgid="8258193410039977101">"「<xliff:g id="APP">%1$s</xliff:g>」應用程式可能會影響電池續航力。輕觸即可查看使用中的應用程式。"</string>
<string name="notification_action_check_bg_apps" msgid="4758877443365362532">"查看使用中的應用程式"</string>
<string name="vdm_camera_access_denied" product="default" msgid="6102378580971542473">"無法從 <xliff:g id="DEVICE">%1$s</xliff:g> 存取手機的相機"</string>
<string name="vdm_camera_access_denied" product="tablet" msgid="6895968310395249076">"無法從 <xliff:g id="DEVICE">%1$s</xliff:g> 存取平板電腦的相機"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 37b4fee..cf9e05f 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -85,8 +85,8 @@
<string name="RestrictedStateContentMsimTemplate" msgid="5228235722511044687">"Kuvalwe okwesikhashana inkampani yakho yenethiwekhi ku-SIM <xliff:g id="SIMNUMBER">%d</xliff:g>"</string>
<string name="NetworkPreferenceSwitchTitle" msgid="1008329951315753038">"Ayikwazi ukufinyelela kunethiwekhi yeselula"</string>
<string name="NetworkPreferenceSwitchSummary" msgid="2086506181486324860">"Zama ukushintsha inethiwekhi encanyelwayo. Thepha ukuze ushintshe."</string>
- <string name="EmergencyCallWarningTitle" msgid="9164532362414787774">"Amakholi aphuthumayo angase angatholakali"</string>
- <string name="EmergencyCallWarningSummary" msgid="3365701131304664899">"I-<xliff:g id="SPN">%s</xliff:g> ayisekeli amakholi aphuthumayo nge-Wi-Fi. Thepha ukuze uthole imininingwane"</string>
+ <string name="EmergencyCallWarningTitle" msgid="1615688002899152860">"Ukushaya okuphuthumayo akutholakali"</string>
+ <string name="EmergencyCallWarningSummary" msgid="1194185880092805497">"Ayikwazi ukwenza amakholi aphuthumayo nge-Wi-Fi"</string>
<string name="notification_channel_network_alert" msgid="4788053066033851841">"Izexwayiso"</string>
<string name="notification_channel_call_forward" msgid="8230490317314272406">"Ukudlulisa ikholi"</string>
<string name="notification_channel_emergency_callback" msgid="54074839059123159">"Imodi yokushayela yesimo esiphuthumayo"</string>
@@ -1933,9 +1933,36 @@
<string name="app_blocked_message" msgid="542972921087873023">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayitholakali khona manje."</string>
<string name="app_streaming_blocked_title" msgid="6090945835898766139">"okungatholakali <xliff:g id="ACTIVITY">%1$s</xliff:g>"</string>
<string name="app_streaming_blocked_title_for_permission_dialog" msgid="4483161748582966785">"Kudingeka imvume"</string>
- <string name="app_streaming_blocked_message" product="tv" msgid="4003011766528814377">"Lokhu akukwazi ukufinyelelwa ku-<xliff:g id="DEVICE">%1$s</xliff:g> yakho ngalesi sikhathi. Zama kudivayisi yakho ye-Android TV kunalokho."</string>
- <string name="app_streaming_blocked_message" product="tablet" msgid="4242053045964946062">"Lokhu akukwazi ukufinyelelwa ku-<xliff:g id="DEVICE">%1$s</xliff:g> yakho ngalesi sikhathi. Zama kuthebhulethi yakho kunalokho."</string>
- <string name="app_streaming_blocked_message" product="default" msgid="6159168735030739398">"Lokhu akukwazi ukufinyelelwa ku-<xliff:g id="DEVICE">%1$s</xliff:g> yakho ngalesi sikhathi. Zama efonini yakho kunalokho."</string>
+ <!-- no translation found for app_streaming_blocked_title_for_camera_dialog (3935701653713853065) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_fingerprint_dialog (3516853717714141951) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_microphone_dialog (544822455127171206) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (196994247017450357) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (8222710146267948647) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_title_for_settings_dialog (6895719984375299791) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (5024599278277957935) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (7491114163056552686) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message (1245180131667647277) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6306583663205997979) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (6545624942642129664) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_permission_dialog (8462740631707923000) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (3470977315395784567) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (698460091901465092) -->
+ <skip />
+ <!-- no translation found for app_streaming_blocked_message_for_fingerprint_dialog (8552691971910603907) -->
+ <skip />
<string name="deprecated_target_sdk_message" msgid="5203207875657579953">"Lolu hlelo lokusebenza belakhelwe inguqulo endala ye-Android futhi kungenzeka lungasebenzi kahle. Zama ukuhlolela izibuyekezo, noma uxhumane nonjiniyela."</string>
<string name="deprecated_target_sdk_app_store" msgid="8456784048558808909">"Hlola izibuyekezo"</string>
<string name="new_sms_notification_title" msgid="6528758221319927107">"Unemilayezo emisha"</string>
@@ -2040,6 +2067,14 @@
<string name="zen_upgrade_notification_visd_content" msgid="3683314609114134946">"Thepha ukuze ufunde kabanzi futhi ushintshe."</string>
<string name="zen_upgrade_notification_title" msgid="8198167698095298717">"Ukungaphazamisi kushintshile"</string>
<string name="zen_upgrade_notification_content" msgid="5228458567180124005">"Thepha ukuze uhlole ukuthi yini evinjelwe."</string>
+ <!-- no translation found for review_notification_settings_title (5102557424459810820) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_text (5696497037817525074) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_remind_me_action (1081081018678480907) -->
+ <skip />
+ <!-- no translation found for review_notification_settings_dismiss (4160916504616428294) -->
+ <skip />
<string name="notification_app_name_system" msgid="3045196791746735601">"Isistimu"</string>
<string name="notification_app_name_settings" msgid="9088548800899952531">"Izilungiselelo"</string>
<string name="notification_appops_camera_active" msgid="8177643089272352083">"Ikhamera"</string>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 30fb45e..dece426 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -3807,6 +3807,9 @@
<!-- True if the device supports running activities on secondary displays. -->
<bool name="config_supportsMultiDisplay">true</bool>
+ <!-- Indicates whether the device supports bubble notifications or not. -->
+ <bool name="config_supportsBubble">true</bool>
+
<!-- True if the device has no home screen. That is a launcher activity
where the user can launch other applications from. -->
<bool name="config_noHomeScreen">false</bool>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 323c726..d9d1a08 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -39,14 +39,17 @@
<!-- Elevation of toast view -->
<dimen name="toast_elevation">2dp</dimen>
+ <!-- The default height of the status bar used in {@link SystemBarUtils#getStatusBarHeight} to
+ calculate the status bar height. -->
+ <dimen name="status_bar_height_default">24dp</dimen>
<!-- Height of the status bar.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
- <dimen name="status_bar_height">24dp</dimen>
+ <dimen name="status_bar_height">@dimen/status_bar_height_portrait</dimen>
<!-- Height of the status bar in portrait.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
- <dimen name="status_bar_height_portrait">@dimen/status_bar_height</dimen>
+ <dimen name="status_bar_height_portrait">24dp</dimen>
<!-- Height of the status bar in landscape.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
@@ -779,6 +782,10 @@
<dimen name="notification_left_icon_start">@dimen/notification_icon_circle_start</dimen>
<!-- The alpha of a disabled notification button -->
<item type="dimen" format="float" name="notification_action_disabled_alpha">0.5</item>
+ <!-- The maximum size of Person avatar image in MessagingStyle notifications.
+ This is bigger than displayed because listeners can use it for other displays
+ e.g. wearables. -->
+ <dimen name="notification_person_icon_max_size">144dp</dimen>
<!-- The maximum size of the small notification icon on low memory devices. -->
<dimen name="notification_small_icon_size_low_ram">@dimen/notification_small_icon_size</dimen>
@@ -792,6 +799,10 @@
<dimen name="notification_big_picture_max_width_low_ram">294dp</dimen>
<!-- The size of the right icon image when on low ram -->
<dimen name="notification_right_icon_size_low_ram">@dimen/notification_right_icon_size</dimen>
+ <!-- The maximum size of Person avatar image in MessagingStyle notifications.
+ This is bigger than displayed because listeners can use it for other displays
+ e.g. wearables. -->
+ <dimen name="notification_person_icon_max_size_low_ram">96dp</dimen>
<!-- The maximum size of the grayscale icon -->
<dimen name="notification_grayscale_icon_max_size">256dp</dimen>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 004cb4c..6104701 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -6292,12 +6292,12 @@
<!-- Title for the notification channel notifying user of abusive background apps. [CHAR LIMIT=NONE] -->
<string name="notification_channel_abusive_bg_apps">Background Activity</string>
<!-- Title of notification indicating abusive background apps. [CHAR LIMIT=NONE] -->
- <string name="notification_title_abusive_bg_apps">An app is using battery</string>
+ <string name="notification_title_abusive_bg_apps">An app is draining battery</string>
<!-- Title of notification indicating long running foreground services. [CHAR LIMIT=NONE] -->
<string name="notification_title_long_running_fgs">An app is still active</string>
<!-- Content of notification indicating abusive background apps. [CHAR LIMIT=NONE] -->
<string name="notification_content_abusive_bg_apps">
- <xliff:g id="app" example="Gmail">%1$s</xliff:g> is using battery in the background. Tap to review.
+ <xliff:g id="app" example="Gmail">%1$s</xliff:g> is running in the background. Tap to manage battery usage.
</string>
<!-- Content of notification indicating long running foreground service. [CHAR LIMIT=NONE] -->
<string name="notification_content_long_running_fgs">
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 7a9f520..c07404b 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -1503,15 +1503,13 @@
<style name="AllowLogAccess">
<item name="android:layout_width">332dp</item>
<item name="android:textSize">24sp</item>
- <item name="android:textColor">@android:color/system_neutral1_900</item>
<item name="android:fontFamily">google-sans</item>
</style>
<style name="PrimaryAllowLogAccess">
<item name="android:layout_width">332dp</item>
<item name="android:textSize">14sp</item>
- <item name="android:textColor">@android:color/system_neutral1_900</item>
- <item name="android:fontFamily">google-sans</item>
+ <item name="android:fontFamily">google-sans-text</item>
</style>
<style name="PermissionGrantButtonTop"
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 61ca18c..e07326b 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -379,6 +379,7 @@
<java-symbol type="bool" name="config_supportSpeakerNearUltrasound" />
<java-symbol type="bool" name="config_supportAudioSourceUnprocessed" />
<java-symbol type="bool" name="config_freeformWindowManagement" />
+ <java-symbol type="bool" name="config_supportsBubble" />
<java-symbol type="bool" name="config_supportsMultiWindow" />
<java-symbol type="bool" name="config_supportsSplitScreenMultiWindow" />
<java-symbol type="bool" name="config_supportsMultiDisplay" />
@@ -3604,6 +3605,7 @@
<java-symbol type="dimen" name="notification_actions_icon_drawable_size"/>
<java-symbol type="dimen" name="notification_custom_view_max_image_height"/>
<java-symbol type="dimen" name="notification_custom_view_max_image_width"/>
+ <java-symbol type="dimen" name="notification_person_icon_max_size" />
<java-symbol type="dimen" name="notification_small_icon_size_low_ram"/>
<java-symbol type="dimen" name="notification_big_picture_max_height_low_ram"/>
@@ -3612,6 +3614,7 @@
<java-symbol type="dimen" name="notification_grayscale_icon_max_size"/>
<java-symbol type="dimen" name="notification_custom_view_max_image_height_low_ram"/>
<java-symbol type="dimen" name="notification_custom_view_max_image_width_low_ram"/>
+ <java-symbol type="dimen" name="notification_person_icon_max_size_low_ram" />
<!-- Accessibility fingerprint gestures -->
<java-symbol type="string" name="capability_title_canCaptureFingerprintGestures" />
@@ -4774,4 +4777,6 @@
<java-symbol type="layout" name="app_language_picker_current_locale_item" />
<java-symbol type="id" name="system_locale_subtitle" />
<java-symbol type="id" name="language_picker_item" />
+
+ <java-symbol type="dimen" name="status_bar_height_default" />
</resources>
diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java
index e6d2364..a5da442 100644
--- a/core/tests/coretests/src/android/app/NotificationTest.java
+++ b/core/tests/coretests/src/android/app/NotificationTest.java
@@ -521,6 +521,70 @@
}
@Test
+ public void testBuild_ensureMessagingUserIsNotTooBig_resizesIcon() {
+ Icon hugeIcon = Icon.createWithBitmap(
+ Bitmap.createBitmap(3000, 3000, Bitmap.Config.ARGB_8888));
+ Icon hugeMessageAvatar = Icon.createWithBitmap(
+ Bitmap.createBitmap(3000, 3000, Bitmap.Config.ARGB_8888));
+ Icon hugeHistoricMessageAvatar = Icon.createWithBitmap(
+ Bitmap.createBitmap(3000, 3000, Bitmap.Config.ARGB_8888));
+
+ Notification.MessagingStyle style = new Notification.MessagingStyle(
+ new Person.Builder().setIcon(hugeIcon).setName("A User").build());
+ style.addMessage(new Notification.MessagingStyle.Message("A message", 123456,
+ new Person.Builder().setIcon(hugeMessageAvatar).setName("A Sender").build()));
+ style.addHistoricMessage(new Notification.MessagingStyle.Message("A message", 123456,
+ new Person.Builder().setIcon(hugeHistoricMessageAvatar).setName(
+ "A Historic Sender").build()));
+ Notification notification = new Notification.Builder(mContext, "Channel").setStyle(
+ style).build();
+
+ Bitmap personIcon = style.getUser().getIcon().getBitmap();
+ assertThat(personIcon.getWidth()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+ assertThat(personIcon.getHeight()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+
+ Bitmap avatarIcon = style.getMessages().get(0).getSenderPerson().getIcon().getBitmap();
+ assertThat(avatarIcon.getWidth()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+ assertThat(avatarIcon.getHeight()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+
+ Bitmap historicAvatarIcon = style.getHistoricMessages().get(
+ 0).getSenderPerson().getIcon().getBitmap();
+ assertThat(historicAvatarIcon.getWidth()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+ assertThat(historicAvatarIcon.getHeight()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_person_icon_max_size));
+ }
+
+ @Test
+ public void testBuild_ensureMessagingShortcutIconIsNotTooBig_resizesIcon() {
+ Icon hugeIcon = Icon.createWithBitmap(
+ Bitmap.createBitmap(3000, 3000, Bitmap.Config.ARGB_8888));
+ Notification.MessagingStyle style = new Notification.MessagingStyle(
+ new Person.Builder().setName("A User").build()).setShortcutIcon(hugeIcon);
+
+ Notification notification = new Notification.Builder(mContext, "Channel").setStyle(
+ style).build();
+ Bitmap shortcutIcon = style.getShortcutIcon().getBitmap();
+
+ assertThat(shortcutIcon.getWidth()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_small_icon_size));
+ assertThat(shortcutIcon.getHeight()).isEqualTo(
+ mContext.getResources().getDimensionPixelSize(
+ R.dimen.notification_small_icon_size));
+ }
+
+ @Test
public void testColors_ensureColors_dayMode_producesValidPalette() {
Notification.Colors c = new Notification.Colors();
boolean colorized = false;
diff --git a/core/tests/coretests/src/android/net/OWNERS b/core/tests/coretests/src/android/net/OWNERS
index 4e5136f..a779c00 100644
--- a/core/tests/coretests/src/android/net/OWNERS
+++ b/core/tests/coretests/src/android/net/OWNERS
@@ -1,3 +1,4 @@
include /services/core/java/com/android/server/net/OWNERS
+per-file SSL*,Uri*,Url* = prb@google.com,oth@google.com,narayan@google.com,ngeoffray@google.com
per-file SntpClient* = file:/services/core/java/com/android/server/timedetector/OWNERS
diff --git a/core/tests/coretests/src/android/net/UriTest.java b/core/tests/coretests/src/android/net/UriTest.java
index e083b0d..3733bfa 100644
--- a/core/tests/coretests/src/android/net/UriTest.java
+++ b/core/tests/coretests/src/android/net/UriTest.java
@@ -48,6 +48,7 @@
public void testParcelling() {
parcelAndUnparcel(Uri.parse("foo:bob%20lee"));
parcelAndUnparcel(Uri.fromParts("foo", "bob lee", "fragment"));
+ parcelAndUnparcel(Uri.fromParts("https", "www.google.com", null));
parcelAndUnparcel(new Uri.Builder()
.scheme("http")
.authority("crazybob.org")
@@ -890,9 +891,62 @@
Throwable targetException = expected.getTargetException();
// Check that the exception was thrown for the correct reason.
assertEquals("Unknown representation: 0", targetException.getMessage());
+ } finally {
+ parcel.recycle();
}
}
+ private Uri buildUriFromRawParcel(boolean argumentsEncoded,
+ String scheme,
+ String authority,
+ String path,
+ String query,
+ String fragment) {
+ // Representation value (from AbstractPart.REPRESENTATION_{ENCODED,DECODED}).
+ final int representation = argumentsEncoded ? 1 : 2;
+ Parcel parcel = Parcel.obtain();
+ try {
+ parcel.writeInt(3); // hierarchical
+ parcel.writeString8(scheme);
+ parcel.writeInt(representation);
+ parcel.writeString8(authority);
+ parcel.writeInt(representation);
+ parcel.writeString8(path);
+ parcel.writeInt(representation);
+ parcel.writeString8(query);
+ parcel.writeInt(representation);
+ parcel.writeString8(fragment);
+ parcel.setDataPosition(0);
+ return Uri.CREATOR.createFromParcel(parcel);
+ } finally {
+ parcel.recycle();
+ }
+ }
+
+ public void testUnparcelMalformedPath() {
+ // Regression tests for b/171966843.
+
+ // Test cases with arguments encoded (covering testing `scheme` * `authority` options).
+ Uri uri0 = buildUriFromRawParcel(true, "https", "google.com", "@evil.com", null, null);
+ assertEquals("https://google.com/@evil.com", uri0.toString());
+ Uri uri1 = buildUriFromRawParcel(true, null, "google.com", "@evil.com", "name=spark", "x");
+ assertEquals("//google.com/@evil.com?name=spark#x", uri1.toString());
+ Uri uri2 = buildUriFromRawParcel(true, "http:", null, "@evil.com", null, null);
+ assertEquals("http::/@evil.com", uri2.toString());
+ Uri uri3 = buildUriFromRawParcel(true, null, null, "@evil.com", null, null);
+ assertEquals("@evil.com", uri3.toString());
+
+ // Test cases with arguments not encoded (covering testing `scheme` * `authority` options).
+ Uri uriA = buildUriFromRawParcel(false, "https", "google.com", "@evil.com", null, null);
+ assertEquals("https://google.com/%40evil.com", uriA.toString());
+ Uri uriB = buildUriFromRawParcel(false, null, "google.com", "@evil.com", null, null);
+ assertEquals("//google.com/%40evil.com", uriB.toString());
+ Uri uriC = buildUriFromRawParcel(false, "http:", null, "@evil.com", null, null);
+ assertEquals("http::/%40evil.com", uriC.toString());
+ Uri uriD = buildUriFromRawParcel(false, null, null, "@evil.com", "name=spark", "y");
+ assertEquals("%40evil.com?name%3Dspark#y", uriD.toString());
+ }
+
public void testToSafeString() {
checkToSafeString("tel:xxxxxx", "tel:Google");
checkToSafeString("tel:xxxxxxxxxx", "tel:1234567890");
diff --git a/core/tests/coretests/src/android/os/IpcDataCacheTest.java b/core/tests/coretests/src/android/os/IpcDataCacheTest.java
index fa7d721..34712ce 100644
--- a/core/tests/coretests/src/android/os/IpcDataCacheTest.java
+++ b/core/tests/coretests/src/android/os/IpcDataCacheTest.java
@@ -53,6 +53,14 @@
return value(x);
}
+ // A single query but this can throw an exception.
+ boolean query(int x, boolean y) throws RemoteException {
+ if (y) {
+ throw new RemoteException();
+ }
+ return query(x);
+ }
+
// Return the expected value of an input, without incrementing the query count.
boolean value(int x) {
return x % 3 == 0;
@@ -138,6 +146,47 @@
tester.verify(9);
}
+ // This test is disabled pending an sepolicy change that allows any app to set the
+ // test property.
+ @Test
+ public void testRemoteCall() {
+
+ // A stand-in for the binder. The test verifies that calls are passed through to
+ // this class properly.
+ ServerProxy tester = new ServerProxy();
+
+ // Create a cache that uses simple arithmetic to computer its values.
+ IpcDataCache.Config config = new IpcDataCache.Config(4, MODULE, API, "testCache2");
+ IpcDataCache<Integer, Boolean> testCache =
+ new IpcDataCache<>(config, (x) -> tester.query(x, x % 10 == 9));
+
+ IpcDataCache.setTestMode(true);
+ testCache.testPropertyName();
+
+ tester.verify(0);
+ assertEquals(tester.value(3), testCache.query(3));
+ tester.verify(1);
+ assertEquals(tester.value(3), testCache.query(3));
+ tester.verify(2);
+ testCache.invalidateCache();
+ assertEquals(tester.value(3), testCache.query(3));
+ tester.verify(3);
+ assertEquals(tester.value(5), testCache.query(5));
+ tester.verify(4);
+ assertEquals(tester.value(5), testCache.query(5));
+ tester.verify(4);
+ assertEquals(tester.value(3), testCache.query(3));
+ tester.verify(4);
+
+ try {
+ testCache.query(9);
+ assertEquals(false, true); // The code should not reach this point.
+ } catch (RuntimeException e) {
+ assertEquals(e.getCause() instanceof RemoteException, true);
+ }
+ tester.verify(4);
+ }
+
@Test
public void testDisableCache() {
@@ -225,6 +274,17 @@
testPropertyName();
}
+ TestCache(IpcDataCache.Config c) {
+ this(c, new TestQuery());
+ }
+
+ TestCache(IpcDataCache.Config c, TestQuery query) {
+ super(c, query);
+ mQuery = query;
+ setTestMode(true);
+ testPropertyName();
+ }
+
int getRecomputeCount() {
return mQuery.getRecomputeCount();
}
@@ -309,4 +369,48 @@
assertEquals("foo5", cache.query(5));
assertEquals(3, cache.getRecomputeCount());
}
+
+ @Test
+ public void testConfig() {
+ IpcDataCache.Config a = new IpcDataCache.Config(8, MODULE, "apiA");
+ TestCache ac = new TestCache(a);
+ assertEquals(8, a.maxEntries());
+ assertEquals(MODULE, a.module());
+ assertEquals("apiA", a.api());
+ assertEquals("apiA", a.name());
+ IpcDataCache.Config b = new IpcDataCache.Config(a, "apiB");
+ TestCache bc = new TestCache(b);
+ assertEquals(8, b.maxEntries());
+ assertEquals(MODULE, b.module());
+ assertEquals("apiB", b.api());
+ assertEquals("apiB", b.name());
+ IpcDataCache.Config c = new IpcDataCache.Config(a, "apiC", "nameC");
+ TestCache cc = new TestCache(c);
+ assertEquals(8, c.maxEntries());
+ assertEquals(MODULE, c.module());
+ assertEquals("apiC", c.api());
+ assertEquals("nameC", c.name());
+ IpcDataCache.Config d = a.child("nameD");
+ TestCache dc = new TestCache(d);
+ assertEquals(8, d.maxEntries());
+ assertEquals(MODULE, d.module());
+ assertEquals("apiA", d.api());
+ assertEquals("nameD", d.name());
+
+ a.disableForCurrentProcess();
+ assertEquals(ac.isDisabled(), true);
+ assertEquals(bc.isDisabled(), false);
+ assertEquals(cc.isDisabled(), false);
+ assertEquals(dc.isDisabled(), false);
+
+ a.disableAllForCurrentProcess();
+ assertEquals(ac.isDisabled(), true);
+ assertEquals(bc.isDisabled(), false);
+ assertEquals(cc.isDisabled(), false);
+ assertEquals(dc.isDisabled(), true);
+
+ IpcDataCache.Config e = a.child("nameE");
+ TestCache ec = new TestCache(e);
+ assertEquals(ec.isDisabled(), true);
+ }
}
diff --git a/core/tests/coretests/src/android/service/quicksettings/TileServiceTest.java b/core/tests/coretests/src/android/service/quicksettings/TileServiceTest.java
new file mode 100644
index 0000000..d28eeff
--- /dev/null
+++ b/core/tests/coretests/src/android/service/quicksettings/TileServiceTest.java
@@ -0,0 +1,107 @@
+/*
+ * 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 android.service.quicksettings;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Intent;
+import android.os.Binder;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+@TestableLooper.RunWithLooper(setAsMainLooper = true)
+public class TileServiceTest {
+
+ @Mock
+ private IQSService.Stub mIQSService;
+
+ private IBinder mTileToken;
+ private TileService mTileService;
+ private Tile mTile;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mTileToken = new Binder();
+ when(mIQSService.asBinder()).thenCallRealMethod();
+ when(mIQSService.queryLocalInterface(anyString())).thenReturn(mIQSService);
+
+ mTile = new Tile();
+
+ mTileService = new TileService();
+ }
+
+ @Test
+ public void testErrorRetrievingTile_nullBinding() throws RemoteException {
+ Intent intent = new Intent();
+ intent.putExtra(TileService.EXTRA_SERVICE, mIQSService);
+ intent.putExtra(TileService.EXTRA_TOKEN, mTileToken);
+ when(mIQSService.getTile(mTileToken)).thenThrow(new RemoteException());
+
+ IBinder result = mTileService.onBind(intent);
+ assertNull(result);
+ }
+
+ @Test
+ public void testNullTile_doesntSendStartSuccessful() throws RemoteException {
+ Intent intent = new Intent();
+ intent.putExtra(TileService.EXTRA_SERVICE, mIQSService);
+ intent.putExtra(TileService.EXTRA_TOKEN, mTileToken);
+ when(mIQSService.getTile(mTileToken)).thenReturn(null);
+
+ IBinder result = mTileService.onBind(intent);
+
+ assertNotNull(result);
+ verify(mIQSService, never()).onStartSuccessful(any());
+ }
+
+ @Test
+ public void testBindSuccessful() throws RemoteException {
+ Intent intent = new Intent();
+ intent.putExtra(TileService.EXTRA_SERVICE, mIQSService);
+ intent.putExtra(TileService.EXTRA_TOKEN, mTileToken);
+ when(mIQSService.getTile(mTileToken)).thenReturn(mTile);
+
+ IBinder result = mTileService.onBind(intent);
+
+ assertNotNull(result);
+ verify(mIQSService).onStartSuccessful(mTileToken);
+
+ mTile.updateTile();
+ verify(mIQSService).updateQsTile(mTile, mTileToken);
+ }
+
+}
diff --git a/data/etc/services.core.protolog.json b/data/etc/services.core.protolog.json
index eb16394..0318760 100644
--- a/data/etc/services.core.protolog.json
+++ b/data/etc/services.core.protolog.json
@@ -1951,12 +1951,6 @@
"group": "WM_DEBUG_ORIENTATION",
"at": "com\/android\/server\/wm\/ScreenRotationAnimation.java"
},
- "-172900257": {
- "message": "addTaskToTargets, target: %s",
- "level": "DEBUG",
- "group": "WM_DEBUG_RECENTS_ANIMATIONS",
- "at": "com\/android\/server\/wm\/RecentsAnimationController.java"
- },
"-172326720": {
"message": "Saving icicle of %s: %s",
"level": "INFO",
@@ -3319,6 +3313,12 @@
"group": "WM_DEBUG_WINDOW_ORGANIZER",
"at": "com\/android\/server\/wm\/DisplayAreaOrganizerController.java"
},
+ "1151072840": {
+ "message": "collectTaskRemoteAnimations, target: %s",
+ "level": "DEBUG",
+ "group": "WM_DEBUG_RECENTS_ANIMATIONS",
+ "at": "com\/android\/server\/wm\/RecentsAnimationController.java"
+ },
"1164325516": {
"message": "onExitAnimationDone in %s: exiting=%b remove=%b selfAnimating=%b anim=%s",
"level": "VERBOSE",
@@ -3427,6 +3427,12 @@
"group": "WM_DEBUG_FOCUS_LIGHT",
"at": "com\/android\/server\/wm\/WindowState.java"
},
+ "1288920916": {
+ "message": "Error sending initial insets change to WindowContainer overlay",
+ "level": "ERROR",
+ "group": "WM_DEBUG_ANIM",
+ "at": "com\/android\/server\/wm\/WindowContainer.java"
+ },
"1305412562": {
"message": "Report configuration: %s %s",
"level": "VERBOSE",
diff --git a/data/keyboards/Vendor_0e6f_Product_f501.kl b/data/keyboards/Vendor_0e6f_Product_f501.kl
new file mode 100644
index 0000000..b46c005
--- /dev/null
+++ b/data/keyboards/Vendor_0e6f_Product_f501.kl
@@ -0,0 +1,55 @@
+# 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.
+
+#
+# XBox-compatible USB Controller
+#
+
+key 304 BUTTON_A
+key 305 BUTTON_B
+key 307 BUTTON_X
+key 308 BUTTON_Y
+key 310 BUTTON_L1
+key 311 BUTTON_R1
+
+key 317 BUTTON_THUMBL
+key 318 BUTTON_THUMBR
+
+# Left and right stick.
+# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
+# This confuses applications that rely on the flat value because the joystick actually
+# settles in a flat range of +/- 4096 or so.
+axis 0x00 X flat 4096
+axis 0x01 Y flat 4096
+axis 0x03 Z flat 4096
+axis 0x04 RZ flat 4096
+
+# Triggers.
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Hat.
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+
+# Button labeled as "BACK" (left-pointing triangle)
+key 314 BUTTON_SELECT
+
+# The branded "X" button in the center of the controller
+key 316 BUTTON_MODE
+
+# Button labeled as "START" (right-pointing triangle)
+key 315 BUTTON_START
diff --git a/graphics/java/android/graphics/BLASTBufferQueue.java b/graphics/java/android/graphics/BLASTBufferQueue.java
index 7f70e1c..4b723d1 100644
--- a/graphics/java/android/graphics/BLASTBufferQueue.java
+++ b/graphics/java/android/graphics/BLASTBufferQueue.java
@@ -47,7 +47,7 @@
/** Create a new connection with the surface flinger. */
public BLASTBufferQueue(String name, SurfaceControl sc, int width, int height,
@PixelFormat.Format int format) {
- this(name, false /* updateDestinationFrame */);
+ this(name, true /* updateDestinationFrame */);
update(sc, width, height, format);
}
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
index 01f5feb..3ec8843 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java
@@ -16,6 +16,8 @@
package androidx.window.extensions.embedding;
+import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+
import static androidx.window.extensions.embedding.SplitContainer.getFinishPrimaryWithSecondaryBehavior;
import static androidx.window.extensions.embedding.SplitContainer.getFinishSecondaryWithPrimaryBehavior;
import static androidx.window.extensions.embedding.SplitContainer.isStickyPlaceholderRule;
@@ -93,7 +95,7 @@
mSplitRules.clear();
mSplitRules.addAll(rules);
for (int i = mTaskContainers.size() - 1; i >= 0; i--) {
- updateAnimationOverride(mTaskContainers.keyAt(i));
+ updateAnimationOverride(mTaskContainers.valueAt(i));
}
}
@@ -147,15 +149,31 @@
return;
}
+ final boolean wasInPip = isInPictureInPicture(container);
container.setInfo(taskFragmentInfo);
+ final boolean isInPip = isInPictureInPicture(container);
// Check if there are no running activities - consider the container empty if there are no
// non-finishing activities left.
if (!taskFragmentInfo.hasRunningActivity()) {
+ // TODO(b/225371112): Don't finish dependent if the last activity is moved to the PIP
+ // Task.
// Do not finish the dependents if this TaskFragment was cleared due to launching
// activity in the Task.
final boolean shouldFinishDependent =
!taskFragmentInfo.isTaskClearedForReuse();
mPresenter.cleanupContainer(container, shouldFinishDependent);
+ } else if (wasInPip && isInPip) {
+ // No update until exit PIP.
+ return;
+ } else if (isInPip) {
+ // Enter PIP.
+ // All overrides will be cleanup.
+ container.setLastRequestedBounds(null /* bounds */);
+ cleanupForEnterPip(container);
+ } else if (wasInPip) {
+ // Exit PIP.
+ // Updates the presentation of the container. Expand or launch placeholder if needed.
+ mPresenter.updateContainer(container);
}
updateCallbackIfNecessary();
}
@@ -174,10 +192,13 @@
@Override
public void onTaskFragmentParentInfoChanged(@NonNull IBinder fragmentToken,
@NonNull Configuration parentConfig) {
- TaskFragmentContainer container = getContainer(fragmentToken);
+ final TaskFragmentContainer container = getContainer(fragmentToken);
if (container != null) {
- onTaskBoundsMayChange(container.getTaskId(),
- parentConfig.windowConfiguration.getBounds());
+ onTaskConfigurationChanged(container.getTaskId(), parentConfig);
+ if (isInPictureInPicture(parentConfig)) {
+ // No need to update presentation in PIP until the Task exit PIP.
+ return;
+ }
mPresenter.updateContainer(container);
updateCallbackIfNecessary();
}
@@ -199,44 +220,70 @@
}
}
- private void onTaskBoundsMayChange(int taskId, @NonNull Rect taskBounds) {
+ private void onTaskConfigurationChanged(int taskId, @NonNull Configuration config) {
final TaskContainer taskContainer = mTaskContainers.get(taskId);
- if (taskContainer != null && !taskBounds.isEmpty()
- && !taskContainer.mTaskBounds.equals(taskBounds)) {
- taskContainer.mTaskBounds.set(taskBounds);
- updateAnimationOverride(taskId);
+ if (taskContainer == null) {
+ return;
}
+ final boolean wasInPip = isInPictureInPicture(taskContainer.mConfiguration);
+ final boolean isInPIp = isInPictureInPicture(config);
+ taskContainer.mConfiguration = config;
+
+ // We need to check the animation override when enter/exit PIP or has bounds changed.
+ boolean shouldUpdateAnimationOverride = wasInPip != isInPIp;
+ if (onTaskBoundsMayChange(taskContainer, config.windowConfiguration.getBounds())
+ && !isInPIp) {
+ // We don't care the bounds change when it has already entered PIP.
+ shouldUpdateAnimationOverride = true;
+ }
+ if (shouldUpdateAnimationOverride) {
+ updateAnimationOverride(taskContainer);
+ }
+ }
+
+ /** Returns {@code true} if the bounds is changed. */
+ private boolean onTaskBoundsMayChange(@NonNull TaskContainer taskContainer,
+ @NonNull Rect taskBounds) {
+ if (!taskBounds.isEmpty() && !taskContainer.mTaskBounds.equals(taskBounds)) {
+ taskContainer.mTaskBounds.set(taskBounds);
+ return true;
+ }
+ return false;
}
/**
* Updates if we should override transition animation. We only want to override if the Task
* bounds is large enough for at least one split rule.
*/
- private void updateAnimationOverride(int taskId) {
- final TaskContainer taskContainer = mTaskContainers.get(taskId);
- if (taskContainer == null || !taskContainer.isTaskBoundsInitialized()) {
+ private void updateAnimationOverride(@NonNull TaskContainer taskContainer) {
+ if (!taskContainer.isTaskBoundsInitialized()) {
// We don't know about the Task bounds yet.
return;
}
+ // We only want to override if it supports split.
+ if (supportSplit(taskContainer)) {
+ mPresenter.startOverrideSplitAnimation(taskContainer.mTaskId);
+ } else {
+ mPresenter.stopOverrideSplitAnimation(taskContainer.mTaskId);
+ }
+ }
+
+ private boolean supportSplit(@NonNull TaskContainer taskContainer) {
+ // No split inside PIP.
+ if (isInPictureInPicture(taskContainer.mConfiguration)) {
+ return false;
+ }
// Check if the parent container bounds can support any split rule.
- boolean supportSplit = false;
for (EmbeddingRule rule : mSplitRules) {
if (!(rule instanceof SplitRule)) {
continue;
}
if (mPresenter.shouldShowSideBySide(taskContainer.mTaskBounds, (SplitRule) rule)) {
- supportSplit = true;
- break;
+ return true;
}
}
-
- // We only want to override if it supports split.
- if (supportSplit) {
- mPresenter.startOverrideSplitAnimation(taskId);
- } else {
- mPresenter.stopOverrideSplitAnimation(taskId);
- }
+ return false;
}
void onActivityCreated(@NonNull Activity launchedActivity) {
@@ -250,6 +297,10 @@
*/
// TODO(b/190433398): Break down into smaller functions.
void handleActivityCreated(@NonNull Activity launchedActivity) {
+ if (isInPictureInPicture(launchedActivity)) {
+ // We don't embed activity when it is in PIP.
+ return;
+ }
final List<EmbeddingRule> splitRules = getSplitRules();
final TaskFragmentContainer currentContainer = getContainerWithActivity(
launchedActivity.getActivityToken());
@@ -324,6 +375,10 @@
}
private void onActivityConfigurationChanged(@NonNull Activity activity) {
+ if (isInPictureInPicture(activity)) {
+ // We don't embed activity when it is in PIP.
+ return;
+ }
final TaskFragmentContainer currentContainer = getContainerWithActivity(
activity.getActivityToken());
@@ -365,9 +420,11 @@
}
final TaskContainer taskContainer = mTaskContainers.get(taskId);
taskContainer.mContainers.add(container);
- if (activity != null && !taskContainer.isTaskBoundsInitialized()) {
+ if (activity != null && !taskContainer.isTaskBoundsInitialized()
+ && onTaskBoundsMayChange(taskContainer,
+ SplitPresenter.getTaskBoundsFromActivity(activity))) {
// Initial check before any TaskFragment has appeared.
- onTaskBoundsMayChange(taskId, SplitPresenter.getTaskBoundsFromActivity(activity));
+ updateAnimationOverride(taskContainer);
}
return container;
}
@@ -389,6 +446,40 @@
mTaskContainers.get(primaryContainer.getTaskId()).mSplitContainers.add(splitContainer);
}
+ /** Cleanups all the dependencies when the TaskFragment is entering PIP. */
+ private void cleanupForEnterPip(@NonNull TaskFragmentContainer container) {
+ final int taskId = container.getTaskId();
+ final TaskContainer taskContainer = mTaskContainers.get(taskId);
+ if (taskContainer == null) {
+ return;
+ }
+ final List<SplitContainer> splitsToRemove = new ArrayList<>();
+ final Set<TaskFragmentContainer> containersToUpdate = new ArraySet<>();
+ for (SplitContainer splitContainer : taskContainer.mSplitContainers) {
+ if (splitContainer.getPrimaryContainer() != container
+ && splitContainer.getSecondaryContainer() != container) {
+ continue;
+ }
+ splitsToRemove.add(splitContainer);
+ final TaskFragmentContainer splitTf = splitContainer.getPrimaryContainer() == container
+ ? splitContainer.getSecondaryContainer()
+ : splitContainer.getPrimaryContainer();
+ containersToUpdate.add(splitTf);
+ // We don't want the PIP TaskFragment to be removed as a result of any of its dependents
+ // being removed.
+ splitTf.removeContainerToFinishOnExit(container);
+ if (container.getTopNonFinishingActivity() != null) {
+ splitTf.removeActivityToFinishOnExit(container.getTopNonFinishingActivity());
+ }
+ }
+ container.resetDependencies();
+ taskContainer.mSplitContainers.removeAll(splitsToRemove);
+ // If there is any TaskFragment split with the PIP TaskFragment, update their presentations
+ // since the split is dismissed.
+ // We don't want to close any of them even if they are dependencies of the PIP TaskFragment.
+ mPresenter.updateContainers(containersToUpdate);
+ }
+
/**
* Removes the container from bookkeeping records.
*/
@@ -916,6 +1007,10 @@
return super.onStartActivity(who, intent, options);
}
final Activity launchingActivity = (Activity) who;
+ if (isInPictureInPicture(launchingActivity)) {
+ // We don't embed activity when it is in PIP.
+ return super.onStartActivity(who, intent, options);
+ }
if (shouldExpand(null, intent, getSplitRules())) {
setLaunchingInExpandedContainer(launchingActivity, options);
@@ -1079,6 +1174,19 @@
return !pairRule.shouldClearTop();
}
+ private static boolean isInPictureInPicture(@NonNull Activity activity) {
+ return isInPictureInPicture(activity.getResources().getConfiguration());
+ }
+
+ private static boolean isInPictureInPicture(@NonNull TaskFragmentContainer tf) {
+ return isInPictureInPicture(tf.getInfo().getConfiguration());
+ }
+
+ private static boolean isInPictureInPicture(@Nullable Configuration configuration) {
+ return configuration != null
+ && configuration.windowConfiguration.getWindowingMode() == WINDOWING_MODE_PINNED;
+ }
+
/** Represents TaskFragments and split pairs below a Task. */
@VisibleForTesting
static class TaskContainer {
@@ -1095,6 +1203,9 @@
final Set<IBinder> mFinishedContainer = new ArraySet<>();
/** Available window bounds of this Task. */
final Rect mTaskBounds = new Rect();
+ /** Configuration of the Task. */
+ @Nullable
+ Configuration mConfiguration;
TaskContainer(int taskId) {
mTaskId = taskId;
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
index e4d9ede..b55c16e 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
@@ -36,6 +36,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import java.util.Collection;
import java.util.concurrent.Executor;
/**
@@ -65,13 +66,27 @@
/**
* Updates the presentation of the provided container.
*/
- void updateContainer(TaskFragmentContainer container) {
+ void updateContainer(@NonNull TaskFragmentContainer container) {
final WindowContainerTransaction wct = new WindowContainerTransaction();
mController.updateContainer(wct, container);
applyTransaction(wct);
}
/**
+ * Updates the presentation of the provided containers.
+ */
+ void updateContainers(@NonNull Collection<TaskFragmentContainer> containers) {
+ if (containers.isEmpty()) {
+ return;
+ }
+ final WindowContainerTransaction wct = new WindowContainerTransaction();
+ for (TaskFragmentContainer container : containers) {
+ mController.updateContainer(wct, container);
+ }
+ applyTransaction(wct);
+ }
+
+ /**
* Deletes the specified container and all other associated and dependent containers in the same
* transaction.
*/
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java
index 9a12669..20c929b 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java
@@ -192,6 +192,13 @@
}
/**
+ * Removes a container that should be finished when this container is finished.
+ */
+ void removeContainerToFinishOnExit(@NonNull TaskFragmentContainer containerToRemove) {
+ mContainersToFinishOnExit.remove(containerToRemove);
+ }
+
+ /**
* Adds an activity that should be finished when this container is finished.
*/
void addActivityToFinishOnExit(@NonNull Activity activityToFinish) {
@@ -199,6 +206,19 @@
}
/**
+ * Removes an activity that should be finished when this container is finished.
+ */
+ void removeActivityToFinishOnExit(@NonNull Activity activityToRemove) {
+ mActivitiesToFinishOnExit.remove(activityToRemove);
+ }
+
+ /** Removes all dependencies that should be finished when this container is finished. */
+ void resetDependencies() {
+ mContainersToFinishOnExit.clear();
+ mActivitiesToFinishOnExit.clear();
+ }
+
+ /**
* Removes all activities that belong to this process and finishes other containers/activities
* configured to finish together.
*/
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java
index 2f7d958..a6f6388 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/layout/WindowLayoutComponentImpl.java
@@ -200,12 +200,23 @@
rotateRectToDisplayRotation(displayId, featureRect);
transformToWindowSpaceRect(activity, featureRect);
- features.add(new FoldingFeature(featureRect, baseFeature.getType(), state));
+ if (!isRectZero(featureRect)) {
+ // TODO(b/228641877) Remove guarding if when fixed.
+ features.add(new FoldingFeature(featureRect, baseFeature.getType(), state));
+ }
}
}
return features;
}
+ /**
+ * Returns {@link true} if a {@link Rect} has zero width and zero height,
+ * {@code false} otherwise.
+ */
+ private boolean isRectZero(Rect rect) {
+ return rect.width() == 0 && rect.height() == 0;
+ }
+
private final class NotifyOnConfigurationChanged extends EmptyLifecycleCallbacksAdapter {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
diff --git a/libs/WindowManager/Shell/res/values-de/strings.xml b/libs/WindowManager/Shell/res/values-de/strings.xml
index 3a110793..c5d945a 100644
--- a/libs/WindowManager/Shell/res/values-de/strings.xml
+++ b/libs/WindowManager/Shell/res/values-de/strings.xml
@@ -20,7 +20,7 @@
<string name="pip_phone_close" msgid="5783752637260411309">"Schließen"</string>
<string name="pip_phone_expand" msgid="2579292903468287504">"Maximieren"</string>
<string name="pip_phone_settings" msgid="5468987116750491918">"Einstellungen"</string>
- <string name="pip_phone_enter_split" msgid="7042877263880641911">"„Bildschirm teilen“ aktivieren"</string>
+ <string name="pip_phone_enter_split" msgid="7042877263880641911">"„Geteilter Bildschirm“ aktivieren"</string>
<string name="pip_menu_title" msgid="5393619322111827096">"Menü"</string>
<string name="pip_notification_title" msgid="1347104727641353453">"<xliff:g id="NAME">%s</xliff:g> ist in Bild im Bild"</string>
<string name="pip_notification_message" msgid="8854051911700302620">"Wenn du nicht möchtest, dass <xliff:g id="NAME">%s</xliff:g> diese Funktion verwendet, tippe, um die Einstellungen zu öffnen und die Funktion zu deaktivieren."</string>
@@ -31,7 +31,7 @@
<string name="accessibility_action_pip_resize" msgid="4623966104749543182">"Größe anpassen"</string>
<string name="accessibility_action_pip_stash" msgid="4060775037619702641">"In Stash legen"</string>
<string name="accessibility_action_pip_unstash" msgid="7467499339610437646">"Aus Stash entfernen"</string>
- <string name="dock_forced_resizable" msgid="1749750436092293116">"Die App funktioniert unter Umständen bei geteiltem Bildschirmmodus nicht."</string>
+ <string name="dock_forced_resizable" msgid="1749750436092293116">"Die App funktioniert unter Umständen im Modus für geteilten Bildschirm nicht."</string>
<string name="dock_non_resizeble_failed_to_dock_text" msgid="7408396418008948957">"Das Teilen des Bildschirms wird in dieser App nicht unterstützt."</string>
<string name="forced_resizable_secondary_display" msgid="1768046938673582671">"Die App funktioniert auf einem sekundären Display möglicherweise nicht."</string>
<string name="activity_launch_on_secondary_display_failed_text" msgid="4226485344988071769">"Die App unterstützt den Start auf sekundären Displays nicht."</string>
diff --git a/libs/WindowManager/Shell/res/values-fa/strings.xml b/libs/WindowManager/Shell/res/values-fa/strings.xml
index 9e72571..761fb9d 100644
--- a/libs/WindowManager/Shell/res/values-fa/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fa/strings.xml
@@ -48,8 +48,8 @@
<string name="accessibility_action_divider_bottom_full" msgid="2831868345092314060">"تمامصفحه پایین"</string>
<string name="one_handed_tutorial_title" msgid="4583241688067426350">"استفاده از حالت یکدستی"</string>
<string name="one_handed_tutorial_description" msgid="3486582858591353067">"برای خارج شدن، از پایین صفحهنمایش تند بهطرف بالا بکشید یا در هر جایی از بالای برنامه که میخواهید ضربه بزنید"</string>
- <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"آغاز «حالت تک حرکت»"</string>
- <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"خروج از «حالت تک حرکت»"</string>
+ <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"آغاز «حالت یکدستی»"</string>
+ <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"خروج از «حالت یکدستی»"</string>
<string name="bubbles_settings_button_description" msgid="1301286017420516912">"تنظیمات برای حبابکهای <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"لبریزشده"</string>
<string name="bubble_accessibility_action_add_back" msgid="1830101076853540953">"افزودن برگشت به پشته"</string>
diff --git a/libs/WindowManager/Shell/res/values-it/strings.xml b/libs/WindowManager/Shell/res/values-it/strings.xml
index dd5416f..7157ed0 100644
--- a/libs/WindowManager/Shell/res/values-it/strings.xml
+++ b/libs/WindowManager/Shell/res/values-it/strings.xml
@@ -46,10 +46,10 @@
<string name="accessibility_action_divider_top_50" msgid="8649582798829048946">"Schermata superiore al 50%"</string>
<string name="accessibility_action_divider_top_30" msgid="3572788224908570257">"Schermata superiore al 30%"</string>
<string name="accessibility_action_divider_bottom_full" msgid="2831868345092314060">"Schermata inferiore a schermo intero"</string>
- <string name="one_handed_tutorial_title" msgid="4583241688067426350">"Usare la modalità one-hand"</string>
+ <string name="one_handed_tutorial_title" msgid="4583241688067426350">"Usare la modalità a una mano"</string>
<string name="one_handed_tutorial_description" msgid="3486582858591353067">"Per uscire, scorri verso l\'alto dalla parte inferiore dello schermo oppure tocca un punto qualsiasi sopra l\'app"</string>
- <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"Avvia la modalità one-hand"</string>
- <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"Esci dalla modalità one-hand"</string>
+ <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"Avvia la modalità a una mano"</string>
+ <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"Esci dalla modalità a una mano"</string>
<string name="bubbles_settings_button_description" msgid="1301286017420516912">"Impostazioni per bolle <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"Altre"</string>
<string name="bubble_accessibility_action_add_back" msgid="1830101076853540953">"Aggiungi di nuovo all\'elenco"</string>
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellInitImpl.java b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellInitImpl.java
index 62fb840..ecdccd7 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellInitImpl.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellInitImpl.java
@@ -34,6 +34,7 @@
import com.android.wm.shell.recents.RecentTasksController;
import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.startingsurface.StartingWindowController;
+import com.android.wm.shell.transition.DefaultMixedHandler;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.unfold.UnfoldTransitionHandler;
@@ -131,6 +132,13 @@
if (Transitions.ENABLE_SHELL_TRANSITIONS) {
mTransitions.register(mShellTaskOrganizer);
mUnfoldTransitionHandler.ifPresent(UnfoldTransitionHandler::init);
+ if (mSplitScreenOptional.isPresent() && mPipTouchHandlerOptional.isPresent()) {
+ final DefaultMixedHandler mixedHandler = new DefaultMixedHandler(mTransitions,
+ mPipTouchHandlerOptional.get().getTransitionHandler(),
+ mSplitScreenOptional.get().getTransitionHandler());
+ // Added at end so that it has highest priority.
+ mTransitions.addHandler(mixedHandler);
+ }
}
// TODO(b/181599115): This should really be the pip controller, but until we can provide the
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
index 1a1cd5b..b6fb828 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
@@ -1225,12 +1225,6 @@
mOverflowListener.applyUpdate(update);
}
- // Collapsing? Do this first before remaining steps.
- if (update.expandedChanged && !update.expanded) {
- mStackView.setExpanded(false);
- mSysuiProxy.requestNotificationShadeTopUi(false, TAG);
- }
-
// Do removals, if any.
ArrayList<Pair<Bubble, Integer>> removedBubbles =
new ArrayList<>(update.removedBubbles);
@@ -1307,6 +1301,11 @@
mStackView.updateBubbleOrder(update.bubbles);
}
+ if (update.expandedChanged && !update.expanded) {
+ mStackView.setExpanded(false);
+ mSysuiProxy.requestNotificationShadeTopUi(false, TAG);
+ }
+
if (update.selectionChanged && mStackView != null) {
mStackView.setSelectedBubble(update.selectedBubble);
if (update.selectedBubble != null) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
index 7af8cfa..a2b35fc 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
@@ -112,6 +112,7 @@
private ShapeDrawable mRightPointer;
private float mCornerRadius = 0f;
private int mBackgroundColorFloating;
+ private boolean mUsingMaxHeight;
@Nullable private Bubble mBubble;
private PendingIntent mPendingIntent;
@@ -621,6 +622,13 @@
return prevWasIntentBased != newIsIntentBased;
}
+ /**
+ * Whether the bubble is using all available height to display or not.
+ */
+ public boolean isUsingMaxHeight() {
+ return mUsingMaxHeight;
+ }
+
void updateHeight() {
if (mExpandedViewContainerLocation == null) {
return;
@@ -632,6 +640,7 @@
float height = desiredHeight == MAX_HEIGHT
? maxHeight
: Math.min(desiredHeight, maxHeight);
+ mUsingMaxHeight = height == maxHeight;
FrameLayout.LayoutParams lp = mIsOverflow
? (FrameLayout.LayoutParams) mOverflowView.getLayoutParams()
: (FrameLayout.LayoutParams) mTaskView.getLayoutParams();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java
index 97e5ee3..6eb8d8a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblePositioner.java
@@ -557,7 +557,7 @@
}
if (showBubblesVertically() && mImeVisible) {
- return new PointF(x, getExpandedBubbleYForIme(index, state.numberOfBubbles));
+ return new PointF(x, getExpandedBubbleYForIme(index, state));
}
return new PointF(x, y);
}
@@ -567,10 +567,10 @@
* is showing.
*
* @param index the index of the bubble in the stack.
- * @param numberOfBubbles the total number of bubbles in the stack.
+ * @param state information about the stack state (# of bubbles, selected bubble).
* @return y position of the bubble on-screen when the stack is expanded.
*/
- private float getExpandedBubbleYForIme(int index, int numberOfBubbles) {
+ private float getExpandedBubbleYForIme(int index, BubbleStackView.StackViewState state) {
final float top = getAvailableRect().top + mExpandedViewPadding;
if (!showBubblesVertically()) {
// Showing horizontally: align to top
@@ -578,10 +578,10 @@
}
// Showing vertically: might need to translate the bubbles above the IME.
- // Subtract spacing here to provide a margin between top of IME and bottom of bubble row.
- final float bottomHeight = getImeHeight() + mInsets.bottom - (mSpacingBetweenBubbles * 2);
+ // Add spacing here to provide a margin between top of IME and bottom of bubble row.
+ final float bottomHeight = getImeHeight() + mInsets.bottom + (mSpacingBetweenBubbles * 2);
final float bottomInset = mScreenRect.bottom - bottomHeight;
- final float expandedStackSize = getExpandedStackSize(numberOfBubbles);
+ final float expandedStackSize = getExpandedStackSize(state.numberOfBubbles);
final float centerPosition = mPositionRect.centerY();
final float rowBottom = centerPosition + (expandedStackSize / 2f);
final float rowTop = centerPosition - (expandedStackSize / 2f);
@@ -593,7 +593,7 @@
if (rowTop - translationY < top) {
// Even if we shift the bubbles, they will still overlap with the IME.
// Hide the overflow for a lil more space:
- final float expandedStackSizeNoO = getExpandedStackSize(numberOfBubbles - 1);
+ final float expandedStackSizeNoO = getExpandedStackSize(state.numberOfBubbles - 1);
final float centerPositionNoO = showBubblesVertically()
? mPositionRect.centerY()
: mPositionRect.centerX();
@@ -603,6 +603,13 @@
rowTopForIme = rowTopNoO - translationY;
}
}
+ // Check if the selected bubble is within the appropriate space
+ final float selectedPosition = rowTopForIme
+ + (state.selectedIndex * (mBubbleSize + mSpacingBetweenBubbles));
+ if (selectedPosition < top) {
+ // We must always keep the selected bubble in view so we'll have to allow more overlap.
+ rowTopForIme = top;
+ }
return rowTopForIme + (index * (mBubbleSize + mSpacingBetweenBubbles));
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
index a599866..f60b659 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java
@@ -2355,7 +2355,14 @@
}
} else if (mPositioner.showBubblesVertically() && mIsExpanded
&& mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) {
+ float selectedY = mPositioner.getExpandedBubbleXY(getState().selectedIndex,
+ getState()).y;
+ float newExpandedViewTop = mPositioner.getExpandedViewY(mExpandedBubble, selectedY);
mExpandedBubble.getExpandedView().setImeVisible(visible);
+ if (!mExpandedBubble.getExpandedView().isUsingMaxHeight()) {
+ mExpandedViewContainer.animate().translationY(newExpandedViewTop);
+ }
+
List<Animator> animList = new ArrayList();
for (int i = 0; i < mBubbleContainer.getChildCount(); i++) {
View child = mBubbleContainer.getChildAt(i);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
index b6635f3..6d0aad0 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java
@@ -295,6 +295,10 @@
displayController.addDisplayWindowListener(this);
}
+ public PipTransitionController getTransitionController() {
+ return mPipTransitionController;
+ }
+
public Rect getCurrentOrAnimatingBounds() {
PipAnimationController.PipTransitionAnimator animator =
mPipAnimationController.getCurrentAnimator();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java
index 48df28e..5d17f85b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java
@@ -28,7 +28,6 @@
import static android.view.WindowManager.TRANSIT_PIP;
import static android.view.WindowManager.transitTypeToString;
import static android.window.TransitionInfo.FLAG_IS_DISPLAY;
-import static android.window.TransitionInfo.FLAG_IS_WALLPAPER;
import static com.android.wm.shell.pip.PipAnimationController.ANIM_TYPE_ALPHA;
import static com.android.wm.shell.pip.PipAnimationController.ANIM_TYPE_BOUNDS;
@@ -52,6 +51,7 @@
import android.os.IBinder;
import android.view.Surface;
import android.view.SurfaceControl;
+import android.view.WindowManager;
import android.window.TransitionInfo;
import android.window.TransitionRequestInfo;
import android.window.WindowContainerToken;
@@ -217,8 +217,9 @@
}
// Entering PIP.
- if (isEnteringPip(info, mCurrentPipTaskToken)) {
- return startEnterAnimation(info, startTransaction, finishTransaction, finishCallback);
+ if (isEnteringPip(info)) {
+ startEnterAnimation(info, startTransaction, finishTransaction, finishCallback);
+ return true;
}
// For transition that we don't animate, but contains the PIP leash, we need to update the
@@ -245,16 +246,9 @@
@Override
public WindowContainerTransaction handleRequest(@NonNull IBinder transition,
@NonNull TransitionRequestInfo request) {
- if (request.getType() == TRANSIT_PIP) {
+ if (requestHasPipEnter(request)) {
WindowContainerTransaction wct = new WindowContainerTransaction();
- if (mOneShotAnimationType == ANIM_TYPE_ALPHA) {
- mRequestedEnterTransition = transition;
- mRequestedEnterTask = request.getTriggerTask().token;
- wct.setActivityWindowingMode(request.getTriggerTask().token,
- WINDOWING_MODE_UNDEFINED);
- final Rect destinationBounds = mPipBoundsAlgorithm.getEntryDestinationBounds();
- wct.setBounds(request.getTriggerTask().token, destinationBounds);
- }
+ augmentRequest(transition, request, wct);
return wct;
} else {
return null;
@@ -262,6 +256,22 @@
}
@Override
+ public void augmentRequest(@NonNull IBinder transition,
+ @NonNull TransitionRequestInfo request, @NonNull WindowContainerTransaction outWCT) {
+ if (!requestHasPipEnter(request)) {
+ throw new IllegalStateException("Called PiP augmentRequest when request has no PiP");
+ }
+ if (mOneShotAnimationType == ANIM_TYPE_ALPHA) {
+ mRequestedEnterTransition = transition;
+ mRequestedEnterTask = request.getTriggerTask().token;
+ outWCT.setActivityWindowingMode(request.getTriggerTask().token,
+ WINDOWING_MODE_UNDEFINED);
+ final Rect destinationBounds = mPipBoundsAlgorithm.getEntryDestinationBounds();
+ outWCT.setBounds(request.getTriggerTask().token, destinationBounds);
+ }
+ }
+
+ @Override
public boolean handleRotateDisplay(int startRotation, int endRotation,
WindowContainerTransaction wct) {
if (mRequestedEnterTransition != null && mOneShotAnimationType == ANIM_TYPE_ALPHA) {
@@ -559,92 +569,94 @@
}
/** Whether we should handle the given {@link TransitionInfo} animation as entering PIP. */
- private static boolean isEnteringPip(@NonNull TransitionInfo info,
- @Nullable WindowContainerToken currentPipTaskToken) {
+ private boolean isEnteringPip(@NonNull TransitionInfo info) {
for (int i = info.getChanges().size() - 1; i >= 0; --i) {
final TransitionInfo.Change change = info.getChanges().get(i);
- if (change.getTaskInfo() != null
- && change.getTaskInfo().getWindowingMode() == WINDOWING_MODE_PINNED
- && !change.getContainer().equals(currentPipTaskToken)) {
- // We support TRANSIT_PIP type (from RootWindowContainer) or TRANSIT_OPEN (from apps
- // that enter PiP instantly on opening, mostly from CTS/Flicker tests)
- if (info.getType() == TRANSIT_PIP || info.getType() == TRANSIT_OPEN) {
- return true;
- }
- // This can happen if the request to enter PIP happens when we are collecting for
- // another transition, such as TRANSIT_CHANGE (display rotation).
- if (info.getType() == TRANSIT_CHANGE) {
- return true;
- }
-
- // Please file a bug to handle the unexpected transition type.
- throw new IllegalStateException("Entering PIP with unexpected transition type="
- + transitTypeToString(info.getType()));
- }
+ if (isEnteringPip(change, info.getType())) return true;
}
return false;
}
- private boolean startEnterAnimation(@NonNull TransitionInfo info,
+ /** Whether a particular change is a window that is entering pip. */
+ @Override
+ public boolean isEnteringPip(@NonNull TransitionInfo.Change change,
+ @WindowManager.TransitionType int transitType) {
+ if (change.getTaskInfo() != null
+ && change.getTaskInfo().getWindowingMode() == WINDOWING_MODE_PINNED
+ && !change.getContainer().equals(mCurrentPipTaskToken)) {
+ // We support TRANSIT_PIP type (from RootWindowContainer) or TRANSIT_OPEN (from apps
+ // that enter PiP instantly on opening, mostly from CTS/Flicker tests)
+ if (transitType == TRANSIT_PIP || transitType == TRANSIT_OPEN) {
+ return true;
+ }
+ // This can happen if the request to enter PIP happens when we are collecting for
+ // another transition, such as TRANSIT_CHANGE (display rotation).
+ if (transitType == TRANSIT_CHANGE) {
+ return true;
+ }
+
+ // Please file a bug to handle the unexpected transition type.
+ throw new IllegalStateException("Entering PIP with unexpected transition type="
+ + transitTypeToString(transitType));
+ }
+ return false;
+ }
+
+ private void startEnterAnimation(@NonNull TransitionInfo info,
@NonNull SurfaceControl.Transaction startTransaction,
@NonNull SurfaceControl.Transaction finishTransaction,
@NonNull Transitions.TransitionFinishCallback finishCallback) {
- // Search for an Enter PiP transition (along with a show wallpaper one)
+ // Search for an Enter PiP transition
TransitionInfo.Change enterPip = null;
- TransitionInfo.Change wallpaper = null;
for (int i = info.getChanges().size() - 1; i >= 0; --i) {
final TransitionInfo.Change change = info.getChanges().get(i);
if (change.getTaskInfo() != null
&& change.getTaskInfo().getWindowingMode() == WINDOWING_MODE_PINNED) {
enterPip = change;
- } else if ((change.getFlags() & FLAG_IS_WALLPAPER) != 0) {
- wallpaper = change;
}
}
if (enterPip == null) {
- return false;
- }
- // Keep track of the PIP task.
- mCurrentPipTaskToken = enterPip.getContainer();
- mHasFadeOut = false;
-
- if (mFinishCallback != null) {
- callFinishCallback(null /* wct */);
- mFinishTransaction = null;
- throw new RuntimeException("Previous callback not called, aborting entering PIP.");
+ throw new IllegalStateException("Trying to start PiP animation without a pip"
+ + "participant");
}
- // Show the wallpaper if there is a wallpaper change.
- if (wallpaper != null) {
- startTransaction.show(wallpaper.getLeash());
- startTransaction.setAlpha(wallpaper.getLeash(), 1.f);
- }
// Make sure other open changes are visible as entering PIP. Some may be hidden in
// Transitions#setupStartState because the transition type is OPEN (such as auto-enter).
for (int i = info.getChanges().size() - 1; i >= 0; --i) {
final TransitionInfo.Change change = info.getChanges().get(i);
- if (change == enterPip || change == wallpaper) {
- continue;
- }
+ if (change == enterPip) continue;
if (isOpeningType(change.getMode())) {
final SurfaceControl leash = change.getLeash();
startTransaction.show(leash).setAlpha(leash, 1.f);
}
}
+ startEnterAnimation(enterPip, startTransaction, finishTransaction, finishCallback);
+ }
+
+ @Override
+ public void startEnterAnimation(@NonNull final TransitionInfo.Change pipChange,
+ @NonNull final SurfaceControl.Transaction startTransaction,
+ @NonNull final SurfaceControl.Transaction finishTransaction,
+ @NonNull final Transitions.TransitionFinishCallback finishCallback) {
+ if (mFinishCallback != null) {
+ callFinishCallback(null /* wct */);
+ mFinishTransaction = null;
+ throw new RuntimeException("Previous callback not called, aborting entering PIP.");
+ }
+
+ // Keep track of the PIP task and animation.
+ mCurrentPipTaskToken = pipChange.getContainer();
+ mHasFadeOut = false;
mPipTransitionState.setTransitionState(PipTransitionState.ENTERING_PIP);
mFinishCallback = finishCallback;
mFinishTransaction = finishTransaction;
- final int endRotation = mInFixedRotation ? mEndFixedRotation : enterPip.getEndRotation();
- return startEnterAnimation(enterPip.getTaskInfo(), enterPip.getLeash(),
- startTransaction, finishTransaction, enterPip.getStartRotation(),
- endRotation);
- }
- private boolean startEnterAnimation(final TaskInfo taskInfo, final SurfaceControl leash,
- final SurfaceControl.Transaction startTransaction,
- final SurfaceControl.Transaction finishTransaction,
- final int startRotation, final int endRotation) {
+ final ActivityManager.RunningTaskInfo taskInfo = pipChange.getTaskInfo();
+ final SurfaceControl leash = pipChange.getLeash();
+ final int startRotation = pipChange.getStartRotation();
+ final int endRotation = mInFixedRotation ? mEndFixedRotation : pipChange.getEndRotation();
+
setBoundsStateForEntry(taskInfo.topActivity, taskInfo.pictureInPictureParams,
taskInfo.topActivityInfo);
final Rect destinationBounds = mPipBoundsAlgorithm.getEntryDestinationBounds();
@@ -657,7 +669,6 @@
computeEnterPipRotatedBounds(rotationDelta, startRotation, endRotation, taskInfo,
destinationBounds, sourceHintRect);
}
- PipAnimationController.PipTransitionAnimator animator;
// Set corner radius for entering pip.
mSurfaceTransactionHelper
.crop(finishTransaction, leash, destinationBounds)
@@ -694,7 +705,7 @@
null /* callback */, false /* withStartDelay */);
}
mPipTransitionState.setInSwipePipToHomeTransition(false);
- return true;
+ return;
}
if (rotationDelta != Surface.ROTATION_0) {
@@ -702,6 +713,12 @@
tmpTransform.postRotate(rotationDelta);
startTransaction.setMatrix(leash, tmpTransform, new float[9]);
}
+ if (mOneShotAnimationType == ANIM_TYPE_ALPHA) {
+ startTransaction.setAlpha(leash, 0f);
+ }
+ startTransaction.apply();
+
+ PipAnimationController.PipTransitionAnimator animator;
if (mOneShotAnimationType == ANIM_TYPE_BOUNDS) {
animator = mPipAnimationController.getAnimator(taskInfo, leash, currentBounds,
currentBounds, destinationBounds, sourceHintRect, TRANSITION_DIRECTION_TO_PIP,
@@ -712,7 +729,6 @@
animator.setUseContentOverlay(mContext);
}
} else if (mOneShotAnimationType == ANIM_TYPE_ALPHA) {
- startTransaction.setAlpha(leash, 0f);
animator = mPipAnimationController.getAnimator(taskInfo, leash, destinationBounds,
0f, 1f);
mOneShotAnimationType = ANIM_TYPE_BOUNDS;
@@ -720,7 +736,6 @@
throw new RuntimeException("Unrecognized animation type: "
+ mOneShotAnimationType);
}
- startTransaction.apply();
animator.setTransitionDirection(TRANSITION_DIRECTION_TO_PIP)
.setPipAnimationCallback(mPipAnimationCallback)
.setDuration(mEnterExitAnimationDuration);
@@ -731,8 +746,6 @@
animator.setDestinationBounds(mPipBoundsAlgorithm.getEntryDestinationBounds());
}
animator.start();
-
- return true;
}
/** Computes destination bounds in old rotation and updates source hint rect if available. */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
index 24993c62..28418be 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransitionController.java
@@ -17,6 +17,7 @@
package com.android.wm.shell.pip;
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
+import static android.view.WindowManager.TRANSIT_PIP;
import static com.android.wm.shell.pip.PipAnimationController.TRANSITION_DIRECTION_REMOVE_STACK;
import static com.android.wm.shell.pip.PipAnimationController.isInPipDirection;
@@ -28,10 +29,16 @@
import android.content.pm.ActivityInfo;
import android.graphics.Rect;
import android.os.Handler;
+import android.os.IBinder;
import android.os.Looper;
import android.view.SurfaceControl;
+import android.view.WindowManager;
+import android.window.TransitionInfo;
+import android.window.TransitionRequestInfo;
import android.window.WindowContainerTransaction;
+import androidx.annotation.NonNull;
+
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.transition.Transitions;
@@ -206,6 +213,30 @@
return false;
}
+ /** @return whether the transition-request represents a pip-entry. */
+ public boolean requestHasPipEnter(@NonNull TransitionRequestInfo request) {
+ return request.getType() == TRANSIT_PIP;
+ }
+
+ /** Whether a particular change is a window that is entering pip. */
+ public boolean isEnteringPip(@NonNull TransitionInfo.Change change,
+ @WindowManager.TransitionType int transitType) {
+ return false;
+ }
+
+ /** Add PiP-related changes to `outWCT` for the given request. */
+ public void augmentRequest(@NonNull IBinder transition,
+ @NonNull TransitionRequestInfo request, @NonNull WindowContainerTransaction outWCT) {
+ throw new IllegalStateException("Request isn't entering PiP");
+ }
+
+ /** Play a transition animation for entering PiP on a specific PiP change. */
+ public void startEnterAnimation(@NonNull final TransitionInfo.Change pipChange,
+ @NonNull final SurfaceControl.Transaction startTransaction,
+ @NonNull final SurfaceControl.Transaction finishTransaction,
+ @NonNull final Transitions.TransitionFinishCallback finishCallback) {
+ }
+
/**
* Callback interface for PiP transitions (both from and to PiP mode)
*/
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
index 147a272..ba7a836 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java
@@ -53,6 +53,7 @@
import com.android.wm.shell.pip.PipBoundsAlgorithm;
import com.android.wm.shell.pip.PipBoundsState;
import com.android.wm.shell.pip.PipTaskOrganizer;
+import com.android.wm.shell.pip.PipTransitionController;
import com.android.wm.shell.pip.PipUiEventLogger;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
@@ -249,6 +250,10 @@
});
}
+ public PipTransitionController getTransitionHandler() {
+ return mPipTaskOrganizer.getTransitionController();
+ }
+
private void reloadResources() {
final Resources res = mContext.getResources();
mBottomOffsetBufferPx = res.getDimensionPixelSize(R.dimen.pip_bottom_offset_buffer);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipBoundsState.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipBoundsState.java
index ea07499..a3048bd 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipBoundsState.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipBoundsState.java
@@ -35,7 +35,7 @@
import java.lang.annotation.RetentionPolicy;
/**
- * TV specific values of the current state of the PIP bounds.
+ * TV specific values of the current state of the PiP bounds.
*/
public class TvPipBoundsState extends PipBoundsState {
@@ -86,7 +86,7 @@
mTvPipGravity = DEFAULT_TV_GRAVITY;
}
- /** Set the tv expanded bounds of PIP */
+ /** Set the tv expanded bounds of PiP */
public void setTvExpandedSize(@Nullable Size size) {
mTvExpandedSize = size;
}
@@ -97,20 +97,24 @@
return mTvExpandedSize;
}
- /** Set the PIP aspect ratio for the expanded PIP (TV) that is desired by the app. */
+ /** Set the PiP aspect ratio for the expanded PiP (TV) that is desired by the app. */
public void setDesiredTvExpandedAspectRatio(float aspectRatio, boolean override) {
- if (override || mTvFixedPipOrientation == ORIENTATION_UNDETERMINED || aspectRatio == 0) {
+ if (override || mTvFixedPipOrientation == ORIENTATION_UNDETERMINED) {
mDesiredTvExpandedAspectRatio = aspectRatio;
resetTvPipState();
return;
}
if ((aspectRatio > 1 && mTvFixedPipOrientation == ORIENTATION_HORIZONTAL)
- || (aspectRatio <= 1 && mTvFixedPipOrientation == ORIENTATION_VERTICAL)) {
+ || (aspectRatio <= 1 && mTvFixedPipOrientation == ORIENTATION_VERTICAL)
+ || aspectRatio == 0) {
mDesiredTvExpandedAspectRatio = aspectRatio;
}
}
- /** Get the PIP aspect ratio for the expanded PIP (TV) that is desired by the app. */
+ /**
+ * Get the aspect ratio for the expanded PiP (TV) that is desired, or {@code 0} if it is not
+ * enabled by the app.
+ */
public float getDesiredTvExpandedAspectRatio() {
return mDesiredTvExpandedAspectRatio;
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithm.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithm.kt
index 4e8e71b..09d202a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithm.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithm.kt
@@ -133,7 +133,8 @@
val pipAnchorBoundsWithAllDecors =
getNormalPipAnchorBounds(pipSizeWithAllDecors, transformedMovementBounds)
- val pipAnchorBoundsWithPermanentDecors = removeTemporaryDecors(pipAnchorBoundsWithAllDecors)
+ val pipAnchorBoundsWithPermanentDecors =
+ removeTemporaryDecorsTransformed(pipAnchorBoundsWithAllDecors)
val result = calculatePipPositionTransformed(
pipAnchorBoundsWithPermanentDecors,
transformedRestrictedAreas,
@@ -471,12 +472,10 @@
}
fun setPipPermanentDecorInsets(insets: Insets) {
- if (pipPermanentDecorInsets == insets) return
pipPermanentDecorInsets = insets
}
fun setPipTemporaryDecorInsets(insets: Insets) {
- if (pipTemporaryDecorInsets == insets) return
pipTemporaryDecorInsets = insets
}
@@ -781,6 +780,7 @@
/**
* Removes the space that was reserved for permanent decorations around the pip
+ * @param bounds the bounds (in screen space) to remove the insets from
*/
private fun removePermanentDecors(bounds: Rect): Rect {
val pipDecorReverseInsets = Insets.subtract(Insets.NONE, pipPermanentDecorInsets)
@@ -790,11 +790,15 @@
/**
* Removes the space that was reserved for temporary decorations around the pip
+ * @param bounds the bounds (in base case) to remove the insets from
*/
- private fun removeTemporaryDecors(bounds: Rect): Rect {
- val pipDecorReverseInsets = Insets.subtract(Insets.NONE, pipTemporaryDecorInsets)
- bounds.inset(pipDecorReverseInsets)
- return bounds
+ private fun removeTemporaryDecorsTransformed(bounds: Rect): Rect {
+ if (pipTemporaryDecorInsets == Insets.NONE) return bounds
+
+ var reverseInsets = Insets.subtract(Insets.NONE, pipTemporaryDecorInsets)
+ var boundsInScreenSpace = fromTransformedSpace(bounds)
+ boundsInScreenSpace.inset(reverseInsets)
+ return toTransformedSpace(boundsInScreenSpace)
}
private fun Rect.offsetCopy(dx: Int, dy: Int) = Rect(this).apply { offset(dx, dy) }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
index aec51ba..028ae2a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java
@@ -108,7 +108,7 @@
static final int EXIT_REASON_ROOT_TASK_VANISHED = 6;
static final int EXIT_REASON_SCREEN_LOCKED = 7;
static final int EXIT_REASON_SCREEN_LOCKED_SHOW_ON_TOP = 8;
- static final int EXIT_REASON_CHILD_TASK_ENTER_PIP = 9;
+ public static final int EXIT_REASON_CHILD_TASK_ENTER_PIP = 9;
@IntDef(value = {
EXIT_REASON_UNKNOWN,
EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW,
@@ -198,6 +198,10 @@
return mStageCoordinator.isSplitScreenVisible();
}
+ public StageCoordinator getTransitionHandler() {
+ return mStageCoordinator;
+ }
+
@Nullable
public ActivityManager.RunningTaskInfo getTaskInfo(@SplitPosition int splitPosition) {
if (!isSplitScreenVisible() || splitPosition == SPLIT_POSITION_UNDEFINED) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java
index cd121ed..4ff9d48 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java
@@ -21,7 +21,6 @@
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
-import static android.window.TransitionInfo.FLAG_FIRST_CUSTOM;
import static com.android.wm.shell.splitscreen.SplitScreen.stageTypeToString;
import static com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_DRAG_DIVIDER;
@@ -58,9 +57,6 @@
class SplitScreenTransitions {
private static final String TAG = "SplitScreenTransitions";
- /** Flag applied to a transition change to identify it as a divider bar for animation. */
- public static final int FLAG_IS_DIVIDER_BAR = FLAG_FIRST_CUSTOM;
-
private final TransactionPool mTransactionPool;
private final Transitions mTransitions;
private final Runnable mOnFinish;
@@ -187,27 +183,28 @@
}
/** Starts a transition to dismiss split. */
- IBinder startDismissTransition(@Nullable IBinder transition, WindowContainerTransaction wct,
+ IBinder startDismissTransition(WindowContainerTransaction wct,
Transitions.TransitionHandler handler, @SplitScreen.StageType int dismissTop,
@SplitScreenController.ExitReason int reason) {
final int type = reason == EXIT_REASON_DRAG_DIVIDER
? TRANSIT_SPLIT_DISMISS_SNAP : TRANSIT_SPLIT_DISMISS;
- if (transition == null) {
- transition = mTransitions.startTransition(type, wct, handler);
- }
+ IBinder transition = mTransitions.startTransition(type, wct, handler);
+ setDismissTransition(transition, dismissTop, reason);
+ return transition;
+ }
+
+ /** Sets a transition to dismiss split. */
+ void setDismissTransition(@NonNull IBinder transition, @SplitScreen.StageType int dismissTop,
+ @SplitScreenController.ExitReason int reason) {
mPendingDismiss = new DismissTransition(transition, reason, dismissTop);
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " splitTransition "
+ " deduced Dismiss due to %s. toTop=%s",
exitReasonToString(reason), stageTypeToString(dismissTop));
- return transition;
}
- IBinder startRecentTransition(@Nullable IBinder transition, WindowContainerTransaction wct,
- Transitions.TransitionHandler handler, @Nullable RemoteTransition remoteTransition) {
- if (transition == null) {
- transition = mTransitions.startTransition(TRANSIT_OPEN, wct, handler);
- }
+ void setRecentTransition(@NonNull IBinder transition,
+ @Nullable RemoteTransition remoteTransition) {
mPendingRecent = transition;
if (remoteTransition != null) {
@@ -219,7 +216,6 @@
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " splitTransition "
+ " deduced Enter recent panel");
- return transition;
}
void mergeAnimation(IBinder transition, TransitionInfo info, SurfaceControl.Transaction t,
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
index 45931de..96062f2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
@@ -28,6 +28,7 @@
import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
import static android.view.WindowManager.transitTypeToString;
+import static android.window.TransitionInfo.FLAG_FIRST_CUSTOM;
import static android.window.TransitionInfo.FLAG_IS_DISPLAY;
import static com.android.wm.shell.common.split.SplitLayout.PARALLAX_ALIGN_CENTER;
@@ -47,7 +48,6 @@
import static com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_SCREEN_LOCKED_SHOW_ON_TOP;
import static com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_UNKNOWN;
import static com.android.wm.shell.splitscreen.SplitScreenController.exitReasonToString;
-import static com.android.wm.shell.splitscreen.SplitScreenTransitions.FLAG_IS_DIVIDER_BAR;
import static com.android.wm.shell.transition.Transitions.ENABLE_SHELL_TRANSITIONS;
import static com.android.wm.shell.transition.Transitions.TRANSIT_SPLIT_SCREEN_OPEN_TO_SIDE;
import static com.android.wm.shell.transition.Transitions.TRANSIT_SPLIT_SCREEN_PAIR_OPEN;
@@ -126,12 +126,15 @@
* This rules are mostly implemented in {@link #onStageVisibilityChanged(StageListenerImpl)} and
* {@link #onStageHasChildrenChanged(StageListenerImpl).}
*/
-class StageCoordinator implements SplitLayout.SplitLayoutHandler,
+public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
DisplayController.OnDisplaysChangedListener, Transitions.TransitionHandler,
ShellTaskOrganizer.TaskListener {
private static final String TAG = StageCoordinator.class.getSimpleName();
+ /** Flag applied to a transition change to identify it as a divider bar for animation. */
+ public static final int FLAG_IS_DIVIDER_BAR = FLAG_FIRST_CUSTOM;
+
private final SurfaceSession mSurfaceSession = new SurfaceSession();
private final MainStage mMainStage;
@@ -619,7 +622,7 @@
if (ENABLE_SHELL_TRANSITIONS) {
final WindowContainerTransaction wct = new WindowContainerTransaction();
prepareExitSplitScreen(mTopStageAfterFoldDismiss, wct);
- mSplitTransitions.startDismissTransition(null /* transition */, wct, this,
+ mSplitTransitions.startDismissTransition(wct, this,
mTopStageAfterFoldDismiss, EXIT_REASON_DEVICE_FOLDED);
} else {
exitSplitScreen(
@@ -649,8 +652,8 @@
final int dismissTop = mainStageVisible ? STAGE_TYPE_MAIN : STAGE_TYPE_SIDE;
final WindowContainerTransaction wct = new WindowContainerTransaction();
prepareExitSplitScreen(dismissTop, wct);
- mSplitTransitions.startDismissTransition(null /* transition */, wct, this,
- dismissTop, EXIT_REASON_SCREEN_LOCKED_SHOW_ON_TOP);
+ mSplitTransitions.startDismissTransition(wct, this, dismissTop,
+ EXIT_REASON_SCREEN_LOCKED_SHOW_ON_TOP);
}
}
}
@@ -712,10 +715,7 @@
.setWindowCrop(mSideStage.mRootLeash, null);
});
- // Hide divider and reset its position.
- mSplitLayout.resetDividerPosition();
- mSplitLayout.release();
- mTopStageAfterFoldDismiss = STAGE_TYPE_UNDEFINED;
+ onTransitionAnimationComplete();
Slog.i(TAG, "applyExitSplitScreen, reason = " + exitReasonToString(exitReason));
// Log the exit
if (childrenToTop != null) {
@@ -1111,8 +1111,7 @@
final int dismissTop = mainStageToTop ? STAGE_TYPE_MAIN : STAGE_TYPE_SIDE;
final WindowContainerTransaction wct = new WindowContainerTransaction();
prepareExitSplitScreen(dismissTop, wct);
- mSplitTransitions.startDismissTransition(
- null /* transition */, wct, this, dismissTop, EXIT_REASON_DRAG_DIVIDER);
+ mSplitTransitions.startDismissTransition(wct, this, dismissTop, EXIT_REASON_DRAG_DIVIDER);
}
@Override
@@ -1301,7 +1300,8 @@
@Nullable TransitionRequestInfo request) {
final ActivityManager.RunningTaskInfo triggerTask = request.getTriggerTask();
if (triggerTask == null) {
- if (mMainStage.isActive()) {
+ if (isSplitActive()) {
+ // Check if the display is rotating.
final TransitionRequestInfo.DisplayChange displayChange =
request.getDisplayChange();
if (request.getType() == TRANSIT_CHANGE && displayChange != null
@@ -1328,7 +1328,7 @@
mRecentTasks.ifPresent(recentTasks -> recentTasks.removeSplitPair(triggerTask.taskId));
}
- if (mMainStage.isActive()) {
+ if (isSplitActive()) {
// Try to handle everything while in split-screen, so return a WCT even if it's empty.
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " split is active so using split"
+ "Transition to handle request. triggerTask=%d type=%s mainChildren=%d"
@@ -1343,7 +1343,7 @@
int dismissTop = getStageType(stage) == STAGE_TYPE_MAIN ? STAGE_TYPE_SIDE
: STAGE_TYPE_MAIN;
prepareExitSplitScreen(dismissTop, out);
- mSplitTransitions.startDismissTransition(transition, out, this, dismissTop,
+ mSplitTransitions.setDismissTransition(transition, dismissTop,
EXIT_REASON_APP_FINISHED);
}
} else if (isOpening && inFullscreen) {
@@ -1353,12 +1353,12 @@
} else if (activityType == ACTIVITY_TYPE_HOME
|| activityType == ACTIVITY_TYPE_RECENTS) {
// Enter overview panel, so start recent transition.
- mSplitTransitions.startRecentTransition(transition, out, this,
+ mSplitTransitions.setRecentTransition(transition,
request.getRemoteTransition());
} else {
// Occluded by the other fullscreen task, so dismiss both.
prepareExitSplitScreen(STAGE_TYPE_UNDEFINED, out);
- mSplitTransitions.startDismissTransition(transition, out, this,
+ mSplitTransitions.setDismissTransition(transition,
STAGE_TYPE_UNDEFINED, EXIT_REASON_UNKNOWN);
}
}
@@ -1373,6 +1373,33 @@
return out;
}
+ /**
+ * This is used for mixed scenarios. For such scenarios, just make sure to include exiting
+ * split or entering split when appropriate.
+ */
+ public void addEnterOrExitIfNeeded(@Nullable TransitionRequestInfo request,
+ @NonNull WindowContainerTransaction outWCT) {
+ final ActivityManager.RunningTaskInfo triggerTask = request.getTriggerTask();
+ if (triggerTask != null && triggerTask.displayId != mDisplayId) {
+ // Skip handling task on the other display.
+ return;
+ }
+ final @WindowManager.TransitionType int type = request.getType();
+ if (isSplitActive() && !isOpeningType(type)
+ && (mMainStage.getChildCount() == 0 || mSideStage.getChildCount() == 0)) {
+ ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " One of the splits became "
+ + "empty during a mixed transition (one not handled by split),"
+ + " so make sure split-screen state is cleaned-up. "
+ + "mainStageCount=%d sideStageCount=%d", mMainStage.getChildCount(),
+ mSideStage.getChildCount());
+ prepareExitSplitScreen(STAGE_TYPE_UNDEFINED, outWCT);
+ }
+ }
+
+ public boolean isSplitActive() {
+ return mMainStage.isActive();
+ }
+
@Override
public void mergeAnimation(IBinder transition, TransitionInfo info,
SurfaceControl.Transaction t, IBinder mergeTarget,
@@ -1465,7 +1492,8 @@
return true;
}
- void onTransitionAnimationComplete() {
+ /** Called to clean-up state and do house-keeping after the animation is done. */
+ public void onTransitionAnimationComplete() {
// If still playing, let it finish.
if (!mMainStage.isActive()) {
// Update divider state after animation so that it is still around and positioned
@@ -1529,8 +1557,8 @@
return true;
}
- private boolean startPendingDismissAnimation(
- @NonNull SplitScreenTransitions.DismissTransition dismissTransition,
+ /** Synchronize split-screen state with transition and make appropriate preparations. */
+ public void prepareDismissAnimation(@StageType int toStage, @ExitReason int dismissReason,
@NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction t,
@NonNull SurfaceControl.Transaction finishT) {
// Make some noise if things aren't totally expected. These states shouldn't effect
@@ -1563,7 +1591,7 @@
mRecentTasks.ifPresent(recentTasks -> {
// Notify recents if we are exiting in a way that breaks the pair, and disable further
// updates to splits in the recents until we enter split again
- if (shouldBreakPairedTaskInRecents(dismissTransition.mReason) && mShouldUpdateRecents) {
+ if (shouldBreakPairedTaskInRecents(dismissReason) && mShouldUpdateRecents) {
for (TransitionInfo.Change change : info.getChanges()) {
final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo();
if (taskInfo != null
@@ -1580,30 +1608,38 @@
// Wait until after animation to update divider
// Reset crops so they don't interfere with subsequent launches
- t.setWindowCrop(mMainStage.mRootLeash, null);
- t.setWindowCrop(mSideStage.mRootLeash, null);
+ t.setCrop(mMainStage.mRootLeash, null);
+ t.setCrop(mSideStage.mRootLeash, null);
- if (dismissTransition.mDismissTop == STAGE_TYPE_UNDEFINED) {
- logExit(dismissTransition.mReason);
- // TODO: Have a proper remote for this. Until then, though, reset state and use the
- // normal animation stuff (which falls back to the normal launcher remote).
- mSplitLayout.release(t);
- mSplitTransitions.mPendingDismiss = null;
- return false;
+ if (toStage == STAGE_TYPE_UNDEFINED) {
+ logExit(dismissReason);
} else {
- logExitToStage(dismissTransition.mReason,
- dismissTransition.mDismissTop == STAGE_TYPE_MAIN);
+ logExitToStage(dismissReason, toStage == STAGE_TYPE_MAIN);
}
addDividerBarToTransition(info, t, false /* show */);
- // We're dismissing split by moving the other one to fullscreen.
- // Since we don't have any animations for this yet, just use the internal example
- // animations.
// Hide divider and dim layer on transition finished.
setDividerVisibility(false, finishT);
finishT.hide(mMainStage.mDimLayer);
finishT.hide(mSideStage.mDimLayer);
+ }
+
+ private boolean startPendingDismissAnimation(
+ @NonNull SplitScreenTransitions.DismissTransition dismissTransition,
+ @NonNull TransitionInfo info, @NonNull SurfaceControl.Transaction t,
+ @NonNull SurfaceControl.Transaction finishT) {
+ prepareDismissAnimation(dismissTransition.mDismissTop, dismissTransition.mReason, info,
+ t, finishT);
+ if (dismissTransition.mDismissTop == STAGE_TYPE_UNDEFINED) {
+ // TODO: Have a proper remote for this. Until then, though, reset state and use the
+ // normal animation stuff (which falls back to the normal launcher remote).
+ t.hide(mSplitLayout.getDividerLeash());
+ mSplitLayout.release(t);
+ mSplitTransitions.mPendingDismiss = null;
+ return false;
+ }
+
return true;
}
@@ -1776,7 +1812,7 @@
final WindowContainerTransaction wct = new WindowContainerTransaction();
prepareExitSplitScreen(STAGE_TYPE_UNDEFINED, wct);
- mSplitTransitions.startDismissTransition(null /* transition */, wct,
+ mSplitTransitions.startDismissTransition(wct,
StageCoordinator.this, STAGE_TYPE_UNDEFINED,
EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW);
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskListener.java
index 9fd5d20..4b12eb8 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageTaskListener.java
@@ -268,13 +268,13 @@
mChildrenTaskInfo.remove(taskId);
mChildrenLeashes.remove(taskId);
mCallbacks.onChildTaskStatusChanged(taskId, false /* present */, taskInfo.isVisible);
- if (taskInfo.getWindowingMode() == WINDOWING_MODE_PINNED) {
- mCallbacks.onChildTaskEnterPip(taskId);
- }
if (ENABLE_SHELL_TRANSITIONS) {
// Status is managed/synchronized by the transition lifecycle.
return;
}
+ if (taskInfo.getWindowingMode() == WINDOWING_MODE_PINNED) {
+ mCallbacks.onChildTaskEnterPip(taskId);
+ }
sendStatusChanged();
} else {
throw new IllegalArgumentException(this + "\n Unknown task: " + taskInfo
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
index b6c8cff..75a999b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/SplashscreenContentDrawer.java
@@ -363,6 +363,7 @@
private Drawable[] mFinalIconDrawables;
private int mFinalIconSize = mIconSize;
private Consumer<Runnable> mUiThreadInitTask;
+ /** @see #setAllowHandleSolidColor(boolean) **/
private boolean mAllowHandleSolidColor;
StartingWindowViewBuilder(@NonNull Context context, @NonNull ActivityInfo aInfo) {
@@ -390,6 +391,12 @@
return this;
}
+ /**
+ * If true, the application will receive a the
+ * {@link
+ * android.window.SplashScreen.OnExitAnimationListener#onSplashScreenExit(SplashScreenView)}
+ * callback, effectively copying the {@link SplashScreenView} into the client process.
+ */
StartingWindowViewBuilder setAllowHandleSolidColor(boolean allowHandleSolidColor) {
mAllowHandleSolidColor = allowHandleSolidColor;
return this;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java
new file mode 100644
index 0000000..1ffe26df
--- /dev/null
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java
@@ -0,0 +1,253 @@
+/*
+ * 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.wm.shell.transition;
+
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
+import static android.view.WindowManager.TRANSIT_TO_BACK;
+import static android.window.TransitionInfo.FLAG_IS_WALLPAPER;
+
+import static com.android.wm.shell.splitscreen.SplitScreen.STAGE_TYPE_UNDEFINED;
+import static com.android.wm.shell.splitscreen.SplitScreenController.EXIT_REASON_CHILD_TASK_ENTER_PIP;
+import static com.android.wm.shell.splitscreen.StageCoordinator.FLAG_IS_DIVIDER_BAR;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.os.IBinder;
+import android.view.SurfaceControl;
+import android.view.WindowManager;
+import android.window.TransitionInfo;
+import android.window.TransitionRequestInfo;
+import android.window.WindowContainerTransaction;
+
+import com.android.internal.protolog.common.ProtoLog;
+import com.android.wm.shell.pip.PipTransitionController;
+import com.android.wm.shell.protolog.ShellProtoLogGroup;
+import com.android.wm.shell.splitscreen.StageCoordinator;
+
+import java.util.ArrayList;
+
+/**
+ * A handler for dealing with transitions involving multiple other handlers. For example: an
+ * activity in split-screen going into PiP.
+ */
+public class DefaultMixedHandler implements Transitions.TransitionHandler {
+
+ private final Transitions mPlayer;
+ private final PipTransitionController mPipHandler;
+ private final StageCoordinator mSplitHandler;
+
+ private static class MixedTransition {
+ static final int TYPE_ENTER_PIP_FROM_SPLIT = 1;
+
+ final int mType;
+ final IBinder mTransition;
+
+ Transitions.TransitionFinishCallback mFinishCallback = null;
+
+ /**
+ * Mixed transitions are made up of multiple "parts". This keeps track of how many
+ * parts are currently animating.
+ */
+ int mInFlightSubAnimations = 0;
+
+ MixedTransition(int type, IBinder transition) {
+ mType = type;
+ mTransition = transition;
+ }
+ }
+ private final ArrayList<MixedTransition> mActiveTransitions = new ArrayList<>();
+
+ public DefaultMixedHandler(@NonNull Transitions player,
+ @NonNull PipTransitionController pipHandler, @NonNull StageCoordinator splitHandler) {
+ mPlayer = player;
+ mPipHandler = pipHandler;
+ mSplitHandler = splitHandler;
+ }
+
+ @Nullable
+ @Override
+ public WindowContainerTransaction handleRequest(@NonNull IBinder transition,
+ @NonNull TransitionRequestInfo request) {
+ if (mPipHandler.requestHasPipEnter(request) && mSplitHandler.isSplitActive()) {
+ ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " Got a PiP-enter request while "
+ + "Split-Screen is active, so treat it as Mixed.");
+ if (request.getRemoteTransition() != null) {
+ throw new IllegalStateException("Unexpected remote transition in"
+ + "pip-enter-from-split request");
+ }
+ mActiveTransitions.add(new MixedTransition(MixedTransition.TYPE_ENTER_PIP_FROM_SPLIT,
+ transition));
+
+ WindowContainerTransaction out = new WindowContainerTransaction();
+ mPipHandler.augmentRequest(transition, request, out);
+ mSplitHandler.addEnterOrExitIfNeeded(request, out);
+ return out;
+ }
+ return null;
+ }
+
+ private TransitionInfo subCopy(@NonNull TransitionInfo info,
+ @WindowManager.TransitionType int newType) {
+ final TransitionInfo out = new TransitionInfo(newType, info.getFlags());
+ for (int i = 0; i < info.getChanges().size(); ++i) {
+ out.getChanges().add(info.getChanges().get(i));
+ }
+ out.setRootLeash(info.getRootLeash(), info.getRootOffset().x, info.getRootOffset().y);
+ out.setAnimationOptions(info.getAnimationOptions());
+ return out;
+ }
+
+ private boolean isHomeOpening(@NonNull TransitionInfo.Change change) {
+ return change.getTaskInfo() != null
+ && change.getTaskInfo().getActivityType() != ACTIVITY_TYPE_HOME;
+ }
+
+ private boolean isWallpaper(@NonNull TransitionInfo.Change change) {
+ return (change.getFlags() & FLAG_IS_WALLPAPER) != 0;
+ }
+
+ @Override
+ public boolean startAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
+ @NonNull SurfaceControl.Transaction startTransaction,
+ @NonNull SurfaceControl.Transaction finishTransaction,
+ @NonNull Transitions.TransitionFinishCallback finishCallback) {
+ MixedTransition mixed = null;
+ for (int i = mActiveTransitions.size() - 1; i >= 0; --i) {
+ if (mActiveTransitions.get(i).mTransition != transition) continue;
+ mixed = mActiveTransitions.remove(i);
+ break;
+ }
+ if (mixed == null) return false;
+
+ if (mixed.mType == MixedTransition.TYPE_ENTER_PIP_FROM_SPLIT) {
+ return animateEnterPipFromSplit(mixed, info, startTransaction, finishTransaction,
+ finishCallback);
+ } else {
+ throw new IllegalStateException("Starting mixed animation without a known mixed type? "
+ + mixed.mType);
+ }
+ }
+
+ private boolean animateEnterPipFromSplit(@NonNull final MixedTransition mixed,
+ @NonNull TransitionInfo info,
+ @NonNull SurfaceControl.Transaction startTransaction,
+ @NonNull SurfaceControl.Transaction finishTransaction,
+ @NonNull Transitions.TransitionFinishCallback finishCallback) {
+ ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " Animating a mixed transition for "
+ + "entering PIP while Split-Screen is active.");
+ TransitionInfo.Change pipChange = null;
+ TransitionInfo.Change wallpaper = null;
+ final TransitionInfo everythingElse = subCopy(info, TRANSIT_TO_BACK);
+ boolean homeIsOpening = false;
+ for (int i = info.getChanges().size() - 1; i >= 0; --i) {
+ TransitionInfo.Change change = info.getChanges().get(i);
+ if (mPipHandler.isEnteringPip(change, info.getType())) {
+ if (pipChange != null) {
+ throw new IllegalStateException("More than 1 pip-entering changes in one"
+ + " transition? " + info);
+ }
+ pipChange = change;
+ // going backwards, so remove-by-index is fine.
+ everythingElse.getChanges().remove(i);
+ } else if (isHomeOpening(change)) {
+ homeIsOpening = true;
+ } else if (isWallpaper(change)) {
+ wallpaper = change;
+ }
+ }
+ if (pipChange == null) {
+ // um, something probably went wrong.
+ return false;
+ }
+ final boolean isGoingHome = homeIsOpening;
+ mixed.mFinishCallback = finishCallback;
+ Transitions.TransitionFinishCallback finishCB = (wct, wctCB) -> {
+ --mixed.mInFlightSubAnimations;
+ if (mixed.mInFlightSubAnimations > 0) return;
+ if (isGoingHome) {
+ mSplitHandler.onTransitionAnimationComplete();
+ }
+ mixed.mFinishCallback.onTransitionFinished(wct, wctCB);
+ };
+ if (isGoingHome) {
+ ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " Animation is actually mixed "
+ + "since entering-PiP caused us to leave split and return home.");
+ // We need to split the transition into 2 parts: the pip part (animated by pip)
+ // and the dismiss-part (animated by launcher).
+ mixed.mInFlightSubAnimations = 2;
+ // immediately make the wallpaper visible (so that we don't see it pop-in during
+ // the time it takes to start recents animation (which is remote).
+ if (wallpaper != null) {
+ startTransaction.show(wallpaper.getLeash()).setAlpha(wallpaper.getLeash(), 1.f);
+ }
+ // make a new startTransaction because pip's startEnterAnimation "consumes" it so
+ // we need a separate one to send over to launcher.
+ SurfaceControl.Transaction otherStartT = new SurfaceControl.Transaction();
+ // Let split update internal state for dismiss.
+ mSplitHandler.prepareDismissAnimation(STAGE_TYPE_UNDEFINED,
+ EXIT_REASON_CHILD_TASK_ENTER_PIP, everythingElse, otherStartT,
+ finishTransaction);
+
+ // We are trying to accommodate launcher's close animation which can't handle the
+ // divider-bar, so if split-handler is closing the divider-bar, just hide it and remove
+ // from transition info.
+ for (int i = everythingElse.getChanges().size() - 1; i >= 0; --i) {
+ if ((everythingElse.getChanges().get(i).getFlags() & FLAG_IS_DIVIDER_BAR) != 0) {
+ everythingElse.getChanges().remove(i);
+ break;
+ }
+ }
+
+ mPipHandler.startEnterAnimation(pipChange, startTransaction, finishTransaction,
+ finishCB);
+ // Dispatch the rest of the transition normally. This will most-likely be taken by
+ // recents or default handler.
+ mPlayer.dispatchTransition(mixed.mTransition, everythingElse, otherStartT,
+ finishTransaction, finishCB, this);
+ } else {
+ ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " Not leaving split, so just "
+ + "forward animation to Pip-Handler.");
+ // This happens if the pip-ing activity is in a multi-activity task (and thus a
+ // new pip task is spawned). In this case, we don't actually exit split so we can
+ // just let pip transition handle the animation verbatim.
+ mixed.mInFlightSubAnimations = 1;
+ mPipHandler.startAnimation(mixed.mTransition, info, startTransaction, finishTransaction,
+ finishCB);
+ }
+ return true;
+ }
+
+ @Override
+ public void mergeAnimation(@NonNull IBinder transition, @NonNull TransitionInfo info,
+ @NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
+ @NonNull Transitions.TransitionFinishCallback finishCallback) {
+ }
+
+ @Override
+ public void onTransitionMerged(@NonNull IBinder transition) {
+ MixedTransition mixed = null;
+ for (int i = mActiveTransitions.size() - 1; i >= 0; --i) {
+ if (mActiveTransitions.get(i).mTransition != transition) continue;
+ mixed = mActiveTransitions.remove(i);
+ break;
+ }
+ if (mixed == null) return;
+ if (mixed.mType == MixedTransition.TYPE_ENTER_PIP_FROM_SPLIT) {
+ mPipHandler.onTransitionMerged(transition);
+ }
+ }
+}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
index 3ea57b0..9154226 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
@@ -417,7 +417,8 @@
|| type == TRANSIT_TO_FRONT
|| type == TRANSIT_TO_BACK;
final boolean isTranslucent = (change.getFlags() & FLAG_TRANSLUCENT) != 0;
- if (isOpenOrCloseTransition && !isTranslucent) {
+ if (isOpenOrCloseTransition && !isTranslucent
+ && wallpaperTransit == WALLPAPER_TRANSITION_NONE) {
// Use the overview background as the background for the animation
final Context uiContext = ActivityThread.currentActivityThread()
.getSystemUiContext();
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
index 435d670..e4c9426 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java
@@ -435,33 +435,42 @@
playing.mToken, (wct, cb) -> onFinish(merging.mToken, wct, cb));
}
- boolean startAnimation(@NonNull ActiveTransition active, TransitionHandler handler) {
- return handler.startAnimation(active.mToken, active.mInfo, active.mStartT, active.mFinishT,
- (wct, cb) -> onFinish(active.mToken, wct, cb));
- }
-
- void playTransition(@NonNull ActiveTransition active) {
+ private void playTransition(@NonNull ActiveTransition active) {
setupAnimHierarchy(active.mInfo, active.mStartT, active.mFinishT);
// If a handler already chose to run this animation, try delegating to it first.
if (active.mHandler != null) {
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " try firstHandler %s",
active.mHandler);
- if (startAnimation(active, active.mHandler)) {
+ boolean consumed = active.mHandler.startAnimation(active.mToken, active.mInfo,
+ active.mStartT, active.mFinishT, (wct, cb) -> onFinish(active.mToken, wct, cb));
+ if (consumed) {
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by firstHandler");
return;
}
}
- // Otherwise give every other handler a chance (in order)
+ // Otherwise give every other handler a chance
+ active.mHandler = dispatchTransition(active.mToken, active.mInfo, active.mStartT,
+ active.mFinishT, (wct, cb) -> onFinish(active.mToken, wct, cb), active.mHandler);
+ }
+
+ /**
+ * Gives every handler (in order) a chance to animate until one consumes the transition.
+ * @return the handler which consumed the transition.
+ */
+ TransitionHandler dispatchTransition(@NonNull IBinder transition, @NonNull TransitionInfo info,
+ @NonNull SurfaceControl.Transaction startT, @NonNull SurfaceControl.Transaction finishT,
+ @NonNull TransitionFinishCallback finishCB, @Nullable TransitionHandler skip) {
for (int i = mHandlers.size() - 1; i >= 0; --i) {
- if (mHandlers.get(i) == active.mHandler) continue;
+ if (mHandlers.get(i) == skip) continue;
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " try handler %s",
mHandlers.get(i));
- if (startAnimation(active, mHandlers.get(i))) {
+ boolean consumed = mHandlers.get(i).startAnimation(transition, info, startT, finishT,
+ finishCB);
+ if (consumed) {
ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by %s",
mHandlers.get(i));
- active.mHandler = mHandlers.get(i);
- return;
+ return mHandlers.get(i);
}
}
throw new IllegalStateException(
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithmTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithmTest.kt
index e6ba70e..9919214 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithmTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/tv/TvPipKeepClearAlgorithmTest.kt
@@ -16,6 +16,7 @@
package com.android.wm.shell.pip.tv
+import android.graphics.Insets
import android.graphics.Rect
import android.testing.AndroidTestingRunner
import android.util.Size
@@ -432,6 +433,64 @@
assertEquals(currentTime + algorithm.stashDuration, placement.unstashTime)
}
+ @Test
+ fun test_PipInsets() {
+ val permInsets = Insets.of(-1, -2, -3, -4)
+ algorithm.setPipPermanentDecorInsets(permInsets)
+ testInsetsForAllPositions(permInsets)
+
+ val tempInsets = Insets.of(-4, -3, -2, -1)
+ algorithm.setPipPermanentDecorInsets(Insets.NONE)
+ algorithm.setPipTemporaryDecorInsets(tempInsets)
+ testInsetsForAllPositions(tempInsets)
+
+ algorithm.setPipPermanentDecorInsets(permInsets)
+ algorithm.setPipTemporaryDecorInsets(tempInsets)
+ testInsetsForAllPositions(Insets.add(permInsets, tempInsets))
+ }
+
+ private fun testInsetsForAllPositions(insets: Insets) {
+ gravity = Gravity.BOTTOM or Gravity.RIGHT
+ testAnchorPositionWithInsets(insets)
+
+ gravity = Gravity.BOTTOM or Gravity.LEFT
+ testAnchorPositionWithInsets(insets)
+
+ gravity = Gravity.TOP or Gravity.LEFT
+ testAnchorPositionWithInsets(insets)
+
+ gravity = Gravity.TOP or Gravity.RIGHT
+ testAnchorPositionWithInsets(insets)
+
+ pipSize = EXPANDED_WIDE_PIP_SIZE
+
+ gravity = Gravity.BOTTOM
+ testAnchorPositionWithInsets(insets)
+
+ gravity = Gravity.TOP
+ testAnchorPositionWithInsets(insets)
+
+ pipSize = Size(pipSize.height, pipSize.width)
+
+ gravity = Gravity.LEFT
+ testAnchorPositionWithInsets(insets)
+
+ gravity = Gravity.RIGHT
+ testAnchorPositionWithInsets(insets)
+ }
+
+ private fun testAnchorPositionWithInsets(insets: Insets) {
+ var pipRect = Rect(0, 0, pipSize.width, pipSize.height)
+ pipRect.inset(insets)
+ var expectedBounds = Rect()
+ Gravity.apply(gravity, pipRect.width(), pipRect.height(), movementBounds, expectedBounds)
+ val reverseInsets = Insets.subtract(Insets.NONE, insets)
+ expectedBounds.inset(reverseInsets)
+
+ var placement = getActualPlacement()
+ assertEquals(expectedBounds, placement.bounds)
+ }
+
private fun makeSideBar(width: Int, @Gravity.GravityFlags side: Int): Rect {
val sidebar = Rect(0, 0, width, SCREEN_SIZE.height)
if (side == Gravity.RIGHT) {
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java
index f847e6e..54b3f07 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/SplitTransitionTests.java
@@ -333,7 +333,7 @@
TransitionInfo info = new TransitionInfo(TRANSIT_TO_BACK, 0);
info.addChange(mainChange);
info.addChange(sideChange);
- IBinder transition = mSplitScreenTransitions.startDismissTransition(null,
+ IBinder transition = mSplitScreenTransitions.startDismissTransition(
new WindowContainerTransaction(), mStageCoordinator,
EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW, STAGE_TYPE_SIDE);
boolean accepted = mStageCoordinator.startAnimation(transition, info,
@@ -355,7 +355,7 @@
TransitionInfo info = new TransitionInfo(TRANSIT_TO_BACK, 0);
info.addChange(mainChange);
info.addChange(sideChange);
- IBinder transition = mSplitScreenTransitions.startDismissTransition(null,
+ IBinder transition = mSplitScreenTransitions.startDismissTransition(
new WindowContainerTransaction(), mStageCoordinator, EXIT_REASON_DRAG_DIVIDER,
STAGE_TYPE_SIDE);
mMainStage.onTaskVanished(mMainChild);
diff --git a/libs/hwui/utils/Color.cpp b/libs/hwui/utils/Color.cpp
index 2293ace..28f5477 100644
--- a/libs/hwui/utils/Color.cpp
+++ b/libs/hwui/utils/Color.cpp
@@ -165,6 +165,14 @@
if (SkColorSpace::Equals(colorSpace, rec2020PQ.get())) {
return HAL_DATASPACE_BT2020_PQ;
}
+ // HLG
+ const auto hlgFn = GetHLGScaleTransferFunction();
+ if (hlgFn.has_value()) {
+ auto rec2020HLG = SkColorSpace::MakeRGB(hlgFn.value(), SkNamedGamut::kRec2020);
+ if (SkColorSpace::Equals(colorSpace, rec2020HLG.get())) {
+ return static_cast<android_dataspace>(HAL_DATASPACE_BT2020_HLG);
+ }
+ }
LOG_ALWAYS_FATAL("Only select non-numerical transfer functions are supported");
}
@@ -247,6 +255,14 @@
return nullptr;
}
+ // HLG
+ if ((dataspace & HAL_DATASPACE_TRANSFER_MASK) == HAL_DATASPACE_TRANSFER_HLG) {
+ const auto hlgFn = GetHLGScaleTransferFunction();
+ if (hlgFn.has_value()) {
+ return SkColorSpace::MakeRGB(hlgFn.value(), gamut);
+ }
+ }
+
switch (dataspace & HAL_DATASPACE_TRANSFER_MASK) {
case HAL_DATASPACE_TRANSFER_LINEAR:
return SkColorSpace::MakeRGB(SkNamedTransferFn::kLinear, gamut);
@@ -264,7 +280,6 @@
return SkColorSpace::MakeRGB(SkNamedTransferFn::kRec2020, gamut);
case HAL_DATASPACE_TRANSFER_UNSPECIFIED:
return nullptr;
- case HAL_DATASPACE_TRANSFER_HLG:
default:
ALOGV("Unsupported Gamma: %d", dataspace);
return nullptr;
@@ -381,5 +396,14 @@
return fn;
}
+// Skia skcms' default HLG maps encoded [0, 1] to linear [1, 12] in order to follow ARIB
+// but LinearEffect expects a decoded [0, 1] range instead to follow Rec 2100.
+std::optional<skcms_TransferFunction> GetHLGScaleTransferFunction() {
+ std::optional<skcms_TransferFunction> hlgFn = {};
+ skcms_TransferFunction_makeScaledHLGish(&hlgFn.value(), 1.f / 12.f, 2.f, 2.f, 1.f / 0.17883277f,
+ 0.28466892f, 0.55991073f);
+ return hlgFn;
+}
+
} // namespace uirenderer
} // namespace android
diff --git a/libs/hwui/utils/Color.h b/libs/hwui/utils/Color.h
index 1654072..00f910f 100644
--- a/libs/hwui/utils/Color.h
+++ b/libs/hwui/utils/Color.h
@@ -23,6 +23,8 @@
#include <math.h>
#include <system/graphics.h>
+#include <optional>
+
struct ANativeWindow_Buffer;
struct AHardwareBuffer_Desc;
@@ -127,6 +129,7 @@
Lab sRGBToLab(SkColor color);
SkColor LabToSRGB(const Lab& lab, SkAlpha alpha);
skcms_TransferFunction GetPQSkTransferFunction(float sdr_white_level = 0.f);
+std::optional<skcms_TransferFunction> GetHLGScaleTransferFunction();
} /* namespace uirenderer */
} /* namespace android */
diff --git a/omapi/java/android/se/omapi/SEService.java b/omapi/java/android/se/omapi/SEService.java
index f42ca36..306c09a 100644
--- a/omapi/java/android/se/omapi/SEService.java
+++ b/omapi/java/android/se/omapi/SEService.java
@@ -118,6 +118,16 @@
});
}
}
+
+ @Override
+ public String getInterfaceHash() {
+ return ISecureElementListener.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return ISecureElementListener.VERSION;
+ }
}
private SEListener mSEListener = new SEListener();
diff --git a/packages/CompanionDeviceManager/res/values-af/strings.xml b/packages/CompanionDeviceManager/res/values-af/strings.xml
index 3f86dd5..ff72a1c 100644
--- a/packages/CompanionDeviceManager/res/values-af/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-af/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Laat toe"</string>
<string name="consent_no" msgid="2640796915611404382">"Moenie toelaat nie"</string>
<string name="consent_back" msgid="2560683030046918882">"Terug"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Dra programtoestemmings na jou horlosie toe oor"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Om dit makliker te maak om jou horlosie op te stel, sal programme wat gedurende opstelling op jou horlosie geïnstalleer word, dieselfde toestemmings as jou foon gebruik.\n\n Hierdie toestemmings kan toegang tot jou horlosie se mikrofoon en ligging insluit."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-am/strings.xml b/packages/CompanionDeviceManager/res/values-am/strings.xml
index 0c85047..609ef2e 100644
--- a/packages/CompanionDeviceManager/res/values-am/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-am/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ፍቀድ"</string>
<string name="consent_no" msgid="2640796915611404382">"አትፍቀድ"</string>
<string name="consent_back" msgid="2560683030046918882">"ተመለስ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"የመተግበሪያ ፈቃዶችን ወደ የእጅ ሰዓትዎ ያስተላልፉ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"የእጅ ሰዓትዎን ማቀናበርን ለማቅለል በማዋቀር ጊዜ በእጅ ሰዓትዎ ላይ የተጫኑ መተግበሪያዎች እንደ ስልክዎ ተመሳሳይ ፈቃዶችን ይጠቀማሉ።\n\n እነዚህ ፈቃዶች የእጅ ሰዓትዎ ማይክሮፎን እና አካባቢ መዳረሻን ሊያካትቱ ይችላሉ።"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ar/strings.xml b/packages/CompanionDeviceManager/res/values-ar/strings.xml
index 4386e6a..dcf3436 100644
--- a/packages/CompanionDeviceManager/res/values-ar/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ar/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"السماح"</string>
<string name="consent_no" msgid="2640796915611404382">"عدم السماح"</string>
<string name="consent_back" msgid="2560683030046918882">"رجوع"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"نقل أذونات التطبيقات إلى ساعتك"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"لتسهيل إعداد ساعتك، فإن التطبيقات التي يتم تثبيتها على ساعتك أثناء الإعداد ستستخدم الأذونات نفسها التي يستخدمها هاتفك.\n\n قد تشتمل هذه الأذونات على الوصول إلى ميكروفون ساعتك وبيانات موقعها الجغرافي."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-as/strings.xml b/packages/CompanionDeviceManager/res/values-as/strings.xml
index b099d0c..e03d6c9 100644
--- a/packages/CompanionDeviceManager/res/values-as/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-as/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"অনুমতি দিয়ক"</string>
<string name="consent_no" msgid="2640796915611404382">"অনুমতি নিদিব"</string>
<string name="consent_back" msgid="2560683030046918882">"উভতি যাওক"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"আপোনাৰ ঘড়ীলৈ এপৰ অনুমতিসমূহ স্থানান্তৰ কৰক"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"আপোনাৰ ঘড়ীটো ছেটআপ কৰাটো অধিক সহজ কৰি তুলিবলৈ, এয়া কৰাৰ সময়ত আপোনাৰ ঘড়ীটোত ইনষ্টল কৰি থোৱা এপ্সমূহে আপোনাৰ ফ’নৰ দৰে একেই অনুমতিসমূহ ব্যৱহাৰ কৰিব।\n\n এই অনুমতিসমূহত আপোনাৰ ঘড়ীৰ মাইক্ৰ’ফ’ন আৰু অৱস্থানৰ এক্সেছ অন্তৰ্ভুক্ত হ’ব পাৰে।"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-az/strings.xml b/packages/CompanionDeviceManager/res/values-az/strings.xml
index 1166ca1..fcc0683 100644
--- a/packages/CompanionDeviceManager/res/values-az/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-az/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"İcazə verin"</string>
<string name="consent_no" msgid="2640796915611404382">"İcazə verməyin"</string>
<string name="consent_back" msgid="2560683030046918882">"Geriyə"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Tətbiq icazələrini saatınıza köçürün"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Saatınızı ayarlamağı asanlaşdırmaq üçün ayarlama zamanı saatınızda quraşdırılmış tətbiqlər telefonunuzla eyni icazələrdən istifadə edəcək.\n\n Bu icazələrə saatınızın mikrofonuna və məkanına giriş daxil ola bilər."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
index 9123e05..466ffef 100644
--- a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Dozvoli"</string>
<string name="consent_no" msgid="2640796915611404382">"Ne dozvoli"</string>
<string name="consent_back" msgid="2560683030046918882">"Nazad"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Prenesite dozvole za aplikacije na sat"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Da bismo pojednostavili podešavanje sata, aplikacije instalirane na satu tokom podešavanja će koristiti iste dozvole kao telefon.\n\n Te dozvole mogu da obuhvataju pristup mikrofonu i lokaciji sata."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-be/strings.xml b/packages/CompanionDeviceManager/res/values-be/strings.xml
index 32264b4..12e2c85 100644
--- a/packages/CompanionDeviceManager/res/values-be/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-be/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Дазволіць"</string>
<string name="consent_no" msgid="2640796915611404382">"Не дазваляць"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Перанос дазволаў праграм на ваш гадзіннік"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Для праграм, усталяваных на гадзіннік падчас наладжвання, будуць дзейнічаць тыя самыя дазволы, што і на тэлефоне.\n\n Так гадзіннік можа атрымаць доступ да мікрафона і даных пра месцазнаходжанне."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-bg/strings.xml b/packages/CompanionDeviceManager/res/values-bg/strings.xml
index b603cb2..75db90a 100644
--- a/packages/CompanionDeviceManager/res/values-bg/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bg/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Разрешаване"</string>
<string name="consent_no" msgid="2640796915611404382">"Забраняване"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Прехвърляне на разрешенията за приложенията към часовника"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"За по-лесно конфигуриране на часовника ви приложенията, инсталирани на него по време на настройването, ще използват същите разрешения като предоставените на телефона ви.\n\nТе може да включват достъп до микрофона и местоположението на часовника ви."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-bn/strings.xml b/packages/CompanionDeviceManager/res/values-bn/strings.xml
index 498ea9a..805bf7a 100644
--- a/packages/CompanionDeviceManager/res/values-bn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bn/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"অনুমতি দিন"</string>
<string name="consent_no" msgid="2640796915611404382">"অনুমতি দেবেন না"</string>
<string name="consent_back" msgid="2560683030046918882">"ফিরুন"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"অ্যাপকে দেওয়া অনুমতি আপনার ঘড়িতে ট্রান্সফার করুন"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ঘড়ি আরও সহজে সেট আপ করতে, সেট আপ চলাকালীন আপনার ঘড়িতে ইনস্টল করা অ্যাপ ফোনের মতো একই অনুমতি ব্যবহার করবে।\n\n এইসব অনুমতির মধ্যে আপনার ঘড়ির মাইক্রোফোন ও লোকেশন সম্পর্কে তথ্যের অ্যাক্সেস অন্তর্ভুক্ত থাকতে পারে।"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-bs/strings.xml b/packages/CompanionDeviceManager/res/values-bs/strings.xml
index dc7efa0..f0a8351 100644
--- a/packages/CompanionDeviceManager/res/values-bs/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-bs/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Dozvoli"</string>
<string name="consent_no" msgid="2640796915611404382">"Nemoj dozvoliti"</string>
<string name="consent_back" msgid="2560683030046918882">"Nazad"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Prijenos odobrenja za aplikaciju na sat"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Radi lakšeg postavljanja sata, aplikacije instalirane na satu tokom postavljanja će koristiti ista odobrenja kao i na telefonu.\n\n Ta odobrenja mogu uključivati pristup mikrofonu i lokaciji sata."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ca/strings.xml b/packages/CompanionDeviceManager/res/values-ca/strings.xml
index 34fc76a..65fbf6d 100644
--- a/packages/CompanionDeviceManager/res/values-ca/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ca/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permet"</string>
<string name="consent_no" msgid="2640796915611404382">"No permetis"</string>
<string name="consent_back" msgid="2560683030046918882">"Enrere"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfereix els permisos de les aplicacions al teu rellotge"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Per facilitar la configuració del rellotge, les aplicacions instal·lades al rellotge durant la configuració utilitzaran els mateixos permisos que al teu telèfon.\n\n Aquests permisos poden incloure l\'accés al micròfon i a la ubicació del rellotge."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-cs/strings.xml b/packages/CompanionDeviceManager/res/values-cs/strings.xml
index e8c7b09..4b5a546 100644
--- a/packages/CompanionDeviceManager/res/values-cs/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-cs/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Povolit"</string>
<string name="consent_no" msgid="2640796915611404382">"Nepovolovat"</string>
<string name="consent_back" msgid="2560683030046918882">"Zpět"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Přesunout oprávnění aplikací do hodinek"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Abychom vám usnadnili nastavení hodinek, aplikace nainstalované do hodinek během úvodního nastavení budou používat stejná oprávnění jako váš telefon.\n\n Tato oprávnění mohou zahrnovat přístup k mikrofonu a poloze hodinek."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-da/strings.xml b/packages/CompanionDeviceManager/res/values-da/strings.xml
index df41300..9cd6880 100644
--- a/packages/CompanionDeviceManager/res/values-da/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-da/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Tillad"</string>
<string name="consent_no" msgid="2640796915611404382">"Tillad ikke"</string>
<string name="consent_back" msgid="2560683030046918882">"Tilbage"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Overfør apptilladelser til dit ur"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"For at gøre det nemmere at konfigurere dit ur vil de apps, der installeres under konfigurationen, anvende de samme tilladelser som din telefon.\n\n Disse tilladelser kan omfatte adgang til dit urs mikrofon og lokation."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-de/strings.xml b/packages/CompanionDeviceManager/res/values-de/strings.xml
index 6134390..19266fd 100644
--- a/packages/CompanionDeviceManager/res/values-de/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-de/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Zulassen"</string>
<string name="consent_no" msgid="2640796915611404382">"Nicht zulassen"</string>
<string name="consent_back" msgid="2560683030046918882">"Zurück"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"App-Berechtigungen auf Smartwatch übertragen"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Damit sich deine Smartwatch leichter einrichten lässt, erhalten die Apps, die während der Einrichtung auf deiner Smartwatch installiert werden, automatisch die gleichen Berechtigungen wie deine Smartphone-Apps.\n\n Zu diesen Berechtigungen kann der Zugriff auf das Mikrofon und den Standort deiner Smartwatch gehören."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-el/strings.xml b/packages/CompanionDeviceManager/res/values-el/strings.xml
index 4713c5d..b6108cd 100644
--- a/packages/CompanionDeviceManager/res/values-el/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-el/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Να επιτρέπεται"</string>
<string name="consent_no" msgid="2640796915611404382">"Να μην επιτρέπεται"</string>
<string name="consent_back" msgid="2560683030046918882">"Πίσω"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Μεταφορά αδειών εφαρμογών στο ρολόι σας"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Για να είναι πιο εύκολη η ρύθμιση του ρολογιού σας, οι εφαρμογές που εγκαθίστανται στο ρολόι σας κατά τη ρύθμιση, θα χρησιμοποιούν τις ίδιες άδειες με το τηλέφωνό σας.\n\n Στις άδειες ενδέχεται να περιλαμβάνεται άδεια πρόσβασης στο μικρόφωνο και την τοποθεσία του ρολογιού σας."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
index fff1e5e..34f1cb3 100644
--- a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Allow"</string>
<string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
<string name="consent_back" msgid="2560683030046918882">"Back"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer app permissions to your watch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"To make it easier to set up your watch, apps installed on your watch during setup will use the same permissions as your phone.\n\n These permissions may include access to your watch’s microphone and location."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
index fff1e5e..34f1cb3 100644
--- a/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rCA/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Allow"</string>
<string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
<string name="consent_back" msgid="2560683030046918882">"Back"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer app permissions to your watch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"To make it easier to set up your watch, apps installed on your watch during setup will use the same permissions as your phone.\n\n These permissions may include access to your watch’s microphone and location."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
index fff1e5e..34f1cb3 100644
--- a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Allow"</string>
<string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
<string name="consent_back" msgid="2560683030046918882">"Back"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer app permissions to your watch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"To make it easier to set up your watch, apps installed on your watch during setup will use the same permissions as your phone.\n\n These permissions may include access to your watch’s microphone and location."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
index fff1e5e..34f1cb3 100644
--- a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Allow"</string>
<string name="consent_no" msgid="2640796915611404382">"Don\'t allow"</string>
<string name="consent_back" msgid="2560683030046918882">"Back"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer app permissions to your watch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"To make it easier to set up your watch, apps installed on your watch during setup will use the same permissions as your phone.\n\n These permissions may include access to your watch’s microphone and location."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-en-rXC/strings.xml b/packages/CompanionDeviceManager/res/values-en-rXC/strings.xml
index a9a9631..69a212a 100644
--- a/packages/CompanionDeviceManager/res/values-en-rXC/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-en-rXC/strings.xml
@@ -42,6 +42,6 @@
<string name="consent_yes" msgid="8344487259618762872">"Allow"</string>
<string name="consent_no" msgid="2640796915611404382">"Don’t allow"</string>
<string name="consent_back" msgid="2560683030046918882">"Back"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer app permissions to your watch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"To make it easier to set up your watch, apps installed on your watch during setup will use the same permissions as your phone.\n\n These permissions may include access to your watch’s microphone and location."</string>
+ <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"Give apps on <strong><xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g></strong> the same permissions as on <strong><xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g></strong>?"</string>
+ <string name="permission_sync_summary" msgid="4866838188678457084">"<p>This may include Microphone, Camera, and Location access, and other sensitive permissions on <strong><xliff:g id="COMPANION_DEVICE_NAME_0">%1$s</xliff:g></strong>.</p> <p>You can change these permissions any time in your Settings on <strong><xliff:g id="COMPANION_DEVICE_NAME_1">%1$s</xliff:g></strong>.</p>"</string>
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
index 60b136a..12a8006 100644
--- a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"No permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfiere los permisos de la app a tu reloj"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para que sea más fácil configurar tu reloj, las apps que se instalen en este durante la configuración usarán los mismos permisos que tu teléfono.\n\n Es posible que estos permisos incluyan el acceso al micrófono y a la ubicación del reloj."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-es/strings.xml b/packages/CompanionDeviceManager/res/values-es/strings.xml
index bcf6621..8293213 100644
--- a/packages/CompanionDeviceManager/res/values-es/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-es/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"No permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferir permisos de aplicaciones a tu reloj"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para configurar fácilmente tu reloj, las aplicaciones que instales en él durante la configuración usarán los mismos permisos que tengan en tu teléfono.\n\n Estos permisos pueden incluir acceso al micrófono y a la ubicación del reloj."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-et/strings.xml b/packages/CompanionDeviceManager/res/values-et/strings.xml
index 49483ec..a5249e8 100644
--- a/packages/CompanionDeviceManager/res/values-et/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-et/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Luba"</string>
<string name="consent_no" msgid="2640796915611404382">"Ära luba"</string>
<string name="consent_back" msgid="2560683030046918882">"Tagasi"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Rakenduste lubade kellale ülekandmine"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Selleks et muuta kella seadistamine lihtsamaks, kasutavad teie kellas seadistamise ajal installitud rakendused samasid lubasid, mis neile telefonis antud on.\n\n Need load võivad hõlmata juurdepääsuluba kella mikrofonile ja asukohale."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-eu/strings.xml b/packages/CompanionDeviceManager/res/values-eu/strings.xml
index ec0ac20..1566479 100644
--- a/packages/CompanionDeviceManager/res/values-eu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-eu/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Eman baimena"</string>
<string name="consent_no" msgid="2640796915611404382">"Ez eman baimenik"</string>
<string name="consent_back" msgid="2560683030046918882">"Atzera"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferitu aplikazio-baimenak erlojura"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Erlojua errazago konfiguratzeko, konfigurazio-prozesua abian zen bitartean erlojuan instalatutako aplikazioek telefonoak darabiltzan baimen berak erabiliko dituzte.\n\n Baliteke baimen horien artean erlojuaren mikrofonoa eta kokapena atzitzeko baimenak egotea."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-fa/strings.xml b/packages/CompanionDeviceManager/res/values-fa/strings.xml
index 663d7c5..e0f7d53 100644
--- a/packages/CompanionDeviceManager/res/values-fa/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fa/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"مجاز است"</string>
<string name="consent_no" msgid="2640796915611404382">"مجاز نبودن"</string>
<string name="consent_back" msgid="2560683030046918882">"برگشت"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"انتقال اجازههای برنامه به ساعت"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"برای آسانتر کردن راهاندازی ساعت، برنامههای نصبشده در ساعت درحین راهاندازی از همان اجازههای تلفن استفاده خواهند کرد.\n\n ممکن است این اجازهها شامل دسترسی به میکروفون و مکان ساعت باشد."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-fi/strings.xml b/packages/CompanionDeviceManager/res/values-fi/strings.xml
index b10dc69..e18f634 100644
--- a/packages/CompanionDeviceManager/res/values-fi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fi/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Salli"</string>
<string name="consent_no" msgid="2640796915611404382">"Älä salli"</string>
<string name="consent_back" msgid="2560683030046918882">"Takaisin"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Siirrä sovellusluvat kelloon"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Sovellukset, jotka on asennettu kelloon käyttöönoton aikana, käyttävät samoja lupia kuin puhelin. Näin kello on helpompi ottaa käyttöön.\n\n Näihin lupiin saattaa kuulua pääsy kellon mikrofoniin ja sijaintiin."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
index 8d2b99e..773a345 100644
--- a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Autoriser"</string>
<string name="consent_no" msgid="2640796915611404382">"Ne pas autoriser"</string>
<string name="consent_back" msgid="2560683030046918882">"Retour"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transférer les autorisations de l\'application à votre montre"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Pour faciliter la configuration de votre montre, les applications installées sur celle-ci reprennent les mêmes autorisations que celles installées sur votre téléphone.\n\n Ces autorisations peuvent comprendre l\'accès au microphone et à la position de votre montre."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-fr/strings.xml b/packages/CompanionDeviceManager/res/values-fr/strings.xml
index e6167cd..73781b9 100644
--- a/packages/CompanionDeviceManager/res/values-fr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-fr/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Autoriser"</string>
<string name="consent_no" msgid="2640796915611404382">"Ne pas autoriser"</string>
<string name="consent_back" msgid="2560683030046918882">"Retour"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transférer les autorisations de l\'appli vers la montre"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Pour que votre montre soit plus facile à configurer, les applis qui y sont installées pendant la configuration utiliseront les mêmes autorisations que votre téléphone.\n\n Il peut s\'agir, par exemple, de l\'accès au micro et à la position de votre montre."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-gl/strings.xml b/packages/CompanionDeviceManager/res/values-gl/strings.xml
index 3a94863..1c65e11 100644
--- a/packages/CompanionDeviceManager/res/values-gl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-gl/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"Non permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Atrás"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferir os permisos de aplicacións ao reloxo"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para que che resulte máis doado configurar o reloxo, as aplicacións que instales nel durante a configuración usarán os mesmos permisos que o teléfono.\n\n Entre estes permisos poden estar incluídos os de acceso ao micrófono e á localización do teléfono."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-gu/strings.xml b/packages/CompanionDeviceManager/res/values-gu/strings.xml
index 6012c6c..879dfd1 100644
--- a/packages/CompanionDeviceManager/res/values-gu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-gu/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"મંજૂરી આપો"</string>
<string name="consent_no" msgid="2640796915611404382">"મંજૂરી આપશો નહીં"</string>
<string name="consent_back" msgid="2560683030046918882">"પાછળ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"તમારી ઘડિયાળમાં ઍપ પરવાનગીઓ ટ્રાન્સફર કરો"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"તમારી ઘડિયાળનું સેટઅપ કરવાનું સરળ બનાવવા માટે, સેટઅપ દરમિયાન તમારી ઘડિયાળ પર ઇન્સ્ટૉલ કરેલી ઍપ દ્વારા તમારા ફોન પર મળેલી પરવાનગીઓનો ઉપયોગ કરવામાં આવશે.\n\n આ પરવાનગીઓમાં તમારી ઘડિયાળના માઇક્રોફોન અને સ્થાન સંબંધિત માહિતીનો ઍક્સેસ શામેલ હોઈ શકે છે."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-hi/strings.xml b/packages/CompanionDeviceManager/res/values-hi/strings.xml
index aa0628e..7e071f3 100644
--- a/packages/CompanionDeviceManager/res/values-hi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hi/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"अनुमति दें"</string>
<string name="consent_no" msgid="2640796915611404382">"अनुमति न दें"</string>
<string name="consent_back" msgid="2560683030046918882">"वापस जाएं"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ऐप्लिकेशन से जुड़ी अनुमतियों को अपनी वॉच में ट्रांसफ़र करें"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"वॉच को सेट अप करने की प्रोसेस को आसान बनाने के लिए, उस पर इंस्टॉल किए गए ऐप्लिकेशन को भी वही अनुमतियां मिलेंगी जो आपने उन ऐप्लिकेशन को फ़ोन पर दी होंगी.\n\n इन अनुमतियों में, आपकी वॉच के माइक्रोफ़ोन और जगह की जानकारी का ऐक्सेस शामिल हो सकता है."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-hr/strings.xml b/packages/CompanionDeviceManager/res/values-hr/strings.xml
index f5cd428..c1f8b57 100644
--- a/packages/CompanionDeviceManager/res/values-hr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hr/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Dopusti"</string>
<string name="consent_no" msgid="2640796915611404382">"Nemoj dopustiti"</string>
<string name="consent_back" msgid="2560683030046918882">"Natrag"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Prijenos dopuštenja aplikacije na sat"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Kako bi postavljanje sata bilo jednostavnije, aplikacije instalirane na satu će tijekom postavljanja upotrebljavati ista dopuštenja kao telefon.\n\n Ta dopuštenja mogu uključivati pristup mikrofonu i lokaciji sata."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-hu/strings.xml b/packages/CompanionDeviceManager/res/values-hu/strings.xml
index 1ea2de1..1d8a399 100644
--- a/packages/CompanionDeviceManager/res/values-hu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hu/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Engedélyezés"</string>
<string name="consent_no" msgid="2640796915611404382">"Tiltás"</string>
<string name="consent_back" msgid="2560683030046918882">"Vissza"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Alkalmazásengedélyek átvitele az órára"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Az óra beállításának megkönnyítése érdekében a beállítás során az órára telepített alkalmazások ugyanazokat az engedélyeket használják majd, mint a telefonja.\n\n Ezek az engedélyek magukban foglalhatják az óra mikrofonjához és helyadataihoz való hozzáférést."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-hy/strings.xml b/packages/CompanionDeviceManager/res/values-hy/strings.xml
index 592a6c3..caa1c24 100644
--- a/packages/CompanionDeviceManager/res/values-hy/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-hy/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Թույլատրել"</string>
<string name="consent_no" msgid="2640796915611404382">"Չթույլատրել"</string>
<string name="consent_back" msgid="2560683030046918882">"Հետ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Հավելվածների թույլտվությունների տեղափոխում ժամացույց"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Կարգավորման ժամանակ ժամացույցում տեղադրված հավելվածների համար կօգտագործվեն նույն թույլտվությունները, ինչ հեռախոսում։\n\n Այդ թույլտվությունները կարող են ներառել ժամացույցի խոսափողի կամ տեղադրության տվյալների օգտագործումը։"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-in/strings.xml b/packages/CompanionDeviceManager/res/values-in/strings.xml
index 905f7c5..c328a6b 100644
--- a/packages/CompanionDeviceManager/res/values-in/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-in/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Izinkan"</string>
<string name="consent_no" msgid="2640796915611404382">"Jangan izinkan"</string>
<string name="consent_back" msgid="2560683030046918882">"Kembali"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfer izin aplikasi ke smartwatch"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Untuk mempermudah penyiapan smartwatch, aplikasi yang diinstal di smartwatch selama penyiapan akan menggunakan izin yang sama dengan ponsel.\n\n Izin ini dapat meliputi akses ke mikrofon dan lokasi smartwatch."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-is/strings.xml b/packages/CompanionDeviceManager/res/values-is/strings.xml
index b389184..4425b11 100644
--- a/packages/CompanionDeviceManager/res/values-is/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-is/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Leyfa"</string>
<string name="consent_no" msgid="2640796915611404382">"Ekki leyfa"</string>
<string name="consent_back" msgid="2560683030046918882">"Til baka"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Flytja heimildir forrita yfir í úrið"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Til að auðvelda uppsetningu úrsins munu forrit sem eru sett upp í úrinu við uppsetningu nota sömu heimildir og stilltar eru í símanum.\n\n Þessar heimildir kunna að fela í sér aðgang að hljóðnema og staðsetningu úrsins."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-it/strings.xml b/packages/CompanionDeviceManager/res/values-it/strings.xml
index ccf7e55..a3a5410 100644
--- a/packages/CompanionDeviceManager/res/values-it/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-it/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Consenti"</string>
<string name="consent_no" msgid="2640796915611404382">"Non consentire"</string>
<string name="consent_back" msgid="2560683030046918882">"Indietro"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Trasferisci le autorizzazioni app all\'orologio"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Per facilitare la configurazione dell\'orologio, le app installate su quest\'ultimo durante la configurazione useranno le stesse autorizzazioni delle app sul telefono.\n\n Queste autorizzazioni potrebbero includere l\'accesso al microfono e alla posizione dell\'orologio."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-iw/strings.xml b/packages/CompanionDeviceManager/res/values-iw/strings.xml
index 2f9c7e4..cfdb66a 100644
--- a/packages/CompanionDeviceManager/res/values-iw/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-iw/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"יש אישור"</string>
<string name="consent_no" msgid="2640796915611404382">"אין אישור"</string>
<string name="consent_back" msgid="2560683030046918882">"חזרה"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"העברת ההרשאות הניתנות לאפליקציות אל השעון שלך"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"כדי לפשט את הגדרת השעון, אפליקציות שמותקנות במהלך ההגדרה יקבלו את אותן הרשאות שניתנו בטלפון.\n\n ההרשאות האלה עשויות לכלול גישה למיקרופון ולמיקום של השעון."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ja/strings.xml b/packages/CompanionDeviceManager/res/values-ja/strings.xml
index 7c887ff..d81f4d2 100644
--- a/packages/CompanionDeviceManager/res/values-ja/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ja/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"許可"</string>
<string name="consent_no" msgid="2640796915611404382">"許可しない"</string>
<string name="consent_back" msgid="2560683030046918882">"戻る"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"スマートウォッチへのアプリの権限の移行"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"スマートウォッチのセットアップを簡単にするため、セットアップ時にスマートウォッチにインストールされたアプリに、スマートフォンと同じ権限が適用されます。\n\n これらの権限には、スマートウォッチのマイクや位置情報へのアクセス権も含まれることがあります。"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ka/strings.xml b/packages/CompanionDeviceManager/res/values-ka/strings.xml
index 5b56c33..ef2e66b 100644
--- a/packages/CompanionDeviceManager/res/values-ka/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ka/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"დაშვება"</string>
<string name="consent_no" msgid="2640796915611404382">"არ დაიშვას"</string>
<string name="consent_back" msgid="2560683030046918882">"უკან"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"აპის ნებართვების საათისთვის გადაცემა"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"საათის დაყენების გასამარტივებლად თქვენს საათში დაინსტალირებული აპები იმავე ნებართვებს გამოიყენებს, რასაც ტელეფონზე იყენებს.\n\n ეს ნებართვები, შესაძლოა, მოიცავდეს თქვენი საათის მიკროფონსა და მდებარეობაზე წვდომას."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-kk/strings.xml b/packages/CompanionDeviceManager/res/values-kk/strings.xml
index 67d3e8e..c1129bb 100644
--- a/packages/CompanionDeviceManager/res/values-kk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-kk/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Рұқсат беру"</string>
<string name="consent_no" msgid="2640796915611404382">"Рұқсат бермеу"</string>
<string name="consent_back" msgid="2560683030046918882">"Артқа"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Қолданба рұқсаттарын сағатқа ауыстыру"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Реттеу кезінде сағатқа орнатылған қолданбалар телефондағыдай рұқсаттарды пайдаланады. Осылайша сағат оңай реттеледі.\n\n Бұл рұқсаттар сағаттың микрофоны мен геодерегін пайдалануды қамтиды."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-km/strings.xml b/packages/CompanionDeviceManager/res/values-km/strings.xml
index 6c9c8747..bf8168f 100644
--- a/packages/CompanionDeviceManager/res/values-km/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-km/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"អនុញ្ញាត"</string>
<string name="consent_no" msgid="2640796915611404382">"កុំអនុញ្ញាត"</string>
<string name="consent_back" msgid="2560683030046918882">"ថយក្រោយ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ផ្ទេរការអនុញ្ញាតកម្មវិធីទៅនាឡិការបស់អ្នក"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ដើម្បីជួយឱ្យការរៀបចំនាឡិការបស់អ្នកកាន់តែងាយស្រួល កម្មវិធីដែលបានដំឡើងនៅលើនាឡិការបស់អ្នកអំឡុងពេលរៀបចំនឹងប្រើការអនុញ្ញាតដូចគ្នានឹងទូរសព្ទរបស់អ្នកដែរ។\n\n ការអនុញ្ញាតទាំងនេះអាចរួមបញ្ចូលសិទ្ធិចូលប្រើទីតាំង និងមីក្រូហ្វូនរបស់នាឡិកាអ្នក។"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-kn/strings.xml b/packages/CompanionDeviceManager/res/values-kn/strings.xml
index 3c71300..e31176f 100644
--- a/packages/CompanionDeviceManager/res/values-kn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-kn/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ಅನುಮತಿಸಿ"</string>
<string name="consent_no" msgid="2640796915611404382">"ಅನುಮತಿಸಬೇಡಿ"</string>
<string name="consent_back" msgid="2560683030046918882">"ಹಿಂದೆ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ಆ್ಯಪ್ ಅನುಮತಿಗಳನ್ನು ನಿಮ್ಮ ವಾಚ್ಗೆ ವರ್ಗಾವಣೆ ಮಾಡಿ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ನಿಮ್ಮ ವಾಚ್ ಸೆಟಪ್ ಮಾಡುವುದನ್ನು ಸುಲಭವಾಗಿಸಲು, ಸೆಟಪ್ನ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ ವಾಚ್ನಲ್ಲಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್ಗಳು, ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿನ ಅನುಮತಿಗಳನ್ನೇ ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ.\n\n ಈ ಅನುಮತಿಗಳು ನಿಮ್ಮ ವಾಚ್ನ ಮೈಕ್ರೊಫೋನ್ ಮತ್ತು ಸ್ಥಳದ ಪ್ರವೇಶವನ್ನು ಒಳಗೊಳ್ಳಬಹುದು."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ko/strings.xml b/packages/CompanionDeviceManager/res/values-ko/strings.xml
index 8a3ad35..af97339 100644
--- a/packages/CompanionDeviceManager/res/values-ko/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ko/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"허용"</string>
<string name="consent_no" msgid="2640796915611404382">"허용 안함"</string>
<string name="consent_back" msgid="2560683030046918882">"뒤"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"앱 권한을 시계로 이전"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"시계를 더 쉽게 설정하기 위해 설정하는 동안 시계에 설치된 앱에서 휴대전화와 동일한 권한을 사용합니다.\n\n 이러한 권한에는 시계의 마이크 및 위치 정보에 대한 액세스가 포함될 수 있습니다."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ky/strings.xml b/packages/CompanionDeviceManager/res/values-ky/strings.xml
index 5125297..6540e58 100644
--- a/packages/CompanionDeviceManager/res/values-ky/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ky/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Уруксат берүү"</string>
<string name="consent_no" msgid="2640796915611404382">"Уруксат берилбесин"</string>
<string name="consent_back" msgid="2560683030046918882">"Артка"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Колдонмонун уруксаттарын саатка өткөрүү"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Сааттын жөндөлүшүн жеңилдетүү үчүн жөндөө учурунда саатыңызга орнотулган колдонмолор телефонуңуздагы уруксаттарды колдонот.\n\n Мындай уруксаттарга саатыңыздын микрофонун же жайгашкан жерин колдонуу кириши мүмкүн."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-lo/strings.xml b/packages/CompanionDeviceManager/res/values-lo/strings.xml
index 42400a0..7c269fe 100644
--- a/packages/CompanionDeviceManager/res/values-lo/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lo/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ອະນຸຍາດ"</string>
<string name="consent_no" msgid="2640796915611404382">"ບໍ່ອະນຸຍາດ"</string>
<string name="consent_back" msgid="2560683030046918882">"ກັບຄືນ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ໂອນຍ້າຍການອະນຸຍາດແອັບໄປຫາໂມງຂອງທ່ານ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ເພື່ອເຮັດໃຫ້ຕັ້ງຄ່າໂມງຂອງທ່ານໄດ້ງ່າຍຂຶ້ນ, ແອັບທີ່ຕິດຕັ້ງຢູ່ໂມງຂອງທ່ານໃນລະຫວ່າງການຕັ້ງຄ່າຈະໃຊ້ການອະນຸຍາດດຽວກັນກັບໂທລະສັບຂອງທ່ານ.\n\n ການອະນຸຍາດເຫຼົ່ານີ້ອາດຮວມສິດເຂົ້າເຖິງໄມໂຄຣໂຟນ ແລະ ສະຖານທີ່ຂອງທ່ານນຳ."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-lt/strings.xml b/packages/CompanionDeviceManager/res/values-lt/strings.xml
index f79ea07..06099dc 100644
--- a/packages/CompanionDeviceManager/res/values-lt/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lt/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Leisti"</string>
<string name="consent_no" msgid="2640796915611404382">"Neleisti"</string>
<string name="consent_back" msgid="2560683030046918882">"Atgal"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Laikrodžio programų perkėlimo leidimai"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Kad būtų lengviau nustatyti laikrodį, jame atliekant sąranką įdiegtoms programoms bus naudojami tie patys leidimai kaip jūsų telefone.\n\n Šie leidimai gali apimti prieigą prie laikrodžio mikrofono ir vietovės."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-lv/strings.xml b/packages/CompanionDeviceManager/res/values-lv/strings.xml
index ce4f7ac..34fc5f1 100644
--- a/packages/CompanionDeviceManager/res/values-lv/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-lv/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Atļaut"</string>
<string name="consent_no" msgid="2640796915611404382">"Neatļaut"</string>
<string name="consent_back" msgid="2560683030046918882">"Atpakaļ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Lietotņu atļauju pārsūtīšana uz pulksteni"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Lai atvieglotu pulksteņa iestatīšanu, iestatīšanas laikā pulkstenī instalētās lietotnes saņems tādas pašas atļaujas, kādas tām ir tālrunī.\n\n Tostarp lietotnes var saņemt atļauju piekļūt pulksteņa mikrofonam un atrašanās vietai."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-mk/strings.xml b/packages/CompanionDeviceManager/res/values-mk/strings.xml
index 7ea24e7..e0de7ad 100644
--- a/packages/CompanionDeviceManager/res/values-mk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mk/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Дозволи"</string>
<string name="consent_no" msgid="2640796915611404382">"Не дозволувај"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Префрлете ги дозволите за апликациите на вашиот часовник"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"За полесно поставувањето на часовникот, апликациите инсталирани на часовникот при поставувањето ќе ги користат истите дозволи како на телефонот.\n\n Овие дозволи може да опфаќаат пристап до микрофонот и локацијата на часовникот."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ml/strings.xml b/packages/CompanionDeviceManager/res/values-ml/strings.xml
index 0de423c..abeefd9 100644
--- a/packages/CompanionDeviceManager/res/values-ml/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ml/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"അനുവദിക്കുക"</string>
<string name="consent_no" msgid="2640796915611404382">"അനുവദിക്കരുത്"</string>
<string name="consent_back" msgid="2560683030046918882">"മടങ്ങുക"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"നിങ്ങളുടെ വാച്ചിലേക്ക് ആപ്പ് അനുമതികൾ കൈമാറുക"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"നിങ്ങളുടെ വാച്ച് സജ്ജീകരിക്കുന്നത് എളുപ്പമാക്കാൻ, സജ്ജീകരിക്കുമ്പോൾ ഫോണിലുള്ള അതേ അനുമതികൾ നിങ്ങളുടെ വാച്ചിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ആപ്പുകൾ ഉപയോഗിക്കും.\n\n ഈ അനുമതികളിൽ നിങ്ങളുടെ വാച്ചിന്റെ മൈക്രോഫോണിലേക്കും ലോക്കേഷനിലേക്കുമുള്ള ആക്സസ് ഉൾപ്പെട്ടേക്കാം."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-mn/strings.xml b/packages/CompanionDeviceManager/res/values-mn/strings.xml
index f4dd0e1..33d2053 100644
--- a/packages/CompanionDeviceManager/res/values-mn/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mn/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Зөвшөөрөх"</string>
<string name="consent_no" msgid="2640796915611404382">"Бүү зөвшөөр"</string>
<string name="consent_back" msgid="2560683030046918882">"Буцах"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Цагандаа аппын зөвшөөрлийг шилжүүлэх"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Таны цагийг тохируулахад илүү хялбар болгохын тулд тохируулгын үеэр таны цаган дээр суулгасан аппууд нь утастай тань ижил зөвшөөрлийг ашиглана.\n\n Эдгээр зөвшөөрөлд таны цагийн микрофон болон байршлын хандалт зэрэг багтаж магадгүй."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-mr/strings.xml b/packages/CompanionDeviceManager/res/values-mr/strings.xml
index 30e6820..4838091 100644
--- a/packages/CompanionDeviceManager/res/values-mr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-mr/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"अनुमती द्या"</string>
<string name="consent_no" msgid="2640796915611404382">"अनुमती देऊ नका"</string>
<string name="consent_back" msgid="2560683030046918882">"मागे जा"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"अॅप परवानग्या तुमच्या वॉचवर ट्रान्सफर करा"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"तुमचे वॉच सेट करणे आणखी सोपे करण्यासाठी, सेटअपदरम्यान तुमच्या वॉचवर इंस्टॉल केलेली ॲप्स ही तुमच्या फोनप्रमाणेच परवानग्या वापरतील.\n\n या परवानग्यांमध्ये तुमच्या वॉचचा मायक्रोफोन आणि स्थानाच्या अॅक्सेसचा समावेश असू शकतो."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ms/strings.xml b/packages/CompanionDeviceManager/res/values-ms/strings.xml
index a0b561a..4ad02eb 100644
--- a/packages/CompanionDeviceManager/res/values-ms/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ms/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Benarkan"</string>
<string name="consent_no" msgid="2640796915611404382">"Jangan benarkan"</string>
<string name="consent_back" msgid="2560683030046918882">"Kembali"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Pindahkan kebenaran apl pada jam tangan anda"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Untuk memudahkan penyediaan jam tangan anda, apl yang dipasang pada jam tangan anda semasa persediaan akan menggunakan kebenaran yang sama seperti telefon anda.\n\n Kebenaran ini mungkin termasuk akses kepada mikrofon dan lokasi jam tangan anda."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-my/strings.xml b/packages/CompanionDeviceManager/res/values-my/strings.xml
index 31663e3..4710303 100644
--- a/packages/CompanionDeviceManager/res/values-my/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-my/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ခွင့်ပြုရန်"</string>
<string name="consent_no" msgid="2640796915611404382">"ခွင့်မပြုပါ"</string>
<string name="consent_back" msgid="2560683030046918882">"နောက်သို့"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"သင်၏နာရီသို့ အက်ပ်ခွင့်ပြုချက်များ လွှဲပြောင်းရန်"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"သင်၏နာရီ စနစ်ထည့်သွင်းရာတွင် ပိုလွယ်ကူစေရန် စနစ်ထည့်သွင်းနေစဉ်အတွင်း နာရီတွင်ထည့်သွင်းသော အက်ပ်များသည် သင့်ဖုန်းနှင့် အလားတူခွင့်ပြုချက်များကို သုံးပါမည်။\n\n ဤခွင့်ပြုချက်များတွင် သင့်နာရီ၏ မိုက်ခရိုဖုန်းနှင့် တည်နေရာတို့ကို သုံးခွင့် ပါဝင်နိုင်သည်။"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-nb/strings.xml b/packages/CompanionDeviceManager/res/values-nb/strings.xml
index 3f4db79..5333477 100644
--- a/packages/CompanionDeviceManager/res/values-nb/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-nb/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Tillat"</string>
<string name="consent_no" msgid="2640796915611404382">"Ikke tillat"</string>
<string name="consent_back" msgid="2560683030046918882">"Tilbake"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Overfør apptillatelser til klokken din"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"For å gjøre det enklere å konfigurere klokken din bruker apper som installeres på klokken under konfigureringen, samme tillatelser som på telefonen.\n\n Disse tillatelsene kan inkludere tilgang til mikrofonen på klokken og posisjon."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ne/strings.xml b/packages/CompanionDeviceManager/res/values-ne/strings.xml
index b13741e..6336ee4 100644
--- a/packages/CompanionDeviceManager/res/values-ne/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ne/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"अनुमति दिनुहोस्"</string>
<string name="consent_no" msgid="2640796915611404382">"अनुमति नदिनुहोस्"</string>
<string name="consent_back" msgid="2560683030046918882">"पछाडि"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"एपलाई दिइएका अनुमति घडीमा ट्रान्स्फर गर्नुहोस्"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"तपाईंको घडी सेटअप गर्ने कार्य सजिलो बनाउनका लागि सेटअप गर्ने क्रममा तपाईंको घडीमा इन्स्टल गरिएका एपहरूले पनि तपाईंको फोनमा दिइएको जस्तै अनुमति प्रयोग गर्ने छन्।\n\n यी अनुमतिमा तपाईंको घडीको माइक्रोफोन र लोकेसन प्रयोग गर्ने जस्ता अनुमति पर्न सक्छन्।"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-nl/strings.xml b/packages/CompanionDeviceManager/res/values-nl/strings.xml
index 4001c81..367800f 100644
--- a/packages/CompanionDeviceManager/res/values-nl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-nl/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Toestaan"</string>
<string name="consent_no" msgid="2640796915611404382">"Niet toestaan"</string>
<string name="consent_back" msgid="2560683030046918882">"Terug"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"App-rechten overzetten naar je horloge"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"We willen het makkelijker voor je maken om je horloge in te stellen. Daarom gebruiken apps die tijdens het instellen worden geïnstalleerd op je horloge, dezelfde rechten als op je telefoon.\n\n Deze rechten kunnen toegang tot de microfoon en locatie van je horloge omvatten."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-or/strings.xml b/packages/CompanionDeviceManager/res/values-or/strings.xml
index 888f6e3..36b55aa 100644
--- a/packages/CompanionDeviceManager/res/values-or/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-or/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="consent_no" msgid="2640796915611404382">"ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
<string name="consent_back" msgid="2560683030046918882">"ପଛକୁ ଫେରନ୍ତୁ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ଆପଣଙ୍କ ୱାଚକୁ ଆପ ଅନୁମତିଗୁଡ଼ିକ ଟ୍ରାନ୍ସଫର କରନ୍ତୁ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ଆପଣଙ୍କ ୱାଚ ସେଟ ଅପ କରିବାକୁ ସହଜ କରିବା ପାଇଁ, ସେଟଅପ ସମୟରେ ଆପଣଙ୍କର ୱାଚରେ ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପଗୁଡ଼ିକ ଆପଣଙ୍କ ଫୋନରେ ଥିବା ଆପଗୁଡ଼ିକ ପରି ସମାନ ଅନୁମତିଗୁଡ଼ିକ ବ୍ୟବହାର କରିବ।\n\n ଏହି ଅନୁମତିଗୁଡ଼ିକରେ ଆପଣଙ୍କ ୱାଚର ମାଇକ୍ରୋଫୋନ ଏବଂ ଲୋକେସନକୁ ଆକ୍ସେସ ଅନ୍ତର୍ଭୁକ୍ତ ହୋଇପାରେ।"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-pa/strings.xml b/packages/CompanionDeviceManager/res/values-pa/strings.xml
index 8f16c54..fec6195 100644
--- a/packages/CompanionDeviceManager/res/values-pa/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pa/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ਇਜਾਜ਼ਤ ਦਿਓ"</string>
<string name="consent_no" msgid="2640796915611404382">"ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ"</string>
<string name="consent_back" msgid="2560683030046918882">"ਪਿੱਛੇ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ਐਪ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਆਪਣੀ ਘੜੀ \'ਤੇ ਟ੍ਰਾਂਸਫ਼ਰ ਕਰੋ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ਤੁਹਾਡੀ ਘੜੀ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਣ ਲਈ, ਤੁਹਾਡੀ ਘੜੀ \'ਤੇ ਸਥਾਪਤ ਐਪਾਂ ਸੈੱਟਅੱਪ ਦੌਰਾਨ ਉਹੀ ਇਜਾਜ਼ਤਾਂ ਵਰਤਣਗੀਆਂ ਜੋ ਤੁਹਾਡਾ ਫ਼ੋਨ ਵਰਤਦਾ ਹੈ।\n\n ਇਨ੍ਹਾਂ ਇਜਾਜ਼ਤਾਂ ਵਿੱਚ ਤੁਹਾਡੀ ਘੜੀ ਦੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਅਤੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ।"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-pl/strings.xml b/packages/CompanionDeviceManager/res/values-pl/strings.xml
index 8403238..f84746a 100644
--- a/packages/CompanionDeviceManager/res/values-pl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pl/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Zezwól"</string>
<string name="consent_no" msgid="2640796915611404382">"Nie zezwalaj"</string>
<string name="consent_back" msgid="2560683030046918882">"Wstecz"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Przenieś uprawnienia aplikacji na zegarek"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Aby łatwiej było skonfigurować zegarek, aplikacje zainstalowane na nim podczas konfiguracji będą korzystały z tych samych uprawnień co telefon.\n\n Może to oznaczać dostęp do mikrofonu i lokalizacji na zegarku."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
index 7f081f0..c87eacd 100644
--- a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferir as permissões de apps para o relógio"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para facilitar a configuração do relógio, os apps instalados nele durante a configuração vão usar as mesmas permissões que o smartphone.\n\n Essas permissões podem incluir acesso ao microfone ou à localização do relógio."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
index 6b0ac35..219d32a 100644
--- a/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt-rPT/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfira as autorizações da app para o seu relógio"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para facilitar a configuração do seu relógio, as apps instaladas no mesmo durante a configuração utilizarão as mesmas autorizações que o telemóvel.\n\n Estas autorizações podem incluir o acesso ao microfone e à localização do seu relógio."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-pt/strings.xml b/packages/CompanionDeviceManager/res/values-pt/strings.xml
index 7f081f0..c87eacd 100644
--- a/packages/CompanionDeviceManager/res/values-pt/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-pt/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permitir"</string>
<string name="consent_no" msgid="2640796915611404382">"Não permitir"</string>
<string name="consent_back" msgid="2560683030046918882">"Voltar"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferir as permissões de apps para o relógio"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para facilitar a configuração do relógio, os apps instalados nele durante a configuração vão usar as mesmas permissões que o smartphone.\n\n Essas permissões podem incluir acesso ao microfone ou à localização do relógio."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ro/strings.xml b/packages/CompanionDeviceManager/res/values-ro/strings.xml
index 2cfbdbb..73a9ab5 100644
--- a/packages/CompanionDeviceManager/res/values-ro/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ro/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Permiteți"</string>
<string name="consent_no" msgid="2640796915611404382">"Nu permiteți"</string>
<string name="consent_back" msgid="2560683030046918882">"Înapoi"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transferați permisiunile pentru aplicații pe ceas"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Ca să configurați mai ușor ceasul, aplicațiile instalate pe ceas în timpul procesului de configurare vor folosi aceleași permisiuni ca telefonul.\n\n Între acestea se poate număra accesul la microfonul și locația ceasului."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ru/strings.xml b/packages/CompanionDeviceManager/res/values-ru/strings.xml
index 2b24fa2..706f9f8 100644
--- a/packages/CompanionDeviceManager/res/values-ru/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ru/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Разрешить"</string>
<string name="consent_no" msgid="2640796915611404382">"Запретить"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Перенос разрешений для приложений на часы"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Для приложений, установленных на часы во время настройки, будут использоваться те же разрешения, что и на телефоне.\n\n Например, может быть включен доступ к микрофону на часах или сведениям о местоположении."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-si/strings.xml b/packages/CompanionDeviceManager/res/values-si/strings.xml
index 94078a4..3180e42 100644
--- a/packages/CompanionDeviceManager/res/values-si/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-si/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"ඉඩ දෙන්න"</string>
<string name="consent_no" msgid="2640796915611404382">"ඉඩ නොදෙන්න"</string>
<string name="consent_back" msgid="2560683030046918882">"ආපසු"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ඔබගේ ඔරලෝසුවට යෙදුම් අවසර මාරු කිරීම"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"ඔබගේ ඔරලෝසුව පිහිටුවීම පහසු කිරීමට, පිහිටුවීමේදී ඔබගේ ඔරලෝසුවේ ස්ථාපනය කර ඇති යෙදුම් ඔබගේ දුරකථනයට සමාන අවසර භාවිත කරනු ඇත.\n\n මෙම අවසරවලට ඔබගේ ඔරලෝසුවේ මයික්රෆෝනයට සහ ස්ථානයට ප්රවේශය ඇතුළත් විය හැකිය."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sk/strings.xml b/packages/CompanionDeviceManager/res/values-sk/strings.xml
index 9a5c87e..0fbf4f4 100644
--- a/packages/CompanionDeviceManager/res/values-sk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sk/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Povoliť"</string>
<string name="consent_no" msgid="2640796915611404382">"Nepovoliť"</string>
<string name="consent_back" msgid="2560683030046918882">"Späť"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Presun povolení aplikácie do hodiniek"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"V rámci zjednodušenia nastavenia hodiniek budú aplikácie nainštalované do hodiniek pri nastavovaní používať rovnaké povolenia ako váš telefón.\n\n Tieto povolenia môžu zahrnovať prístup k mikrofónu a polohe hodiniek."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sl/strings.xml b/packages/CompanionDeviceManager/res/values-sl/strings.xml
index e28ba2f..14dd841 100644
--- a/packages/CompanionDeviceManager/res/values-sl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sl/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Dovoli"</string>
<string name="consent_no" msgid="2640796915611404382">"Ne dovoli"</string>
<string name="consent_back" msgid="2560683030046918882">"Nazaj"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Prenos dovoljenj za aplikacije v uro"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Za lažjo nastavitev ure bodo aplikacije, ki so bile med nastavljanjem nameščene v uri, uporabljale enaka dovoljenja kot tiste v telefonu.\n\n Ta dovoljenja lahko vključujejo dostop do mikrofona in lokacije ure."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sq/strings.xml b/packages/CompanionDeviceManager/res/values-sq/strings.xml
index ba13505..ac89bab 100644
--- a/packages/CompanionDeviceManager/res/values-sq/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sq/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Lejo"</string>
<string name="consent_no" msgid="2640796915611404382">"Mos lejo"</string>
<string name="consent_back" msgid="2560683030046918882">"Pas"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Transfero lejet e aplikacionit te ora jote"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Për ta bërë më të lehtë konfigurimin e orës, aplikacionet e instaluara në orën tënde gjatë konfigurimit do të përdorin të njëjtat leje si telefoni yt.\n\n Këto leje mund të përfshijnë qasje në mikrofonin dhe vendndodhjen e orës."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sr/strings.xml b/packages/CompanionDeviceManager/res/values-sr/strings.xml
index 3be67ff..2ae7aee 100644
--- a/packages/CompanionDeviceManager/res/values-sr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sr/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Дозволи"</string>
<string name="consent_no" msgid="2640796915611404382">"Не дозволи"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Пренесите дозволе за апликације на сат"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Да бисмо поједноставили подешавање сата, апликације инсталиране на сату током подешавања ће користити исте дозволе као телефон.\n\n Те дозволе могу да обухватају приступ микрофону и локацији сата."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sv/strings.xml b/packages/CompanionDeviceManager/res/values-sv/strings.xml
index 19a2456..234552d 100644
--- a/packages/CompanionDeviceManager/res/values-sv/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sv/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Tillåt"</string>
<string name="consent_no" msgid="2640796915611404382">"Tillåt inte"</string>
<string name="consent_back" msgid="2560683030046918882">"Tillbaka"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Överför appbehörigheter till klockan"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Appar som installeras på klockan under konfigureringen får samma behörigheter som de har på telefonen så att konfigureringen ska bli enklare.\n\n Behörigheterna kan omfatta åtkomst till klockans mikrofon och plats."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-sw/strings.xml b/packages/CompanionDeviceManager/res/values-sw/strings.xml
index 68a1534..a5f0b54 100644
--- a/packages/CompanionDeviceManager/res/values-sw/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-sw/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Ruhusu"</string>
<string name="consent_no" msgid="2640796915611404382">"Usiruhusu"</string>
<string name="consent_back" msgid="2560683030046918882">"Nyuma"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Hamishia idhini za programu kwenye saa yako"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Ili kurahisisha kuweka mipangilio ya saa yako, programu ambazo zimesakinishwa kwenye saa yako wakati wa kuweka mipangilio zitatumia ruhusa sawa na zinazotumika kwenye simu yako.\n\n Ruhusa hizi huenda zikajumuisha ufikiaji wa maikrofoni ya saa yako na maelezo ya mahali ilipo saa yako."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ta/strings.xml b/packages/CompanionDeviceManager/res/values-ta/strings.xml
index c3c7eec..0a1bc89 100644
--- a/packages/CompanionDeviceManager/res/values-ta/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ta/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"அனுமதி"</string>
<string name="consent_no" msgid="2640796915611404382">"அனுமதிக்க வேண்டாம்"</string>
<string name="consent_back" msgid="2560683030046918882">"பின்செல்"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"ஆப்ஸ் அனுமதிகளை உங்கள் வாட்ச்சிற்கு மாற்றுதல்"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"உங்கள் வாட்ச் அமைவை எளிதாக்க, உங்கள் மொபைலில் வழங்கியுள்ள அனுமதிகளையே அமைவின்போது வாட்ச்சில் நிறுவப்பட்ட ஆப்ஸும் பயன்படுத்தும்.\n\n உங்கள் வாட்ச்சிலுள்ள மைக்ரோஃபோன், இருப்பிடம் ஆகியவற்றுக்கான அணுகலும் இந்த அனுமதிகளில் அடங்கக்கூடும்."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-te/strings.xml b/packages/CompanionDeviceManager/res/values-te/strings.xml
index ec3289d..cef475f 100644
--- a/packages/CompanionDeviceManager/res/values-te/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-te/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"అనుమతించు"</string>
<string name="consent_no" msgid="2640796915611404382">"అనుమతించవద్దు"</string>
<string name="consent_back" msgid="2560683030046918882">"వెనుకకు"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"మీ వాచ్కు యాప్ అనుమతులను బదిలీ చేయండి"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"మీ వాచ్ను సెటప్ చేయడాన్ని సులభతరం చేయడానికి, సెటప్ సమయంలో మీ వాచ్లో ఇన్స్టాల్ చేయబడిన యాప్లు మీ ఫోన్లో యాప్లకు ఉన్న అవే అనుమతులను ఉపయోగిస్తాయి.\n\n ఈ అనుమతులతో మీ వాచ్ మైక్రోఫోన్, అలాగే లొకేషన్ కూడా ఉండవచ్చు."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-th/strings.xml b/packages/CompanionDeviceManager/res/values-th/strings.xml
index 2b47426..31c746a 100644
--- a/packages/CompanionDeviceManager/res/values-th/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-th/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"อนุญาต"</string>
<string name="consent_no" msgid="2640796915611404382">"ไม่อนุญาต"</string>
<string name="consent_back" msgid="2560683030046918882">"กลับ"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"โอนสิทธิ์ของแอปไปยังนาฬิกา"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"แอปที่ติดตั้งในนาฬิการะหว่างการตั้งค่าจะใช้สิทธิ์เดียวกันกับโทรศัพท์เพื่อให้การตั้งค่านาฬิกาง่ายขึ้น\n\n สิทธิ์เหล่านี้อาจรวมการเข้าถึงไมโครโฟนและตำแหน่งของนาฬิกา"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-tl/strings.xml b/packages/CompanionDeviceManager/res/values-tl/strings.xml
index 15953a6..66d0ae6 100644
--- a/packages/CompanionDeviceManager/res/values-tl/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-tl/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Payagan"</string>
<string name="consent_no" msgid="2640796915611404382">"Huwag payagan"</string>
<string name="consent_back" msgid="2560683030046918882">"Bumalik"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Ilipat sa iyong relo ang mga pahintulot sa app"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Para gawing mas madali na i-set up ang iyong relo, gagamitin ng mga app na naka-install sa relo mo sa oras ng pag-set up ang mga pahintulot na ginagamit din sa iyong telepono.\n\n Posibleng kasama sa mga pahintulot na ito ang access sa mikropono at lokasyon ng iyong relo."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-tr/strings.xml b/packages/CompanionDeviceManager/res/values-tr/strings.xml
index 8e0938b..487ecb3 100644
--- a/packages/CompanionDeviceManager/res/values-tr/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-tr/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"İzin ver"</string>
<string name="consent_no" msgid="2640796915611404382">"İzin verme"</string>
<string name="consent_back" msgid="2560683030046918882">"Geri"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Uygulama izinlerini saatinize aktarma"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Kurulum sırasında saatinize yüklenen uygulamalar, saat kurulumunuzu kolaylaştırmak için telefonunuzla aynı izinleri kullanır.\n\n Saatinizin mikrofonuna ve konumuna erişim bu izinlere dahil olabilir."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-uk/strings.xml b/packages/CompanionDeviceManager/res/values-uk/strings.xml
index 3638058..ba3d9b5 100644
--- a/packages/CompanionDeviceManager/res/values-uk/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-uk/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Дозволити"</string>
<string name="consent_no" msgid="2640796915611404382">"Не дозволяти"</string>
<string name="consent_back" msgid="2560683030046918882">"Назад"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Перенести дозволи для додатків на годинник"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Задля зручності додатки, установлені на годиннику протягом налаштування, використовуватимуть ті самі дозволи, що й на телефоні.\n\n До таких дозволів може належати доступ до мікрофона й геоданих годинника."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-ur/strings.xml b/packages/CompanionDeviceManager/res/values-ur/strings.xml
index a951209..fba5c45 100644
--- a/packages/CompanionDeviceManager/res/values-ur/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-ur/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"اجازت دیں"</string>
<string name="consent_no" msgid="2640796915611404382">"اجازت نہ دیں"</string>
<string name="consent_back" msgid="2560683030046918882">"پیچھے"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"اپنی گھڑی پر ایپ کی اجازتیں منتقل کریں"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"آپ کی گھڑی کو سیٹ اپ کرنے کے عمل کو زیادہ آسان بنانے کے لیے، سیٹ اپ کے دوران آپ کی گھڑی پر انسٹال کردہ ایپس انہیں اجازتوں کا استعمال کریں گی جن کا استعمال آپ کا فون کرتا ہے۔\n\n ان اجازتوں میں آپ کی گھڑی کے مائیکروفون اور مقام تک کی رسائی شامل ہو سکتی ہے۔"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-uz/strings.xml b/packages/CompanionDeviceManager/res/values-uz/strings.xml
index 455f9ef..b1912f8 100644
--- a/packages/CompanionDeviceManager/res/values-uz/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-uz/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Ruxsat"</string>
<string name="consent_no" msgid="2640796915611404382">"Ruxsat berilmasin"</string>
<string name="consent_back" msgid="2560683030046918882">"Orqaga"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Ilova uchun ruxsatlarni soatingizga uzating"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Soatingizni sozlashni qulaylashtirish maqsadida sozlash paytida soatingizga oʻrnatilgan ilovalar telefoningiz bilan bir xil ruxsatlardan foydalanadi.\n\n Bunday ruxsatlarga soatingiz mikrofoni va joylashuv axborotiga ruxsatlar kirishi mumkin."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-vi/strings.xml b/packages/CompanionDeviceManager/res/values-vi/strings.xml
index 0cc362b8..28b66ad 100644
--- a/packages/CompanionDeviceManager/res/values-vi/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-vi/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Cho phép"</string>
<string name="consent_no" msgid="2640796915611404382">"Không cho phép"</string>
<string name="consent_back" msgid="2560683030046918882">"Quay lại"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Chuyển quyền cho ứng dụng sang đồng hồ"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Để thiết lập đồng hồ dễ dàng hơn, trong quá trình thiết lập, các ứng dụng được cài đặt trên đồng hồ của bạn sẽ sử dụng các quyền giống như trên điện thoại.\n\n Các quyền này có thể bao gồm quyền sử dụng micrô và thông tin vị trí của đồng hồ."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
index 5286d75..21db274 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"允许"</string>
<string name="consent_no" msgid="2640796915611404382">"不允许"</string>
<string name="consent_back" msgid="2560683030046918882">"返回"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"将应用权限转让给手表"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"为了让您更轻松地设置手表,在设置过程中安装在手表上的应用将使用与手机相同的权限。\n\n这些权限可能包括使用手表的麦克风和位置信息。"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
index 1e6f515..9dd03ea 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"允許"</string>
<string name="consent_no" msgid="2640796915611404382">"不允許"</string>
<string name="consent_back" msgid="2560683030046918882">"返回"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"將應用程式權限轉移至手錶"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"為簡化手錶的設定程序,在設定過程中安裝到手錶上的應用程式都將沿用手機上的權限。\n\n這些權限可能包括手錶麥克風和位置的存取權。"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
index 9cb91d0..0b6fa44 100644
--- a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"允許"</string>
<string name="consent_no" msgid="2640796915611404382">"不允許"</string>
<string name="consent_back" msgid="2560683030046918882">"返回"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"將應用程式權限轉移到手錶上"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"為簡化手錶的設定程序,只要是在設定過程中安裝到手錶上的應用程式,都將沿用手機上的權限。\n\n 這些權限可能包括手錶的麥克風和位置資訊存取權。"</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/CompanionDeviceManager/res/values-zu/strings.xml b/packages/CompanionDeviceManager/res/values-zu/strings.xml
index a86eec2..38622a4 100644
--- a/packages/CompanionDeviceManager/res/values-zu/strings.xml
+++ b/packages/CompanionDeviceManager/res/values-zu/strings.xml
@@ -42,6 +42,8 @@
<string name="consent_yes" msgid="8344487259618762872">"Vumela"</string>
<string name="consent_no" msgid="2640796915611404382">"Ungavumeli"</string>
<string name="consent_back" msgid="2560683030046918882">"Emuva"</string>
- <string name="permission_sync_confirmation_title" msgid="667074294393493186">"Dlulisela izimvume ze-app ewashini lakho"</string>
- <string name="permission_sync_summary" msgid="8873391306499120778">"Ukuze wenze kube lula ukusetha iwashi lakho, ama-app afakwe ewashini lakho phakathi nokusetha azosebenzisa izimvume ezifanayo nezefoni yakho.\n\n Lezi zimvume zingabandakanya ukufinyelela kumakrofoni nendawo yewashi lakho."</string>
+ <!-- no translation found for permission_sync_confirmation_title (4409622174437248702) -->
+ <skip />
+ <!-- no translation found for permission_sync_summary (4866838188678457084) -->
+ <skip />
</resources>
diff --git a/packages/InputDevices/res/values-uz/strings.xml b/packages/InputDevices/res/values-uz/strings.xml
index 161bd0d..52ecdfc 100644
--- a/packages/InputDevices/res/values-uz/strings.xml
+++ b/packages/InputDevices/res/values-uz/strings.xml
@@ -10,11 +10,11 @@
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Ingliz (AQSH), Dvorak"</string>
<string name="keyboard_layout_english_us_workman_label" msgid="2944541595262173111">"Ingliz (AQSH), ishchi uslubda"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"Nemis"</string>
- <string name="keyboard_layout_french_label" msgid="813450119589383723">"Fransuzcha"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"Fransuz"</string>
<string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Fransuzcha (Kanada)"</string>
<string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Ruscha"</string>
<string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Ruscha, Mac uslubida"</string>
- <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Ispancha"</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Ispan"</string>
<string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"Shveytsar fransuzcha"</string>
<string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"Nemis (Shveytsariya)"</string>
<string name="keyboard_layout_belgian" msgid="2011984572838651558">"Belgiyancha"</string>
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index cb9a7bf..a91b03a 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Stel terug"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Verwyder"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Stel tans gassessie terug …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Neem \'n foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Kies \'n prent"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Kies foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skandeer QR-kode"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Plaas die QR-kode hieronder in die middel om te begin luister"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-kode is nie ’n geldige formaat nie"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index bcd69e6..b23f827 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ዳግም አስጀምር"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"አስወግድ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"እንግዳን ዳግም በማስጀመር ላይ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ፎቶ አንሳ"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ምስል ይምረጡ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ፎቶ ይምረጡ"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR ኮድን ይቃኙ"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ማዳመጥ ለመጀመር ከታች ያለውን QR ኮድ መሃል ላይ ያድርጉት"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR ኮድ ልክ ያልኾነ ቅርጸት ነው"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index f28d5b3..95d1eb1 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"غطش الأحمر (الأحمر والأخضر)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"غمش الأزرق (الأزرق والأصفر)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"تصحيح الألوان"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"يمكنك الاستفادة من ميزة \"تصحيح الألوان\" عندما تريد:<br/> <ol> <li>&nbsp;مشاهدة الألوان بدقة أكبر</li> <li>&nbsp;إزالة الألوان لمساعدتك على التركيز</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"يمكنك الاستفادة من ميزة \"تصحيح الألوان\" من أجل:<br/> <ol> <li>&nbsp;رؤية الألوان بدقة أكبر</li> <li>&nbsp;إزالة الألوان لمساعدتك على التركيز</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"تم الاستبدال بـ <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"يتبقى <xliff:g id="TIME_REMAINING">%1$s</xliff:g> تقريبًا."</string>
@@ -596,9 +596,38 @@
<string name="guest_reset_guest_dialog_title" msgid="8047270010895437534">"هل تريد إعادة ضبط جلسة الضيف؟"</string>
<string name="guest_remove_guest_dialog_title" msgid="4548511006624088072">"هل تريد إزالة حساب الضيف؟"</string>
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"إعادة الضبط"</string>
- <!-- no translation found for guest_remove_guest_confirm_button (7858123434954143879) -->
- <skip />
+ <string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"إزالة"</string>
<string name="guest_resetting" msgid="7822120170191509566">"جارٍ إعادة ضبط جلسة الضيف…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"التقاط صورة"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"اختيار صورة"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"اختيار صورة"</string>
@@ -656,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"إجراء مسح ضوئي لرمز الاستجابة السريعة"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"لبدء الاستماع، امسَح ضوئيًا رمز الاستجابة السريعة التالي."</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"تنسيق رمز الاستجابة السريعة غير صالح."</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index 5c465ee..390a296 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ৰিছেট কৰক"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"আঁতৰাওক"</string>
<string name="guest_resetting" msgid="7822120170191509566">"অতিথিৰ ছেশ্বন ৰিছেট কৰি থকা হৈছে…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"এখন ফট’ তোলক"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"এখন প্ৰতিচ্ছবি বাছনি কৰক"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ফট’ বাছনি কৰক"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"কিউআৰ ক’ডটো স্কেন কৰক"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"শুনিবলৈ আৰম্ভ কৰিবলৈ, তলৰ মাজৰ অংশত কিউআৰ ক’ডটো ৰাখক"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"কিউআৰ ক’ডটো মান্য ফৰ্মেটৰ নহয়"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index 50c8593..3c27384 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Sıfırlayın"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Silin"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Qonaq məlumatı sıfırlanır…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Foto çəkin"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Şəkil seçin"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Foto seçin"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR kodu skanlayın"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Dinləməyə başlamaq üçün aşağıda QR kodu mərkəzə yerləşdirin"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kodu doğru formatda deyil"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index 1d7bf9a..b486572 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetuj"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Ukloni"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Sesija gosta se resetuje…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Slikaj"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Odaberi sliku"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Izaberite sliku"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skenirajte QR kôd"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Da biste počeli da slušate, centrirajte QR kôd ispod"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kôd nije u važećem formatu"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index 6ad5017..ca25ed9 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Пратанамалія (чырвоны-зялёны)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Трытанамалія (сіні-жоўты)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Карэкцыя колераў"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Карэкцыя колераў можа спатрэбіцца, калі вы захочаце:<br/> <ol> <li>&nbsp;бачыць колеры больш дакладна</li> <li>&nbsp;выдаліць колеры, каб сканцэнтраваць увагу</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Карэкцыя колераў можа спатрэбіцца, калі вы захочаце:<br/> <ol> <li>&nbsp;бачыць колеры больш дакладна;</li> <li>&nbsp;выдаліць колеры, каб сканцэнтраваць увагу.</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"Перавызначаны <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"Зараду хопіць прыблізна на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Скінуць"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Выдаліць"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Ідзе скід гасцявога сеанса…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Зрабіць фота"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Выбраць відарыс"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Выбраць фота"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Сканіраваць QR-код"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Каб пачаць праслухванне, памясціце ў цэнтр QR-код, які знаходзіцца ўнізе"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-код мае несапраўдны фармат"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index 2087efd..7a0316c 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Нулиране"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Премахване"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Сесията като гост се нулира…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Правене на снимка"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Избиране на изображение"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Избиране на снимката"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Сканиране на QR код"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"За да започнете да слушате, центрирайте QR кода по-долу"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Невалиден формат на QR кода"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index d79c018..3ad80dd 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"রিসেট করুন"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"সরান"</string>
<string name="guest_resetting" msgid="7822120170191509566">"গেস্ট সেশন রিসেট করা হচ্ছে..."</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ফটো তুলুন"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"একটি ইমেজ বেছে নিন"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ফটো বেছে নিন"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR কোড স্ক্যান করুন"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"শোনা শুরু করতে, নিচের QR কোডটি মাঝখানে রাখুন"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR কোডের ফর্ম্যাট সঠিক নয়"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index 1381d57..b03c4a0 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalija (crveno-zeleno)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalija (plavo-žuto)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Ispravka boja"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Ispravka boja može biti korisna kada želite da:<br/> <ol> <li>&nbsp;vidite jasnije boje</li> <li>&nbsp;uklonite boje radi lakšeg fokusiranja</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Ispravka boja može biti korisna kada želite:<br/> <ol> <li>&nbsp;jasnije vidjeti boje</li> <li>&nbsp;ukloniti boje radi lakšeg fokusiranja</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"Zamjenjuje <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"Preostalo je još oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Poništi"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Ukloni"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Poništavanje sesije gosta…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Snimite fotografiju"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Odaberite sliku"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Odabir fotografije"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skenirajte QR kôd"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Da pokrenete slušanje, centrirajte QR kôd ispod"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Format QR koda nije važeći"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 627a9d8..475b922 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Restableix"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Suprimeix"</string>
<string name="guest_resetting" msgid="7822120170191509566">"S\'està restablint el convidat…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fes una foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Tria una imatge"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Selecciona una foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Escaneja un codi QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Per començar a escoltar, centra el codi QR més avall"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"El codi QR no té un format vàlid"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index 875daa4..6cbb8af 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -399,7 +399,7 @@
<string name="immediately_destroy_activities_summary" msgid="6289590341144557614">"Rušit všechny činnosti, jakmile je uživatel zavře"</string>
<string name="app_process_limit_title" msgid="8361367869453043007">"Omezení procesů na pozadí"</string>
<string name="show_all_anrs" msgid="9160563836616468726">"Zobrazovat ANR na pozadí"</string>
- <string name="show_all_anrs_summary" msgid="8562788834431971392">"Zobrazí dialog „Aplikace neodpovídá“ pro aplikace na pozadí"</string>
+ <string name="show_all_anrs_summary" msgid="8562788834431971392">"U aplikací na pozadí zobrazí dialog „Aplikace neodpovídá“"</string>
<string name="show_notification_channel_warnings" msgid="3448282400127597331">"Zobrazovat upozornění ohledně kanálu oznámení"</string>
<string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Když aplikace odešle oznámení bez platného kanálu, na obrazovce se zobrazí upozornění"</string>
<string name="force_allow_on_external" msgid="9187902444231637880">"Vynutit povolení aplikací na externím úložišti"</string>
@@ -552,7 +552,7 @@
<string name="help_label" msgid="3528360748637781274">"Nápověda a zpětná vazba"</string>
<string name="storage_category" msgid="2287342585424631813">"Úložiště"</string>
<string name="shared_data_title" msgid="1017034836800864953">"Sdílená data"</string>
- <string name="shared_data_summary" msgid="5516326713822885652">"Zobrazit a upravit sdílená data"</string>
+ <string name="shared_data_summary" msgid="5516326713822885652">"Zobrazení a úprava sdílených dat"</string>
<string name="shared_data_no_blobs_text" msgid="3108114670341737434">"Pro tohoto uživatele nejsou k dispozici žádná sdílená data."</string>
<string name="shared_data_query_failure_text" msgid="3489828881998773687">"Při načítání sdílených dat došlo k chybě. Zkuste to znovu."</string>
<string name="blob_id_text" msgid="8680078988996308061">"ID sdílených dat: <xliff:g id="BLOB_ID">%d</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetovat"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Odstranit"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetování hosta…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Pořídit fotku"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Vybrat obrázek"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Vybrat fotku"</string>
@@ -652,10 +682,15 @@
<string name="turn_screen_on_title" msgid="3266937298097573424">"Zapínat obrazovku"</string>
<string name="allow_turn_screen_on" msgid="6194845766392742639">"Povolit zapínání obrazovky"</string>
<string name="allow_turn_screen_on_description" msgid="43834403291575164">"Povolte aplikaci zapínat obrazovku. Pokud aplikace bude mít toto oprávnění, může kdykoli zapnout obrazovku bez explicitního intentu."</string>
- <!-- no translation found for bt_le_audio_scan_qr_code (3521809854780392679) -->
+ <string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skenování QR kódu"</string>
+ <string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Pokud chcete začít poslouchat, zaměřte QR kód níže"</string>
+ <string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kód není platný formát"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
<skip />
- <!-- no translation found for bt_le_audio_scan_qr_code_scanner (4679500020630341107) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
<skip />
- <!-- no translation found for bt_le_audio_qr_code_is_not_valid_format (6092191081849434734) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
<skip />
</resources>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index 776776d..17327af 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Nulstil"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Fjern"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Nulstiller gæst…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tag et billede"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Vælg et billede"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Vælg billede"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR-kode"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Centrer QR-koden nedenfor for at gå i gang med at lytte"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-koden har ikke et gyldigt format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 3049a695..be5964b 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Zurücksetzen"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Entfernen"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Gast wird zurückgesetzt…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Foto machen"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Bild auswählen"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Foto auswählen"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR-Code scannen"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Scanne zum Anhören den QR-Code unten"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Das Format des QR-Codes ist nicht gültig"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index 76ee0083..25334b6 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Επαναφορά"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Κατάργηση"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Επαναφορά επισκέπτη…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Λήψη φωτογραφίας"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Επιλογή εικόνας"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Επιλογή φωτογραφίας"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Σάρωση κωδικού QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Για έναρξη της ακρόασης, κεντράρετε τον παρακάτω κωδικό QR"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Ο κωδικός QR δεν έχει έγκυρη μορφή"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index 74d8f9a..d58b036 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remove"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetting guest…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Reset guest session?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"This will start a new guest session and delete all apps and data from the current session"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Exit guest mode?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"This will delete apps and data from the current guest session"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Exit"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Save guest activity?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"You can save activity from the current session or delete all apps and data"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Delete"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Save"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Exit guest mode"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Reset guest session"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Exit guest"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"All activity will be deleted on exit"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"You can save or delete your activity on exit"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Reset to delete session activity now, or you can save or delete activity on exit"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Take a photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choose an image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Select photo"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"To start listening, centre the QR code below"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR code isn\'t a valid format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index 63c395e..d24083b 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remove"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetting guest…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Reset guest session?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"This will start a new guest session and delete all apps and data from the current session"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Exit guest mode?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"This will delete apps and data from the current guest session"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Exit"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Save guest activity?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"You can save activity from the current session or delete all apps and data"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Delete"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Save"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Exit guest mode"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Reset guest session"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Exit guest"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"All activity will be deleted on exit"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"You can save or delete your activity on exit"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Reset to delete session activity now, or you can save or delete activity on exit"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Take a photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choose an image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Select photo"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"To start listening, centre the QR code below"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR code isn\'t a valid format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index 74d8f9a..d58b036 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remove"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetting guest…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Reset guest session?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"This will start a new guest session and delete all apps and data from the current session"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Exit guest mode?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"This will delete apps and data from the current guest session"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Exit"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Save guest activity?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"You can save activity from the current session or delete all apps and data"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Delete"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Save"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Exit guest mode"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Reset guest session"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Exit guest"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"All activity will be deleted on exit"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"You can save or delete your activity on exit"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Reset to delete session activity now, or you can save or delete activity on exit"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Take a photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choose an image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Select photo"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"To start listening, centre the QR code below"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR code isn\'t a valid format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index 74d8f9a..d58b036 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remove"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetting guest…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Reset guest session?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"This will start a new guest session and delete all apps and data from the current session"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Exit guest mode?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"This will delete apps and data from the current guest session"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Exit"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Save guest activity?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"You can save activity from the current session or delete all apps and data"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Delete"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Save"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Exit guest mode"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Reset guest session"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Exit guest"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"All activity will be deleted on exit"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"You can save or delete your activity on exit"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Reset to delete session activity now, or you can save or delete activity on exit"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Take a photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choose an image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Select photo"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"To start listening, centre the QR code below"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR code isn\'t a valid format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml
index 5ad3904..df280cd 100644
--- a/packages/SettingsLib/res/values-en-rXC/strings.xml
+++ b/packages/SettingsLib/res/values-en-rXC/strings.xml
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remove"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetting guest…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Reset guest session?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"This will start a new guest session and delete all apps and data from the current session"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Exit guest mode?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"This will delete apps and data from the current guest session"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Exit"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Save guest activity?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"You can save activity from the current session or delete all apps and data"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Delete"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Save"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Exit guest mode"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Reset guest session"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Exit guest"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"All activity will be deleted on exit"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"You can save or delete your activity on exit"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Reset to delete session activity now, or you can save or delete activity on exit"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Take a photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choose an image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Select photo"</string>
@@ -655,4 +670,8 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scan QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"To start listening, center the QR code below"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR code isn\'t a valid format"</string>
+ <string name="bt_le_audio_broadcast_dialog_title" msgid="5392738488989777074">"Stop broadcasting <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string>
+ <string name="bt_le_audio_broadcast_dialog_sub_title" msgid="268234802198852753">"If you broadcast <xliff:g id="SWITCHAPP">%1$s</xliff:g> or change the output, your current broadcast will stop"</string>
+ <string name="bt_le_audio_broadcast_dialog_switch_app" msgid="5749813313369517812">"Broadcast <xliff:g id="SWITCHAPP">%1$s</xliff:g>"</string>
+ <string name="bt_le_audio_broadcast_dialog_different_output" msgid="2638402023060391333">"Change output"</string>
</resources>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 4f4362e..0ac9fe1 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Restablecer"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Quitar"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Restableciendo invitado…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tomar una foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Elegir una imagen"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Seleccionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Escanear código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para comenzar a escuchar, centra el código QR que aparece a continuación"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"El código QR no tiene un formato válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index 970b689..60e79f0 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Restablecer"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Quitar"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Restableciendo invitado…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Hacer foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Seleccionar una imagen"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Seleccionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Escanear código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para empezar a escuchar, centra el código QR aquí abajo"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"El formato del código QR no es válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index 2841203..5bd64c0 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Lähtesta"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Eemalda"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Külastajaseansi lähtestamine …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Pildistage"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Valige pilt"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Valige foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR-koodi skannimine"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Kuulamise alustamiseks paigutage QR-kood allpool keskele"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-kood ei ole sobilik vorming"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index a4ecadf..6604077 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Berrezarri"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Kendu"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Gonbidatuentzako saioa berrezartzen…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Atera argazki bat"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Aukeratu irudi bat"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Hautatu argazki bat"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Eskaneatu QR kodea"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Entzuten hasteko, zentratu beheko QR kodea"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kodearen formatuak ez du balio"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index dee8377..9db9be7 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"بازنشانی"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"برداشتن"</string>
<string name="guest_resetting" msgid="7822120170191509566">"درحال بازنشانی مهمان…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"عکس گرفتن"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"انتخاب تصویر"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"انتخاب عکس"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"اسکن رمزینه پاسخسریع"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"برای گوش دادن، رمزینه پاسخسریع زیر را در مرکز کادر قرار دهید"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"قالب رمزینه پاسخسریع معتبر نیست"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 37f0109..734515c 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Nollaa"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Poista"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Nollataan vierasta…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Ota kuva"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Valitse kuva"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Valitse kuva"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skannaa QR-koodi"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Aloita kuuntelu keskittämällä alla olevaan QR-koodiin"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-koodin muoto ei kelpaa"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index 16922ab..d62ce16 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Réinitialiser"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Retirer"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Réinitialisation de la session Invité en cours…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Prendre une photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Sélectionner une image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Sélectionnez une photo"</string>
@@ -652,10 +682,15 @@
<string name="turn_screen_on_title" msgid="3266937298097573424">"Activation de l\'écran"</string>
<string name="allow_turn_screen_on" msgid="6194845766392742639">"Autoriser l\'activation de l\'écran"</string>
<string name="allow_turn_screen_on_description" msgid="43834403291575164">"Autorisez une application à activer l\'écran. Lorsque vous accordez cette autorisation, l\'application peut activer l\'écran à tout moment sans votre volonté explicite."</string>
- <!-- no translation found for bt_le_audio_scan_qr_code (3521809854780392679) -->
+ <string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Numériser le code QR"</string>
+ <string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Pour commencer à écouter, centrez le code QR ci-dessous"</string>
+ <string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Le format du code QR est incorrect"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
<skip />
- <!-- no translation found for bt_le_audio_scan_qr_code_scanner (4679500020630341107) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
<skip />
- <!-- no translation found for bt_le_audio_qr_code_is_not_valid_format (6092191081849434734) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
<skip />
</resources>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 71acc6f..eafe539 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -233,7 +233,7 @@
<string name="tethering_settings_not_available" msgid="266821736434699780">"Les paramètres de partage de connexion ne sont pas disponibles pour cet utilisateur."</string>
<string name="apn_settings_not_available" msgid="1147111671403342300">"Les paramètres de point d\'accès ne sont pas disponibles pour cet utilisateur."</string>
<string name="enable_adb" msgid="8072776357237289039">"Débogage USB"</string>
- <string name="enable_adb_summary" msgid="3711526030096574316">"Mode débogage lorsqu\'un câble USB est connecté"</string>
+ <string name="enable_adb_summary" msgid="3711526030096574316">"Mode de débogage en connexion USB"</string>
<string name="clear_adb_keys" msgid="3010148733140369917">"Annuler autorisations pour débog. USB"</string>
<string name="enable_adb_wireless" msgid="6973226350963971018">"Débogage sans fil"</string>
<string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Mode de débogage en connexion Wi-Fi"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Réinitialiser"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Supprimer"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Réinitialisation de la session Invité…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Prendre une photo"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Choisir une image"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Sélectionner une photo"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scanner un code QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Pour commencer à écouter, centrez le code QR ci-dessous"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Le format de code QR n\'est pas valide"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index cf0aacb..a1d7cd8 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Restablecer"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Quitar"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Restablecendo sesión de convidado…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tirar foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Escoller imaxe"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Seleccionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Escanear código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para comezar a escoitar audio, encadra o seguinte código QR"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"O formato do código QR non é válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 0d16ebd..24ed1fb 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -225,7 +225,7 @@
<string name="choose_profile" msgid="343803890897657450">"પ્રોફાઇલ પસંદ કરો"</string>
<string name="category_personal" msgid="6236798763159385225">"વ્યક્તિગત"</string>
<string name="category_work" msgid="4014193632325996115">"ઑફિસ"</string>
- <string name="development_settings_title" msgid="140296922921597393">"વિકાસકર્તાના વિકલ્પો"</string>
+ <string name="development_settings_title" msgid="140296922921597393">"ડેવલપરના વિકલ્પો"</string>
<string name="development_settings_enable" msgid="4285094651288242183">"વિકાસકર્તાનાં વિકલ્પો સક્ષમ કરો"</string>
<string name="development_settings_summary" msgid="8718917813868735095">"ઍપ્લિકેશન વિકાસ માટે વિકલ્પો સેટ કરો"</string>
<string name="development_settings_not_available" msgid="355070198089140951">"આ વપરાશકર્તા માટે વિકાસકર્તા વિકલ્પો ઉપલબ્ધ નથી"</string>
@@ -366,12 +366,12 @@
<string name="show_touches_summary" msgid="3692861665994502193">"ટૅપ માટે વિઝ્યુઅલ પ્રતિસાદ બતાવો"</string>
<string name="show_screen_updates" msgid="2078782895825535494">"સપાટી અપડેટ બતાવો"</string>
<string name="show_screen_updates_summary" msgid="2126932969682087406">"તે અપડેટ થાય ત્યારે સમગ્ર વિન્ડો સપાટી ફ્લેશ કરો"</string>
- <string name="show_hw_screen_updates" msgid="2021286231267747506">"દૃશ્યના અપડેટ બતાવો"</string>
- <string name="show_hw_screen_updates_summary" msgid="3539770072741435691">"દોરવામાં આવે ત્યારે વિન્ડોની અંદર દૃશ્યો બતાવો"</string>
+ <string name="show_hw_screen_updates" msgid="2021286231267747506">"વ્યૂના અપડેટ બતાવો"</string>
+ <string name="show_hw_screen_updates_summary" msgid="3539770072741435691">"દોરવામાં આવે ત્યારે વિન્ડોની અંદર વ્યૂ બતાવો"</string>
<string name="show_hw_layers_updates" msgid="5268370750002509767">"હાર્ડવેર સ્તરોના અપડેટ બતાવો"</string>
<string name="show_hw_layers_updates_summary" msgid="5850955890493054618">"હાર્ડવેર સ્તરો અપડેટ થાય ત્યારે તેને લીલા રંગથી પ્રકાશિત કરો"</string>
<string name="debug_hw_overdraw" msgid="8944851091008756796">"GPU ઓવરડ્રો ડીબગ કરો"</string>
- <string name="disable_overlays" msgid="4206590799671557143">"HW ઓવરલે અક્ષમ કરો"</string>
+ <string name="disable_overlays" msgid="4206590799671557143">"HW ઓવરલે બંધ કરો"</string>
<string name="disable_overlays_summary" msgid="1954852414363338166">"સ્ક્રીન જોડવા માટે હંમેશાં GPUનો ઉપયોગ કરો"</string>
<string name="simulate_color_space" msgid="1206503300335835151">"રંગ સ્થાનનું અનુકરણ કરો"</string>
<string name="enable_opengl_traces_title" msgid="4638773318659125196">"OpenGL ટ્રેસેસ સક્ષમ કરો"</string>
@@ -379,9 +379,9 @@
<string name="usb_audio_disable_routing_summary" msgid="8768242894849534699">"USB ઑડિયો પેરિફિરલ પર ઑટોમૅટિક રીતે થતા રૂટિંગને બંધ કરો"</string>
<string name="debug_layout" msgid="1659216803043339741">"લેઆઉટ બાઉન્ડ બતાવો"</string>
<string name="debug_layout_summary" msgid="8825829038287321978">"ક્લિપ બાઉન્ડ, હાંસિયાં વગેરે બતાવો."</string>
- <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL લેઆઉટ દિશા નિર્દેશની ફરજ પાડો"</string>
- <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"તમામ લૉકેલ માટે સ્ક્રીન લેઆઉટ દિશા નિર્દેશને RTLની ફરજ પાડો"</string>
- <string name="window_blurs" msgid="6831008984828425106">"વિન્ડો-લેવલને ઝાંખું કરવાની સુવિધા ચાલુ કરો"</string>
+ <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL લેઆઉટ દિશાનિર્દેશની ફરજ પાડો"</string>
+ <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"તમામ લોકેલ માટે સ્ક્રીન લેઆઉટ દિશાનિર્દેશને RTLની ફરજ પાડો"</string>
+ <string name="window_blurs" msgid="6831008984828425106">"વિન્ડો-લેવલને બ્લર કરવાની સુવિધા ચાલુ કરો"</string>
<string name="force_msaa" msgid="4081288296137775550">"4x MSAAને ફરજ પાડો"</string>
<string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ઍપમાં 4x MSAA ચાલુ કરો"</string>
<string name="show_non_rect_clip" msgid="7499758654867881817">"બિન-લંબચોરસ ક્લિપ કામગીરી ડીબગ કરો"</string>
@@ -392,9 +392,9 @@
<string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"ખામીની જાણકારીમાં ડિવાઇસથી જોડાયેલા ચોક્કસ વેન્ડર લૉગ શામેલ કરો, જેમાં ખાનગી માહિતી શામેલ હોઈ શકે છે, તે વધુ બૅટરીનો ઉપયોગ કરી શકે છે અને/અથવા વધુ સ્ટોરેજનો ઉપયોગ કરી શકે છે."</string>
<string name="window_animation_scale_title" msgid="5236381298376812508">"વિન્ડો ઍનિમેશન સ્કેલ"</string>
<string name="transition_animation_scale_title" msgid="1278477690695439337">"સંક્રમણ ઍનિમેશન સ્કેલ"</string>
- <string name="animator_duration_scale_title" msgid="7082913931326085176">"એનિમેટર અવધિ સ્કેલ"</string>
+ <string name="animator_duration_scale_title" msgid="7082913931326085176">"ઍનિમેટર અવધિ સ્કેલ"</string>
<string name="overlay_display_devices_title" msgid="5411894622334469607">"ગૌણ ડિસ્પ્લેનું અનુકરણ કરો"</string>
- <string name="debug_applications_category" msgid="5394089406638954196">"ઍપ્લિકેશનો"</string>
+ <string name="debug_applications_category" msgid="5394089406638954196">"ઍપ"</string>
<string name="immediately_destroy_activities" msgid="1826287490705167403">"પ્રવૃત્તિઓ રાખશો નહીં"</string>
<string name="immediately_destroy_activities_summary" msgid="6289590341144557614">"જેવો વપરાશકર્તા તેને છોડે, તરત જ દરેક પ્રવૃત્તિ નષ્ટ કરો"</string>
<string name="app_process_limit_title" msgid="8361367869453043007">"બૅકગ્રાઉન્ડ પ્રક્રિયા સીમા"</string>
@@ -402,7 +402,7 @@
<string name="show_all_anrs_summary" msgid="8562788834431971392">"બૅકગ્રાઉન્ડ ઍપ માટે \"ઍપ પ્રતિસાદ આપતી નથી\" સંવાદ બતાવો"</string>
<string name="show_notification_channel_warnings" msgid="3448282400127597331">"નોટિફિકેશન ચૅનલની ચેતવણી બતાવો"</string>
<string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"ઍપ માન્ય ચૅનલ વિના નોટિફિકેશન પોસ્ટ કરે તો સ્ક્રીન પર ચેતવણી દેખાય છે"</string>
- <string name="force_allow_on_external" msgid="9187902444231637880">"બાહ્ય પર એપને મંજૂરી આપવાની ફરજ પાડો"</string>
+ <string name="force_allow_on_external" msgid="9187902444231637880">"બાહ્ય પર ઍપને મંજૂરી આપવાની ફરજ પાડો"</string>
<string name="force_allow_on_external_summary" msgid="8525425782530728238">"મેનિફેસ્ટ મૂલ્યોને ધ્યાનમાં લીધા સિવાય, કોઈપણ ઍપને બાહ્ય સ્ટોરેજ પર લખાવા માટે લાયક બનાવે છે"</string>
<string name="force_resizable_activities" msgid="7143612144399959606">"પ્રવૃત્તિઓને ફરીથી કદ યોગ્ય થવા માટે ફરજ પાડો"</string>
<string name="force_resizable_activities_summary" msgid="2490382056981583062">"મૅનિફેસ્ટ મૂલ્યોને ધ્યાનમાં લીધા સિવાય, તમામ પ્રવૃત્તિઓને મલ્ટી-વિન્ડો માટે ફરીથી કદ બદલી શકે તેવી બનાવો."</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"રીસેટ કરો"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"કાઢી નાખો"</string>
<string name="guest_resetting" msgid="7822120170191509566">"અતિથિને રીસેટ કરી રહ્યાં છીએ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ફોટો લો"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"છબી પસંદ કરો"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ફોટો પસંદ કરો"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR કોડ સ્કૅન કરો"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"સાંભળવાનું શરૂ કરવા માટે, QR કોડને નીચે ફ્રેમની મધ્યમાં લાવો"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"આ QR કોડ માન્ય ફૉર્મેટમાં નથી"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 0e34765..12e9ec5 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"रीसेट करें"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"हटाएं"</string>
<string name="guest_resetting" msgid="7822120170191509566">"मेहमान के तौर पर ब्राउज़ करने का सेशन रीसेट किया जा रहा है…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"फ़ोटो खींचें"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"कोई इमेज चुनें"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"फ़ोटो चुनें"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"क्यूआर कोड को स्कैन करें"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"सुनने के लिए, दिए गए क्यूआर कोड को बीच में लाएं"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"क्यूआर कोड का फ़ॉर्मैट गलत है"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index ff4f239..bc49846 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Poništi"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Ukloni"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Poništavanje gostujuće sesije…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fotografiraj"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Odaberi sliku"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Odabir slike"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skeniraj QR kôd"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Da biste počeli slušati, centrirajte QR kôd u nastavku"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kôd nije u važećem formatu"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index dc12f69..be150bf 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Visszaállítás"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Eltávolítás"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Vendég munkamenet visszaállítása…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fotó készítése"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Kép kiválasztása"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Fotó kiválasztása"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR-kód beolvasása"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"A hallgatás megkezdéséhez igazítsa a QR-kódot az alábbi panel közepére"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"A QR-kód formátuma nem érvényes"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index cc1f2be..b5f817b 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -595,9 +595,39 @@
<string name="guest_reset_guest" msgid="6110013010356013758">"Վերակայել հյուրի աշխատաշրջանը"</string>
<string name="guest_reset_guest_dialog_title" msgid="8047270010895437534">"Վերակայե՞լ հյուրի աշխատաշրջանը"</string>
<string name="guest_remove_guest_dialog_title" msgid="4548511006624088072">"Հեռացնե՞լ հյուրին"</string>
- <string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Վերակայել"</string>
+ <string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Զրոյացնել"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Հեռացնել"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Հյուրի աշխատաշրջանը վերակայվում է…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Լուսանկարել"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Ընտրել պատկեր"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Ընտրեք լուսանկար"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR կոդի սկանավորում"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Լսելու համար տեսախցիկը պահեք QR կոդի վրա"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR կոդի ձևաչափն անվավեր է"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index 8293463..a8e86d2 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Hapus"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Mereset tamu …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Ambil foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Pilih gambar"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Pilih foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Pindai kode QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Untuk mulai mendengarkan, fokuskan kode QR berikut"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Format kode QR tidak valid"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index 30dd932..56972d2 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Endurstilla"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Fjarlægja"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Endurstillir gest…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Taka mynd"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Velja mynd"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Velja mynd"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skanna QR-kóða"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Byrjaðu að hlusta með því að skanna QR-kóðann hér að neðan"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-kóði er ekki gilt snið"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 92bb253..76e9891 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomalìa (rosso-verde)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomalìa (blu-giallo)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Correzione del colore"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"La correzione del colore può essere utile quando vuoi:<br/> <ol> <li>&nbsp;Vedere i colori con più precisione</li> <li>&nbsp;Rimuovere colori per mettere meglio a fuoco</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"La correzione del colore può essere utile quando vuoi:<br/> <ol> <li>&nbsp;Vedere i colori con più precisione</li> <li>&nbsp;Rimuovere i colori per mettere meglio a fuoco</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"Valore sostituito da <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"Tempo rimanente: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> circa"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Reimposta"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Rimuovi"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Reimpostazione sessione Ospite in corso…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Scatta una foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Scegli un\'immagine"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Seleziona la foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scansiona codice QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Per iniziare ad ascoltare, centra il codice QR qui sotto"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Il formato del codice QR non è valido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index 86b283c..b3de615 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"איפוס"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"הסרה"</string>
<string name="guest_resetting" msgid="7822120170191509566">"מתבצע איפוס של הגלישה כאורח…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"צילום תמונה"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"לבחירת תמונה"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"בחירת תמונה"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"סריקת קוד QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"כדי להתחיל בהאזנה, צריך להציב את קוד ה‑QR במרכז החלון שבהמשך"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"הפורמט של קוד ה‑QR לא תקין"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 82432e8..f5cfb2a 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"リセット"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"削除"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ゲストをリセットしています…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"写真を撮る"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"画像を選択"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"写真を選択"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR コードをスキャン"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"再生を開始するには、下の枠に QR コードを合わせてください"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR コードの形式が無効です"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index bd7c513..d854646 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"გადაყენება"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ამოშლა"</string>
<string name="guest_resetting" msgid="7822120170191509566">"მიმდინარეობს სტუმრის გადაყენება…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ფოტოს გადაღება"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"აირჩიეთ სურათი"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ფოტოს არჩევა"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR კოდის სკანირება"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"მოსმენის დასაწყებად ცენტრში მოაქციეთ ქვემოთ მოცემული QR კოდი"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR კოდის ფორმატი არასწორია"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index 2e71d51..c14a134 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Бастапқы күйге қайтару"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Өшіру"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Қонақ сеансы бастапқы күйге қайтарылуда…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Фотосуретке түсіру"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Сурет таңдау"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Фотосурет таңдау"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR кодын сканерлеу"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Тыңдай бастау үшін төмендегі QR кодын ортаға орналастырыңыз."</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR кодының форматы жарамсыз."</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index 821813b..6bcf1d0 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"កំណត់ឡើងវិញ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ដកចេញ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"កំពុងកំណត់ភ្ញៀវឡើងវិញ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ថតរូប"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ជ្រើសរើសរូបភាព"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ជ្រើសរើសរូបថត"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"ស្កេនកូដ QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ដើម្បីចាប់ផ្ដើមស្ដាប់ សូមដាក់កូដ QR ខាងក្រោមឱ្យនៅចំកណ្ដាល"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"កូដ QR មិនមែនជាទម្រង់ដែលត្រឹមត្រូវទេ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index 7beba07..a95377e 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ತೆಗೆದುಹಾಕಿ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ಅತಿಥಿ ಬಳಕೆದಾರರ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ರೀಸೆಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ಫೋಟೋ ತೆಗೆದುಕೊಳ್ಳಿ"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ಚಿತ್ರವನ್ನು ಆರಿಸಿ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ಫೋಟೋ ಆಯ್ಕೆಮಾಡಿ"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR ಕೋಡ್ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ಆಲಿಸುವುದಕ್ಕೆ ಪ್ರಾರಂಭಿಸಲು, ಕ್ಯಾಮರಾವನ್ನು ಕೆಳಗಿನ QR ಕೋಡ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿ"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR ಕೋಡ್ ಮಾನ್ಯ ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿಲ್ಲ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index c484199..c856b5c 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"재설정"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"삭제"</string>
<string name="guest_resetting" msgid="7822120170191509566">"게스트 재설정 중…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"사진 찍기"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"이미지 선택"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"사진 선택"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR 코드 스캔"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"아래의 QR 코드가 스캐너 가운데에 오도록 맞춘 다음 듣기를 시작하세요"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR 코드의 형식이 유효하지 않습니다."</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index 944ba8d..9210a53 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -447,8 +447,8 @@
<string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Дейтераномалия (кызыл-жашыл)"</string>
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Протаномалия (кызыл-жашыл)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Тританомалия (көк-сары)"</string>
- <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Түсүн тууралоо"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Төмөнкү учурларда түстөрдү тууралоонун пайдасы тийиши мүмкүн:<br/> <ol> <li>&nbsp;Түстөрдү тагыраак көргүңүз келсе</li> <li>&nbsp;Көңүл топтоо үчүн түстөрдү өчүргүңүз келсе</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Түстөрдү тууралоо"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Түстөрдү тууралоо менен:<br/> <ol> <li>&nbsp;Керектүү түстөрдү аласыз</li> <li>&nbsp;Алагды кылган түстөрдү өчүрүп саласыз</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> менен алмаштырылган"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"Болжол менен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> калды"</string>
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Баштапкы абалга келтирүү"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Өчүрүү"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Конок сеансы баштапкы абалга келтирилүүдө…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"Конок сеансы баштапкы абалга келтирилсинби?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"Бул аракет жаңы конок сеансын баштап, учурдагы сеанстагы бардык колдонмолорду жана дайындарды жок кылат"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"Конок режиминен чыгасызбы?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"Бул учурдагы конок сеансындагы колдонмолорду жана дайындарды жок кылат"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"Чыгуу"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"Коноктун аракеттери сакталсынбы?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"Учурдагы сеанстагы аракеттерди сактап же бардык колдонмолорду жана дайындарды жок кылсаңыз болот"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"Өчүрүү"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"Сактоо"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"Конок режиминен чыгуу"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"Конок сеансын кайра коюу"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"Конок режиминен чыгуу"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"Чыксаңыз, бардык аракеттер өчүрүлөт"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"Чыгуудан мурун аракеттериңизди сактап же жок кылсаңыз болот"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"Сеанстагы аракеттерди азыр жок кылуу үчүн баштапкы абалга келтириңиз, же болбосо чыгуу учурунда аракеттерди сактап же жок кылсаңыз болот"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"Сүрөткө тартуу"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Сүрөт тандаңыз"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Сүрөт тандаңыз"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR кодун скандоо"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Угуп баштоо үчүн QR кодун борборго жайгаштырыңыз"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR кодунун форматы жараксыз"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index bd125e7..92452a1 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ຣີເຊັດ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ລຶບອອກ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ກຳລັງຣີເຊັດແຂກ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ຖ່າຍຮູບ"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ເລືອກຮູບ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ເລືອກຮູບ"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"ສະແກນລະຫັດ QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ເພື່ອເລີ່ມການຟັງ, ໃຫ້ວາງລະຫັດ QR ທາງລຸ່ມນີ້ໄວ້ທາງກາງ"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"ຮູບແບບລະຫັດ QR ບໍ່ຖືກຕ້ອງ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index bf099dc..630bf4a 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Nustatyti iš naujo"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Pašalinti"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Svečias nustatomas iš naujo…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fotografuoti"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Pasirinkti vaizdą"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Pasirinkti nuotrauką"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR kodo nuskaitymas"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Jei norite pradėti klausyti, nustatykite toliau pateiktą QR kodą per vidurį"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kodas netinkamo formato"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 8d500dd..fdf3d7d 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Atiestatīt"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Noņemt"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Notiek viesa sesijas atiestatīšana…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Uzņemt fotoattēlu"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Izvēlēties attēlu"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Atlasīt fotoattēlu"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Kvadrātkoda skenēšana"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Lai sāktu klausīties, centrējiet tālāk norādīto kvadrātkodu."</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Kvadrātkoda formāts nav derīgs."</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index dbde691..c4b2c44 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Ресетирај"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Отстрани"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Се ресетира гостинот…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Фотографирајте"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Одберете слика"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Изберете фотографија"</string>
@@ -652,10 +682,15 @@
<string name="turn_screen_on_title" msgid="3266937298097573424">"Вклучување на екранот"</string>
<string name="allow_turn_screen_on" msgid="6194845766392742639">"Дозволи вклучување на екранот"</string>
<string name="allow_turn_screen_on_description" msgid="43834403291575164">"Дозволете апликација да го вклучи екранот. Ако дозволите, апликацијата може да го вклучи екранот во секое време без ваша намера."</string>
- <!-- no translation found for bt_le_audio_scan_qr_code (3521809854780392679) -->
+ <string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Скенирајте QR-код"</string>
+ <string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"За да започне слушањето, центрирајте го QR-кодот долу"</string>
+ <string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-кодот не е во важечки формат"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
<skip />
- <!-- no translation found for bt_le_audio_scan_qr_code_scanner (4679500020630341107) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
<skip />
- <!-- no translation found for bt_le_audio_qr_code_is_not_valid_format (6092191081849434734) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
<skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index 9519f0d..14c1fb9 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"റീസെറ്റ് ചെയ്യുക"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"നീക്കം ചെയ്യുക"</string>
<string name="guest_resetting" msgid="7822120170191509566">"അതിഥിയെ റീസെറ്റ് ചെയ്യുന്നു…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ഒരു ഫോട്ടോ എടുക്കുക"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ഒരു ചിത്രം തിരഞ്ഞെടുക്കുക"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR കോഡ് സ്കാൻ ചെയ്യുക"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"കേട്ട് തുടങ്ങാൻ ചുവടെയുള്ള QR കോഡിലേക്ക് കേന്ദ്രീകരിക്കുക"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR കോഡ് ഫോർമാറ്റ് അസാധുവാണ്"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-mn/arrays.xml b/packages/SettingsLib/res/values-mn/arrays.xml
index b351dfd..9bd10a78 100644
--- a/packages/SettingsLib/res/values-mn/arrays.xml
+++ b/packages/SettingsLib/res/values-mn/arrays.xml
@@ -55,7 +55,7 @@
</string-array>
<string-array name="hdcp_checking_summaries">
<item msgid="4045840870658484038">"HDCP шалгахыг хэзээ ч ашиглахгүй"</item>
- <item msgid="8254225038262324761">"HDCP шалгахыг зөвхөн DRM контентэд ашиглах"</item>
+ <item msgid="8254225038262324761">"HDCP шалгахыг зөвхөн DRM контентод ашиглах"</item>
<item msgid="6421717003037072581">"Байнга HDCP шалгахыг ашиглах"</item>
</string-array>
<string-array name="bt_hci_snoop_log_entries">
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index 77bcbc7..b85c708 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -233,7 +233,7 @@
<string name="tethering_settings_not_available" msgid="266821736434699780">"Энэ хэрэглэгчид тетеринг тохиргоог ашиглах боломжгүй"</string>
<string name="apn_settings_not_available" msgid="1147111671403342300">"Энэ хэрэглэгчийн хувьд Хандалтын цэгийн нэрийн тохиргоог ашиглах боломжгүй"</string>
<string name="enable_adb" msgid="8072776357237289039">"USB дебаг"</string>
- <string name="enable_adb_summary" msgid="3711526030096574316">"USB холбодсон үеийн согог засах горим"</string>
+ <string name="enable_adb_summary" msgid="3711526030096574316">"USB холбогдсон үеийн согог засах горим"</string>
<string name="clear_adb_keys" msgid="3010148733140369917">"USB дебагийн зөвшөөрлийг цуцлах"</string>
<string name="enable_adb_wireless" msgid="6973226350963971018">"Wireless debugging"</string>
<string name="enable_adb_wireless_summary" msgid="7344391423657093011">"Wi-Fi холбогдсон үед дебаг хийх горим"</string>
@@ -264,7 +264,7 @@
<string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Wi-Fi сүлжээнд холбогдоно уу"</string>
<string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, дебаг хийх, dev"</string>
<string name="bugreport_in_power" msgid="8664089072534638709">"Алдаа мэдээлэх товчлол"</string>
- <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Цэсэнд алдааны мэдэгдэл авахад зориулсан товчийг харуулах"</string>
+ <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Цэсэд алдааны мэдэгдэл авахад зориулсан товчийг харуулах"</string>
<string name="keep_screen_on" msgid="1187161672348797558">"Идэвхтэй байлгах"</string>
<string name="keep_screen_on_summary" msgid="1510731514101925829">"Цэнэглэж байх үед дэлгэц хэзээ ч амрахгүй"</string>
<string name="bt_hci_snoop_log" msgid="7291287955649081448">"Bluetooth HCI снүүп логыг идэвхжүүлэх"</string>
@@ -389,7 +389,7 @@
<string name="enable_gpu_debug_layers" msgid="4986675516188740397">"GPU дебаг хийх давхаргыг идэвхжүүлэх"</string>
<string name="enable_gpu_debug_layers_summary" msgid="4921521407377170481">"Дебаг хийх аппад GPU дебаг хийх давхарга ачаалахыг зөвшөөрөх"</string>
<string name="enable_verbose_vendor_logging" msgid="1196698788267682072">"Нийлүүлэгчийн дэлгэрэнгүй логийг идэвхжүүлэх"</string>
- <string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"Төхөөрөмжийн тодорхойосон нийлүүлэгчийн нэвтрэх үеийн алдааны нэмэлт мэдээг оруулах бөгөөд энэ нь хувийн мэдээлэл агуулж, батарейг илүү ашиглах болон/эсвэл хадгалах сан илүү ашиглаж болзошгүй."</string>
+ <string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"Төхөөрөмжийн тодорхойлсон нийлүүлэгчийн нэвтрэх үеийн алдааны нэмэлт мэдээг оруулах бөгөөд энэ нь хувийн мэдээлэл агуулж, батарейг илүү ашиглах болон/эсвэл хадгалах сан илүү ашиглаж болзошгүй."</string>
<string name="window_animation_scale_title" msgid="5236381298376812508">"Цонхны дүрс амилуулалтын далайц"</string>
<string name="transition_animation_scale_title" msgid="1278477690695439337">"Шилжилтийн дүрс амилуулалтын далайц"</string>
<string name="animator_duration_scale_title" msgid="7082913931326085176">"Дүрс амилуулалт үргэлжлэх далайц"</string>
@@ -408,8 +408,8 @@
<string name="force_resizable_activities_summary" msgid="2490382056981583062">"Тодорхойлогч файлын утгыг үл хамааран, бүх үйл ажиллагааны хэмжээг олон цонхонд өөрчилж болохуйц болгоно уу."</string>
<string name="enable_freeform_support" msgid="7599125687603914253">"Чөлөөт хэлбэрийн цонхыг идэвхжүүлэх"</string>
<string name="enable_freeform_support_summary" msgid="1822862728719276331">"Туршилтын чөлөөт хэлбэрийн цонхны дэмжлэгийг идэвхжүүлнэ үү."</string>
- <string name="local_backup_password_title" msgid="4631017948933578709">"Десктоп нөөцлөлтийн нууц үг"</string>
- <string name="local_backup_password_summary_none" msgid="7646898032616361714">"Десктоп бүрэн нөөцлөлт одоогоор хамгаалалтгүй байна"</string>
+ <string name="local_backup_password_title" msgid="4631017948933578709">"Компьютерын нөөцлөлтийн нууц үг"</string>
+ <string name="local_backup_password_summary_none" msgid="7646898032616361714">"Компьютерын бүрэн нөөцлөлт одоогоор хамгаалалтгүй байна"</string>
<string name="local_backup_password_summary_change" msgid="1707357670383995567">"Компьютерийн бүтэн нөөцлөлтийн нууц үгийг өөрчлөх, устгах бол дарна уу"</string>
<string name="local_backup_password_toast_success" msgid="4891666204428091604">"Нөөцлөлтийн шинэ нууц үг тохирууллаа"</string>
<string name="local_backup_password_toast_confirmation_mismatch" msgid="2994718182129097733">"Шинэ нууц үг болон баталгаажуулалт таарахгүй байна"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Шинэчлэх"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Хасах"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Зочныг шинэчилж байна…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Зураг авах"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Зураг сонгох"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Зураг сонгох"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR код скан хийх"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Сонсож эхлэхийн тулд доорх QR кодыг голлуулаарай"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR код буруу форматтай байна"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-mr/arrays.xml b/packages/SettingsLib/res/values-mr/arrays.xml
index d6aa199..25113d24 100644
--- a/packages/SettingsLib/res/values-mr/arrays.xml
+++ b/packages/SettingsLib/res/values-mr/arrays.xml
@@ -86,7 +86,7 @@
<item msgid="8147982633566548515">"map14"</item>
</string-array>
<string-array name="bluetooth_a2dp_codec_titles">
- <item msgid="2494959071796102843">"सिस्टम निवड वापरा (डीफॉल्ट)"</item>
+ <item msgid="2494959071796102843">"सिस्टीम निवड वापरा (डीफॉल्ट)"</item>
<item msgid="4055460186095649420">"SBC"</item>
<item msgid="720249083677397051">"AAC"</item>
<item msgid="1049450003868150455">"<xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g> ऑडिओ"</item>
@@ -122,7 +122,7 @@
<item msgid="1212577207279552119">"32 बिट/पॅटर्न"</item>
</string-array>
<string-array name="bluetooth_a2dp_codec_bits_per_sample_summaries">
- <item msgid="9196208128729063711">"सिस्टम निवड वापरा (डीफॉल्ट)"</item>
+ <item msgid="9196208128729063711">"सिस्टीम निवड वापरा (डीफॉल्ट)"</item>
<item msgid="1084497364516370912">"16 बिट/पॅटर्न"</item>
<item msgid="2077889391457961734">"24 बिट/पॅटर्न"</item>
<item msgid="3836844909491316925">"32 बिट/पॅटर्न"</item>
@@ -133,7 +133,7 @@
<item msgid="927546067692441494">"स्टिरिओ"</item>
</string-array>
<string-array name="bluetooth_a2dp_codec_channel_mode_summaries">
- <item msgid="1997302811102880485">"सिस्टम निवड वापरा (डीफॉल्ट)"</item>
+ <item msgid="1997302811102880485">"सिस्टीम निवड वापरा (डीफॉल्ट)"</item>
<item msgid="8005696114958453588">"मोनो"</item>
<item msgid="1333279807604675720">"स्टिरिओ"</item>
</string-array>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index 2620647..8f93697 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -172,7 +172,7 @@
<string name="process_kernel_label" msgid="950292573930336765">"Android OS"</string>
<string name="data_usage_uninstalled_apps" msgid="1933665711856171491">"काढलेले अॅप्स"</string>
<string name="data_usage_uninstalled_apps_users" msgid="5533981546921913295">"काढलेले अॅप्स आणि वापरकर्ते"</string>
- <string name="data_usage_ota" msgid="7984667793701597001">"सिस्टम अपडेट"</string>
+ <string name="data_usage_ota" msgid="7984667793701597001">"सिस्टीम अपडेट"</string>
<string name="tether_settings_title_usb" msgid="3728686573430917722">"USB टेदरिंग"</string>
<string name="tether_settings_title_wifi" msgid="4803402057533895526">"पोर्टेबल हॉटस्पॉट"</string>
<string name="tether_settings_title_bluetooth" msgid="916519902721399656">"ब्लूटूथ टेदरिंग"</string>
@@ -234,7 +234,7 @@
<string name="apn_settings_not_available" msgid="1147111671403342300">"या वापरकर्त्यासाठी अॅक्सेस बिंदू नाव सेटिंग्ज उपलब्ध नाहीत"</string>
<string name="enable_adb" msgid="8072776357237289039">"USB डीबग करणे"</string>
<string name="enable_adb_summary" msgid="3711526030096574316">"USB कनेक्ट केलेले असताना डीबग मोड"</string>
- <string name="clear_adb_keys" msgid="3010148733140369917">"USB डीबग करणारी प्रमाणीकरणे रीव्होक करा"</string>
+ <string name="clear_adb_keys" msgid="3010148733140369917">"USB डीबग करणारी ऑथोरायझेशन मागे घ्या"</string>
<string name="enable_adb_wireless" msgid="6973226350963971018">"वायरलेस डीबगिंग"</string>
<string name="enable_adb_wireless_summary" msgid="7344391423657093011">"वाय-फाय कनेक्ट केलेले असताना डीबग मोड"</string>
<string name="adb_wireless_error" msgid="721958772149779856">"एरर"</string>
@@ -284,7 +284,7 @@
<string name="mobile_data_always_on" msgid="8275958101875563572">"मोबाइल डेटा नेहमी सक्रिय"</string>
<string name="tethering_hardware_offload" msgid="4116053719006939161">"टेदरिंग हार्डवेअर अॅक्सिलरेशन"</string>
<string name="bluetooth_show_devices_without_names" msgid="923584526471885819">"नावांशिवाय ब्लूटूथ डिव्हाइस दाखवा"</string>
- <string name="bluetooth_disable_absolute_volume" msgid="1452342324349203434">"संपूर्ण आवाज बंद करा"</string>
+ <string name="bluetooth_disable_absolute_volume" msgid="1452342324349203434">"संपूर्ण व्हॉल्यूम बंद करा"</string>
<string name="bluetooth_enable_gabeldorsche" msgid="9131730396242883416">"गाबलडॉर्ष सुरू करा"</string>
<string name="bluetooth_select_avrcp_version_string" msgid="1710571610177659127">"ब्लूटूथ AVRCP आवृत्ती"</string>
<string name="bluetooth_select_avrcp_version_dialog_title" msgid="7846922290083709633">"ब्लूटूथ AVRCP आवृत्ती निवडा"</string>
@@ -312,7 +312,7 @@
<string name="wifi_display_certification_summary" msgid="8111151348106907513">"वायरलेस डिस्प्ले प्रमाणिकरणाचे पर्याय दाखवा"</string>
<string name="wifi_verbose_logging_summary" msgid="4993823188807767892">"वाय-फाय लॉगिंग स्तर वाढवा, वाय-फाय सिलेक्टरमध्ये प्रति SSID RSSI दर्शवा"</string>
<string name="wifi_scan_throttling_summary" msgid="2577105472017362814">"बॅटरी जलदरीतीने संपण्यापासून रोखते आणि नेटवर्क परफॉर्मन्समध्ये सुधारणा करते"</string>
- <string name="wifi_non_persistent_mac_randomization_summary" msgid="2159794543105053930">"हा मोड सुरू केलेला असले तेव्हा, हे डिव्हाइस MAC रँडमायझेशन सुरू केलेल्या नेटवर्कशी कनेक्ट होताना प्रत्येक वेळी त्याचा MAC अॅड्रेस बदलू शकतो."</string>
+ <string name="wifi_non_persistent_mac_randomization_summary" msgid="2159794543105053930">"हा मोड सुरू केलेला असेल, तेव्हा हे डिव्हाइस MAC रँडमायझेशन सुरू केलेल्या नेटवर्कशी कनेक्ट होताना प्रत्येक वेळी त्याचा MAC अॅड्रेस बदलू शकतो."</string>
<string name="wifi_metered_label" msgid="8737187690304098638">"मीटरने मोजलेले"</string>
<string name="wifi_unmetered_label" msgid="6174142840934095093">"मीटरने न मोजलेले"</string>
<string name="select_logd_size_title" msgid="1604578195914595173">"लॉगर बफर आकार"</string>
@@ -337,8 +337,8 @@
<string name="dev_settings_warning_message" msgid="37741686486073668">"या सेटिंग्जचा हेतू फक्त विकास वापरासाठी आहे. त्यामुळे तुमचे डिव्हाइस आणि त्यावरील ॲप्लिकेशन ब्रेक होऊ शकतात किंवा नेहमीपेक्षा वेगळे वर्तन करू शकतात."</string>
<string name="verify_apps_over_usb_title" msgid="6031809675604442636">"USB वर अॅप्स पडताळून पहा"</string>
<string name="verify_apps_over_usb_summary" msgid="1317933737581167839">"हानिकारक वर्तनासाठी ADB/ADT द्वारे इंस्टॉल अॅप्स तपासा."</string>
- <string name="bluetooth_show_devices_without_names_summary" msgid="780964354377854507">"नावांशिवाय ब्लूटूथ डिव्हाइस (फक्त MAC पत्ते) दाखवले जातील"</string>
- <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"रिमोट डिव्हाइसमध्ये सहन न होणारा मोठा आवाज किंवा नियंत्रणाचा अभाव यासारखी आवाजाची समस्या असल्यास ब्लूटूथ संपूर्ण आवाज वैशिष्ट्य बंद करते."</string>
+ <string name="bluetooth_show_devices_without_names_summary" msgid="780964354377854507">"नावांशिवाय ब्लूटूथ डिव्हाइस (फक्त MAC अॅड्रेस) दाखवले जातील"</string>
+ <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"रिमोट डिव्हाइसमध्ये सहन न होणारा मोठा व्हॉल्यूम किंवा नियंत्रणाचा अभाव यासारखी व्हॉल्यूमची समस्या असल्यास ब्लूटूथ संपूर्ण व्हॉल्यूम वैशिष्ट्य बंद करते."</string>
<string name="bluetooth_enable_gabeldorsche_summary" msgid="2054730331770712629">"ब्लूटूथ गाबलडॉर्ष वैशिष्ट्य स्टॅक सुरू करा."</string>
<string name="enhanced_connectivity_summary" msgid="1576414159820676330">"वर्धित कनेक्टिव्हिटी वैशिष्ट्य सुरू करा."</string>
<string name="enable_terminal_title" msgid="3834790541986303654">"स्थानिक टर्मिनल"</string>
@@ -355,7 +355,7 @@
<string name="wait_for_debugger_summary" msgid="6846330006113363286">"डीबग केलेले ॲप्लिकेशन अंमलात आणण्यापूर्वी डीबगर संलग्न करण्याची प्रतीक्षा करतो"</string>
<string name="debug_input_category" msgid="7349460906970849771">"इनपुट"</string>
<string name="debug_drawing_category" msgid="5066171112313666619">"ड्रॉइंग"</string>
- <string name="debug_hw_drawing_category" msgid="5830815169336975162">"हार्डवेअर ॲक्सलरेटेड रेंडरिंग"</string>
+ <string name="debug_hw_drawing_category" msgid="5830815169336975162">"हार्डवेअर अॅक्सिलरेटेड रेंडरिंग"</string>
<string name="media_category" msgid="8122076702526144053">"मीडिया"</string>
<string name="debug_monitoring_category" msgid="1597387133765424994">"परीक्षण"</string>
<string name="strict_mode" msgid="889864762140862437">"कठोर मोड सुरू"</string>
@@ -363,20 +363,20 @@
<string name="pointer_location" msgid="7516929526199520173">"पॉइंटर स्थान"</string>
<string name="pointer_location_summary" msgid="957120116989798464">"वर्तमान स्पर्श डेटा दर्शविणारे स्क्रीन ओव्हरले"</string>
<string name="show_touches" msgid="8437666942161289025">"टॅप दाखवा"</string>
- <string name="show_touches_summary" msgid="3692861665994502193">"टॅपसाठी दृश्यमान अभिप्राय दर्शवा"</string>
- <string name="show_screen_updates" msgid="2078782895825535494">"पृष्ठभाग अपडेट दर्शवा"</string>
- <string name="show_screen_updates_summary" msgid="2126932969682087406">"संपूर्ण विंडो पृष्ठभाग अद्ययावत होतात तेव्हा ते फ्लॅश करा"</string>
+ <string name="show_touches_summary" msgid="3692861665994502193">"टॅपसाठी व्हिज्युअल फीडबॅक दाखवा"</string>
+ <string name="show_screen_updates" msgid="2078782895825535494">"सर्फेस अपडेट दाखवा"</string>
+ <string name="show_screen_updates_summary" msgid="2126932969682087406">"संपूर्ण विंडो सर्फेस अपडेट होतात तेव्हा ते फ्लॅश करा"</string>
<string name="show_hw_screen_updates" msgid="2021286231267747506">"व्ह्यू अपडेट दाखवा"</string>
<string name="show_hw_screen_updates_summary" msgid="3539770072741435691">"रेखांकित केल्यावर विंडोच्या आतील फ्लॅश व्ह्यू"</string>
<string name="show_hw_layers_updates" msgid="5268370750002509767">"हार्डवेअर स्तर अपडेट दाखवा"</string>
- <string name="show_hw_layers_updates_summary" msgid="5850955890493054618">"हार्डवेअर स्तर अद्ययावत झाल्यावर ते हिरव्या रंगात फ्लॅश करा"</string>
+ <string name="show_hw_layers_updates_summary" msgid="5850955890493054618">"हार्डवेअर स्तर अपडेट झाल्यावर ते हिरव्या रंगात फ्लॅश करा"</string>
<string name="debug_hw_overdraw" msgid="8944851091008756796">"GPU ओव्हरड्रॉ डीबग करा"</string>
<string name="disable_overlays" msgid="4206590799671557143">"HW ओव्हरले बंद करा"</string>
<string name="disable_overlays_summary" msgid="1954852414363338166">"स्क्रीन तयार करण्यासाठी नेहमी GPU वापरा"</string>
<string name="simulate_color_space" msgid="1206503300335835151">"रंग स्थान सिम्युलेट करा"</string>
<string name="enable_opengl_traces_title" msgid="4638773318659125196">"OpenGL ट्रेस सुरू करा"</string>
<string name="usb_audio_disable_routing" msgid="3367656923544254975">"USB ऑडिओ राउटिंग बंद करा"</string>
- <string name="usb_audio_disable_routing_summary" msgid="8768242894849534699">"USB ऑडिओ परिधीय वरील स्वयंचलित राउटिंग बंद करा"</string>
+ <string name="usb_audio_disable_routing_summary" msgid="8768242894849534699">"USB ऑडिओ उपकरणांवरील ऑटेमॅटिक राउटिंग बंद करा"</string>
<string name="debug_layout" msgid="1659216803043339741">"लेआउट सीमा दाखवा"</string>
<string name="debug_layout_summary" msgid="8825829038287321978">"क्लिप सीमा, समास इत्यादी दर्शवा."</string>
<string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL लेआउट दिशानिर्देशाची सक्ती करा"</string>
@@ -397,7 +397,7 @@
<string name="debug_applications_category" msgid="5394089406638954196">"अॅप्स"</string>
<string name="immediately_destroy_activities" msgid="1826287490705167403">"ॲक्टिव्हिटी ठेवू नका"</string>
<string name="immediately_destroy_activities_summary" msgid="6289590341144557614">"वापरकर्त्याने प्रत्येक ॲक्टिव्हिटी सोडताच ती नष्ट करा"</string>
- <string name="app_process_limit_title" msgid="8361367869453043007">"पार्श्वभूमी प्रक्रिया मर्यादा"</string>
+ <string name="app_process_limit_title" msgid="8361367869453043007">"बॅकग्राउंड प्रक्रिया मर्यादा"</string>
<string name="show_all_anrs" msgid="9160563836616468726">"बॅकग्राउंड ANR दाखवा"</string>
<string name="show_all_anrs_summary" msgid="8562788834431971392">"बॅकग्राउंड अॅप्ससाठी अॅप प्रतिसाद देत नाही दाखवते"</string>
<string name="show_notification_channel_warnings" msgid="3448282400127597331">"सूचना चॅनल चेतावण्या दाखवा"</string>
@@ -442,7 +442,7 @@
<string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ही निवड यापुढे वैध असणार नाही. पुन्हा प्रयत्न करा."</string>
<string name="picture_color_mode" msgid="1013807330552931903">"चित्र रंग मोड"</string>
<string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB वापरा"</string>
- <string name="daltonizer_mode_disabled" msgid="403424372812399228">"अक्षम केले"</string>
+ <string name="daltonizer_mode_disabled" msgid="403424372812399228">"बंद केले"</string>
<string name="daltonizer_mode_monochromacy" msgid="362060873835885014">"रंग दृष्टीहीनता"</string>
<string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"हरित असंगती (लाल-हिरवा)"</string>
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"क्षीण रक्तवर्णांधता (लाल-हिरवा)"</string>
@@ -598,6 +598,21 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"रीसेट करा"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"काढून टाका"</string>
<string name="guest_resetting" msgid="7822120170191509566">"अतिथीला रीसेट करत आहे…"</string>
+ <string name="guest_reset_and_restart_dialog_title" msgid="3396657008451616041">"अतिथी सत्र रीसेट करायचे का?"</string>
+ <string name="guest_reset_and_restart_dialog_message" msgid="2764425635305200790">"हे नवीन अतिथी सत्र सुरू करेल आणि सध्याच्या सत्रातील सर्व अॅप्स व डेटा हटवेल"</string>
+ <string name="guest_exit_dialog_title" msgid="1846494656849381804">"अतिथी मोडमधून बाहेर पडायचे का?"</string>
+ <string name="guest_exit_dialog_message" msgid="1743218864242719783">"हे सध्याच्या अतिथी सत्रातील अॅप्स आणि डेटा हटवेल"</string>
+ <string name="guest_exit_dialog_button" msgid="1736401897067442044">"बाहेर पडा"</string>
+ <string name="guest_exit_dialog_title_non_ephemeral" msgid="7675327443743162986">"अतिथी अॅक्टिव्हिटी सेव्ह करायची का?"</string>
+ <string name="guest_exit_dialog_message_non_ephemeral" msgid="223385323235719442">"सध्याच्या सत्रातील अॅक्टिव्हिटी सेव्ह करू किंवा सर्व अॅप्स व डेटा हटवू शकता"</string>
+ <string name="guest_exit_clear_data_button" msgid="3425812652180679014">"हटवा"</string>
+ <string name="guest_exit_save_data_button" msgid="3690974510644963547">"सेव्ह करा"</string>
+ <string name="guest_exit_button" msgid="5774985819191803960">"अतिथी मोडमधून बाहेर पडा"</string>
+ <string name="guest_reset_button" msgid="2515069346223503479">"अतिथी सत्र रीसेट करा"</string>
+ <string name="guest_exit_quick_settings_button" msgid="1912362095913765471">"अतिथी मोडमधून बाहेर पडा"</string>
+ <string name="guest_notification_ephemeral" msgid="7263252466950923871">"बाहेर पडल्यावर सर्व अॅक्टिव्हिटी हटवली जाईल"</string>
+ <string name="guest_notification_non_ephemeral" msgid="6843799963012259330">"बाहेर पडल्यावर तुमची अॅक्टिव्हिटी सेव्ह करू किंवा हटवू शकता"</string>
+ <string name="guest_notification_non_ephemeral_non_first_login" msgid="8009307983766934876">"सत्र अॅक्टिव्हिटी आता हटवण्यासाठी रीसेट करा किंवा तुम्ही बाहेर पडल्यावर अॅक्टिव्हिटी सेव्ह करू अथवा हटवू शकता"</string>
<string name="user_image_take_photo" msgid="467512954561638530">"फोटो काढा"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"इमेज निवडा"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"फोटो निवडा"</string>
@@ -655,4 +670,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR कोड स्कॅन करा"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ऐकणे सुरू करण्यासाठी, खालील QR कोड मध्यभागी ठेवा"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR कोडचा फॉरमॅट चुकीचा आहे"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index 09d7fef..831de3f 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -387,7 +387,7 @@
<string name="show_non_rect_clip" msgid="7499758654867881817">"Nyahpepijat operasi keratan bukan segi empat tepat"</string>
<string name="track_frame_time" msgid="522674651937771106">"Pemaparan HWUI profil"</string>
<string name="enable_gpu_debug_layers" msgid="4986675516188740397">"Dayakan lepasan nyahpepijat GPU"</string>
- <string name="enable_gpu_debug_layers_summary" msgid="4921521407377170481">"Bnrkn pemuatan lpsn nyhppjt GPU utk apl pnyhppjtn"</string>
+ <string name="enable_gpu_debug_layers_summary" msgid="4921521407377170481">"Benarkan pemuatan lapisan nyahpepijat GPU untuk apl penyahpepijatan"</string>
<string name="enable_verbose_vendor_logging" msgid="1196698788267682072">"Dayakan pengelogan vendor berjela"</string>
<string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"Sertakan log tambahan vendor khusus peranti dalam laporan pepijat, yang mungkin mengandungi maklumat peribadi, menggunakan lebih banyak kuasa bateri dan/atau menggunakan lebih banyak storan."</string>
<string name="window_animation_scale_title" msgid="5236381298376812508">"Skala animasi tetingkap"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Tetapkan semula"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Alih keluar"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Menetapkan semula tetamu…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Ambil foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Pilih imej"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Pilih foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Imbas kod QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Untuk mula mendengar, pusatkan kod QR di bawah"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Kod QR bukan dalam format yang sah"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index 755b468..fd490f9 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -599,6 +599,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ဖယ်ရှားရန်"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ဧည့်သည်ကို ပြင်ဆင်သတ်မှတ်နေသည်…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ဓာတ်ပုံရိုက်ရန်"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ပုံရွေးရန်"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ဓာတ်ပုံရွေးရန်"</string>
@@ -656,4 +686,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR ကုဒ်ကို စကင်ဖတ်ရန်"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"စတင်နားဆင်ရန် အောက်ရှိ QR ကုဒ်ကို အလယ်တွင်ထားပါ"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR ကုဒ်သည် မှန်ကန်သောဖော်မက် မဟုတ်ပါ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index cc7bcf8..baf9c54 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -265,7 +265,7 @@
<string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, feilsøking, utvikler"</string>
<string name="bugreport_in_power" msgid="8664089072534638709">"Snarvei til feilrapport"</string>
<string name="bugreport_in_power_summary" msgid="1885529649381831775">"Vis en knapp for generering av feilrapport i batterimenyen"</string>
- <string name="keep_screen_on" msgid="1187161672348797558">"Forbli våken"</string>
+ <string name="keep_screen_on" msgid="1187161672348797558">"Hold våken"</string>
<string name="keep_screen_on_summary" msgid="1510731514101925829">"Skjermen blir aldri svart under lading"</string>
<string name="bt_hci_snoop_log" msgid="7291287955649081448">"Slå på Bluetooth HCI snoop-logg"</string>
<string name="bt_hci_snoop_log_summary" msgid="6808538971394092284">"Samle Bluetooth-pakker. (Slå Bluetooth av/på etter at du har endret denne innstillingen)"</string>
@@ -273,9 +273,9 @@
<string name="oem_unlock_enable_summary" msgid="5857388174390953829">"Tillat at oppstartsinnlasteren låses opp"</string>
<string name="confirm_enable_oem_unlock_title" msgid="8249318129774367535">"Vil du tillate OEM-opplåsing?"</string>
<string name="confirm_enable_oem_unlock_text" msgid="854131050791011970">"ADVARSEL: Funksjoner for enhetsbeskyttelse fungerer ikke på denne enheten mens denne innstillingen er slått på."</string>
- <string name="mock_location_app" msgid="6269380172542248304">"Velg app for fiktiv plassering"</string>
- <string name="mock_location_app_not_set" msgid="6972032787262831155">"Ingen app for fiktiv plassering er angitt"</string>
- <string name="mock_location_app_set" msgid="4706722469342913843">"App for fiktiv plassering: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="mock_location_app" msgid="6269380172542248304">"Velg app for fiktiv posisjon"</string>
+ <string name="mock_location_app_not_set" msgid="6972032787262831155">"Ingen app for fiktiv posisjon er angitt"</string>
+ <string name="mock_location_app_set" msgid="4706722469342913843">"App for fiktiv posisjon: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="debug_networking_category" msgid="6829757985772659599">"Nettverk"</string>
<string name="wifi_display_certification" msgid="1805579519992520381">"Trådløs skjerm-sertifisering"</string>
<string name="wifi_verbose_logging" msgid="1785910450009679371">"Slå på detaljert Wi-Fi-loggføring"</string>
@@ -338,7 +338,7 @@
<string name="verify_apps_over_usb_title" msgid="6031809675604442636">"Bekreft apper via USB"</string>
<string name="verify_apps_over_usb_summary" msgid="1317933737581167839">"Sjekk apper som er installert via ADB/ADT, for skadelig atferd."</string>
<string name="bluetooth_show_devices_without_names_summary" msgid="780964354377854507">"Bluetooth-enheter uten navn (bare MAC-adresser) vises"</string>
- <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"Slår av funksjonen for absolutt volum via Bluetooth i tilfelle det oppstår volumrelaterte problemer med eksterne enheter, for eksempel uakseptabelt høyt volum eller mangel på kontroll."</string>
+ <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"Slår av absolutt volum via Bluetooth i tilfelle volumproblemer med eksterne enheter, for eksempel svært høyt volum eller mangel på kontroll."</string>
<string name="bluetooth_enable_gabeldorsche_summary" msgid="2054730331770712629">"Aktiverer funksjonsstabelen Bluetooth Gabeldorsche"</string>
<string name="enhanced_connectivity_summary" msgid="1576414159820676330">"Slår på Forbedret tilkobling-funksjonen."</string>
<string name="enable_terminal_title" msgid="3834790541986303654">"Lokal terminal"</string>
@@ -379,7 +379,7 @@
<string name="usb_audio_disable_routing_summary" msgid="8768242894849534699">"Slå av automatisk lydomkobling til USB-enheter"</string>
<string name="debug_layout" msgid="1659216803043339741">"Vis layoutgrenser"</string>
<string name="debug_layout_summary" msgid="8825829038287321978">"Vis kanter, marger osv."</string>
- <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Tving layoutretning for RTL"</string>
+ <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Tvungen RTL-layout"</string>
<string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Tving RTL-retning på skjermen for alle språk"</string>
<string name="window_blurs" msgid="6831008984828425106">"Tillat uskarphet i vindu"</string>
<string name="force_msaa" msgid="4081288296137775550">"Tving 4x MSAA"</string>
@@ -402,10 +402,10 @@
<string name="show_all_anrs_summary" msgid="8562788834431971392">"Vis Appen svarer ikke-dialog for bakgrunnsapper"</string>
<string name="show_notification_channel_warnings" msgid="3448282400127597331">"Vis varselskanaladvarsler"</string>
<string name="show_notification_channel_warnings_summary" msgid="68031143745094339">"Viser advarsler på skjermen når apper publiserer varsler uten en gyldig kanal"</string>
- <string name="force_allow_on_external" msgid="9187902444231637880">"Tving frem tillatelse for ekstern lagring av apper"</string>
+ <string name="force_allow_on_external" msgid="9187902444231637880">"Tillat alltid ekstern lagring av apper"</string>
<string name="force_allow_on_external_summary" msgid="8525425782530728238">"Dette gjør at alle apper kan lagres på eksterne lagringsmedier – uavhengig av manifestverdier"</string>
- <string name="force_resizable_activities" msgid="7143612144399959606">"Tving aktiviteter til å kunne endre størrelse"</string>
- <string name="force_resizable_activities_summary" msgid="2490382056981583062">"Gjør at alle aktivitetene kan endre størrelse for flervindusmodus, uavhengig av manifestverdier."</string>
+ <string name="force_resizable_activities" msgid="7143612144399959606">"Alle aktiviteter kan endre størrelse"</string>
+ <string name="force_resizable_activities_summary" msgid="2490382056981583062">"Gjør at alle aktiviteter kan endre størrelse for flervindusmodus, uavhengig av manifestverdier."</string>
<string name="enable_freeform_support" msgid="7599125687603914253">"Slå på vinduer i fritt format"</string>
<string name="enable_freeform_support_summary" msgid="1822862728719276331">"Slå på støtte for vinduer i eksperimentelt fritt format."</string>
<string name="local_backup_password_title" msgid="4631017948933578709">"Passord for sikkerhetskopiering på datamaskin"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Tilbakestill"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Fjern"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Tilbakestiller gjesten …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Ta et bilde"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Velg et bilde"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Velg et bilde"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skann QR-koden"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"For å begynne å lytte, midtstill QR-koden nedenfor"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-koden er ikke i et gyldig format"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index b88d6b7..4880ec2 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -447,7 +447,7 @@
<string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"ड्युटरएनोमली (रातो-हरियो)"</string>
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"प्रोटानेमली (रातो, हरियो)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"ट्रिटानोमेली (निलो-पंहेलो)"</string>
- <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"रङ्गको सुधार"</string>
+ <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"कलर करेक्सन"</string>
<string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"तपाईं रङ सच्याउने सुविधाका सहायताले निम्न कार्य गर्न सक्नुहुन्छ:<br/> <ol> <li>&nbsp;अझ सटीक तरिकाले रङहरू हेर्न</li> <li>&nbsp;फोकस गर्नका लागि रङहरू हटाउन</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> द्वारा अधिरोहित"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"रिसेट गर्नुहोस्"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"हटाउनुहोस्"</string>
<string name="guest_resetting" msgid="7822120170191509566">"अतिथिका रूपमा ब्राउज गर्ने सेसन रिसेट गरिँदै छ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"फोटो खिच्नुहोस्"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"कुनै फोटो छनौट गर्नुहोस्"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"फोटो चयन गर्नुहोस्"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR कोड स्क्यान गर्नुहोस्"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"अडियो सुन्न तलको QR कोडलाई केन्द्र भागमा पार्नुहोस्"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR कोडको फर्म्याट वैध छैन"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 82d5844..2f5313c 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -264,7 +264,7 @@
<string name="adb_wireless_no_network_msg" msgid="2365795244718494658">"Maak verbinding met een wifi-netwerk"</string>
<string name="keywords_adb_wireless" msgid="6507505581882171240">"adb, foutopsporing, ontwikkeling"</string>
<string name="bugreport_in_power" msgid="8664089072534638709">"Snelle link naar bugrapport"</string>
- <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Toon een knop in het aan/uit-menu om een bugrapport te maken"</string>
+ <string name="bugreport_in_power_summary" msgid="1885529649381831775">"Zet een knop in het aan/uit-menu om een bugrapport te maken"</string>
<string name="keep_screen_on" msgid="1187161672348797558">"Stand-by"</string>
<string name="keep_screen_on_summary" msgid="1510731514101925829">"Scherm gaat nooit uit tijdens het opladen"</string>
<string name="bt_hci_snoop_log" msgid="7291287955649081448">"Snoop-logbestand voor bluetooth-HCI aanzetten"</string>
@@ -338,7 +338,7 @@
<string name="verify_apps_over_usb_title" msgid="6031809675604442636">"Apps verifiëren via USB"</string>
<string name="verify_apps_over_usb_summary" msgid="1317933737581167839">"Controleer apps die zijn geïnstalleerd via ADB/ADT op schadelijk gedrag"</string>
<string name="bluetooth_show_devices_without_names_summary" msgid="780964354377854507">"Toon bluetooth-apparaten zonder naam (alleen MAC-adressen)"</string>
- <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"Zet de functie voor absoluut volume van bluetooth uit in geval van volumeproblemen met externe apparaten, zoals een onacceptabel hoog volume of geen volumeregeling."</string>
+ <string name="bluetooth_disable_absolute_volume_summary" msgid="2006309932135547681">"Zet de functie voor absoluut volume van bluetooth uit bij volumeproblemen met externe apparaten, zoals een veel te hoog volume of geen volumeregeling"</string>
<string name="bluetooth_enable_gabeldorsche_summary" msgid="2054730331770712629">"Zet de Gabeldorsche-functiestack voor bluetooth aan."</string>
<string name="enhanced_connectivity_summary" msgid="1576414159820676330">"Hiermee wordt de functie voor verbeterde connectiviteit aangezet."</string>
<string name="enable_terminal_title" msgid="3834790541986303654">"Lokale terminal"</string>
@@ -389,7 +389,7 @@
<string name="enable_gpu_debug_layers" msgid="4986675516188740397">"GPU-foutopsporingslagen aanzetten"</string>
<string name="enable_gpu_debug_layers_summary" msgid="4921521407377170481">"Sta laden van GPU-foutopsporingslagen toe voor foutopsporingsapps"</string>
<string name="enable_verbose_vendor_logging" msgid="1196698788267682072">"Uitgebreide leverancierslogboeken aanzetten"</string>
- <string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"Neem aanvullende apparaatspecifieke leverancierslogboeken op in bugrapporten. Deze kunnen privégegevens bevatten, meer batterijlading gebruiken en/of meer opslagruimte gebruiken."</string>
+ <string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"Neem aanvullende apparaatspecifieke leverancierslogboeken op in bugrapporten. Deze kunnen privégegevens bevatten, meer batterijlading gebruiken en/of meer opslagruimte gebruiken"</string>
<string name="window_animation_scale_title" msgid="5236381298376812508">"Vensteranimatieschaal"</string>
<string name="transition_animation_scale_title" msgid="1278477690695439337">"Overgangsanimatieschaal"</string>
<string name="animator_duration_scale_title" msgid="7082913931326085176">"Duur van animatieschaal"</string>
@@ -405,9 +405,9 @@
<string name="force_allow_on_external" msgid="9187902444231637880">"Toestaan van apps op externe opslag afdwingen"</string>
<string name="force_allow_on_external_summary" msgid="8525425782530728238">"Hiermee komt elke app in aanmerking voor schrijven naar externe opslag, ongeacht de manifestwaarden"</string>
<string name="force_resizable_activities" msgid="7143612144399959606">"Formaat activiteiten geforceerd aanpasbaar maken"</string>
- <string name="force_resizable_activities_summary" msgid="2490382056981583062">"Maak het formaat van alle activiteiten aanpasbaar, ongeacht de manifestwaarden."</string>
+ <string name="force_resizable_activities_summary" msgid="2490382056981583062">"Maak het formaat van alle activiteiten aanpasbaar, ongeacht de manifestwaarden"</string>
<string name="enable_freeform_support" msgid="7599125687603914253">"Vensters met vrije vorm aanzetten"</string>
- <string name="enable_freeform_support_summary" msgid="1822862728719276331">"Zet ondersteuning voor vensters met experimentele vrije vorm aan."</string>
+ <string name="enable_freeform_support_summary" msgid="1822862728719276331">"Zet ondersteuning voor vensters met experimentele vrije vorm aan"</string>
<string name="local_backup_password_title" msgid="4631017948933578709">"Wachtwoord desktopback-up"</string>
<string name="local_backup_password_summary_none" msgid="7646898032616361714">"Volledige back-ups naar desktops zijn momenteel niet beveiligd"</string>
<string name="local_backup_password_summary_change" msgid="1707357670383995567">"Tik om het wachtwoord voor volledige back-ups naar desktops te wijzigen of te verwijderen"</string>
@@ -541,7 +541,7 @@
<string name="alarm_template" msgid="3346777418136233330">"om <xliff:g id="WHEN">%1$s</xliff:g>"</string>
<string name="alarm_template_far" msgid="6382760514842998629">"op <xliff:g id="WHEN">%1$s</xliff:g>"</string>
<string name="zen_mode_duration_settings_title" msgid="1553451650289651489">"Duur"</string>
- <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Vraag altijd"</string>
+ <string name="zen_mode_duration_always_prompt_title" msgid="3212996860498119555">"Altijd vragen"</string>
<string name="zen_mode_forever" msgid="3339224497605461291">"Totdat je uitzet"</string>
<string name="time_unit_just_now" msgid="3006134267292728099">"Zojuist"</string>
<string name="media_transfer_this_device_name" product="default" msgid="2357329267148436433">"Deze telefoon"</string>
@@ -552,7 +552,7 @@
<string name="help_label" msgid="3528360748637781274">"Hulp en feedback"</string>
<string name="storage_category" msgid="2287342585424631813">"Opslag"</string>
<string name="shared_data_title" msgid="1017034836800864953">"Gedeelde gegevens"</string>
- <string name="shared_data_summary" msgid="5516326713822885652">"Gedeelde gegevens bekijken en aanpassen"</string>
+ <string name="shared_data_summary" msgid="5516326713822885652">"Bekijk gedeelde gegevens en pas ze aan"</string>
<string name="shared_data_no_blobs_text" msgid="3108114670341737434">"Er zijn geen gedeelde gegevens voor deze gebruiker."</string>
<string name="shared_data_query_failure_text" msgid="3489828881998773687">"Er is een fout opgetreden bij het ophalen van gedeelde gegevens. Probeer het opnieuw."</string>
<string name="blob_id_text" msgid="8680078988996308061">"ID gedeelde gegevens: <xliff:g id="BLOB_ID">%d</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetten"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Verwijderen"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Gast resetten…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Foto maken"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Afbeelding kiezen"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Foto selecteren"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR-code scannen"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Centreer de onderstaande QR-code om te beginnen met luisteren"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-code heeft geen geldige indeling"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index 128328f..167c69b 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ରିସେଟ୍ କରନ୍ତୁ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"କାଢ଼ି ଦିଅନ୍ତୁ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ଅତିଥି ସେସନକୁ ରିସେଟ୍ କରାଯାଉଛି…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ଗୋଟିଏ ଫଟୋ ଉଠାନ୍ତୁ"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ଏକ ଛବି ବାଛନ୍ତୁ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ଫଟୋ ବାଛନ୍ତୁ"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR କୋଡ ସ୍କାନ କରନ୍ତୁ"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ଶୁଣିବା ଆରମ୍ଭ କରିବା ପାଇଁ, ନିମ୍ନରେ ଥିବା QR କୋଡକୁ କେନ୍ଦ୍ରରେ ରଖନ୍ତୁ"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR କୋଡ ଏକ ବୈଧ ଫର୍ମାଟ ନୁହେଁ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 3beda13..372a36f 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"Protanomaly (ਲਾਲ-ਹਰਾ)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"Tritanomaly (ਨੀਲਾ-ਪੀਲਾ)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"ਰੰਗ ਸੁਧਾਈ"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"ਜਦੋਂ ਤੁਸੀਂ ਇਹ ਕੰਮ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਰੰਗ ਸੁਧਾਈ ਲਾਹੇਵੰਦ ਹੋ ਸਕਦੀ ਹੈ:<br/> <ol> <li>&nbsp;ਰੰਗਾਂ ਨੂੰ ਹੋਰ ਸਹੀ ਢੰਗ ਨਾਲ ਦੇਖਣਾ</li> <li>&nbsp;ਫੋਕਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਲਈ ਰੰਗ ਹਟਾਉਣਾ</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"ਰੰਗ ਸੁਧਾਈ ਉਦੋਂ ਲਾਹੇਵੰਦ ਹੋ ਸਕਦੀ ਹੈ, ਜਦੋਂ ਤੁਸੀਂ:<br/> <ol> <li>&nbsp;ਰੰਗਾਂ ਨੂੰ ਹੋਰ ਸਹੀ ਢੰਗ ਨਾਲ ਦੇਖਣਾ ਚਾਹੋ</li> <li>&nbsp;ਫੋਕਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਲਈ ਰੰਗ ਹਟਾਉਣਾ ਚਾਹੋ</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> ਦੁਆਰਾ ਓਵਰਰਾਈਡ ਕੀਤਾ"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"ਲਗਭਗ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ਬਾਕੀ"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ਰੀਸੈੱਟ ਕਰੋ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ਹਟਾਓ"</string>
<string name="guest_resetting" msgid="7822120170191509566">"ਮਹਿਮਾਨ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ਇੱਕ ਫ਼ੋਟੋ ਖਿੱਚੋ"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ਕੋਈ ਚਿੱਤਰ ਚੁਣੋ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ਫ਼ੋਟੋ ਚੁਣੋ"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR ਕੋਡ ਸਕੈਨ ਕਰੋ"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ਸੁਣਨਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੇ QR ਕੋਡ ਨੂੰ ਕੇਂਦਰ ਵਿੱਚ ਰੱਖੋ"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR ਕੋਡ ਦਾ ਫਾਰਮੈਟ ਵੈਧ ਨਹੀਂ ਹੈ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index e8fa3ae..2ce250a 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetuj"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Usuń"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Resetuję sesję gościa…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Zrób zdjęcie"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Wybierz obraz"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Wybierz zdjęcie"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skaner kodów QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Aby odsłuchać, wyśrodkuj kod QR poniżej"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Nieprawidłowy format kodu QR"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index 7f923be..db04473 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Redefinir"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remover"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Redefinindo visitante…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tirar uma foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Escolher uma imagem"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Selecionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Ler o código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para começar a ouvir, centralize o código QR abaixo"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"O código QR não está em um formato válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index beecbab..25eb62c 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Repor"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remover"</string>
<string name="guest_resetting" msgid="7822120170191509566">"A repor o convidado…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tirar uma foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Escolher uma imagem"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Selecionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Leia o código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para começar a ouvir, centre o código QR abaixo"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"O código QR não é um formato válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index 7f923be..db04473 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Redefinir"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Remover"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Redefinindo visitante…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Tirar uma foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Escolher uma imagem"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Selecionar foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Ler o código QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para começar a ouvir, centralize o código QR abaixo"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"O código QR não está em um formato válido"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 1a0902f..a2e2670 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetați"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Eliminați"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Se resetează invitatul…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Faceți o fotografie"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Alegeți o imagine"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Selectați fotografia"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Scanați codul QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Pentru a începe să ascultați, centrați codul QR de mai jos"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Codul QR nu are un format valid"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 8c2f78c..cfb6c6a 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Сбросить"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Удалить"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Сброс гостевого сеанса…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Сделать снимок"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Выбрать фото"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Выбрать фотографию"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Сканирование QR-кода"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Чтобы прослушать, поместите QR-код в центр"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Недопустимый формат QR-кода"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index d9f08f2..c4a2da4 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"යළි සකසන්න"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ඉවත් කරන්න"</string>
<string name="guest_resetting" msgid="7822120170191509566">"අමුත්තා යළි සකසමින්…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ඡායාරූපයක් ගන්න"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"රූපයක් තෝරන්න"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ඡායාරූපය තෝරන්න"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR කේතය ස්කෑන් කරන්න"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"සවන් දීම ආරම්භ කිරීමට, පහත QR කේතය මධ්යගත කරන්න"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR කේතය වලංගු ආකෘතියක් නොවේ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index ac6f38d..e9eb3a3 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Resetovať"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Odstrániť"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Relácia hosťa sa resetuje…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Odfotiť"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Vybrať obrázok"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Vybrať fotku"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Naskenovanie QR kódu"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Ak chcete začať počúvať, umiestnite QR kód do stredu nižšie"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kód nie je platný formát"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 9746320..e6645c4 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Ponastavi"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Odstrani"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Ponastavljanje gosta …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fotografiranje"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Izberi sliko"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Izbira fotografije"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Optično branje kode QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Če želite začeti poslušati, postavite spodnjo kodo QR na sredino."</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Koda QR nima pravilne oblike zapisa."</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index 5e7ca02..21d21e4 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Rivendos"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Hiq"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Vizitori po rivendoset…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Bëj një fotografi"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Zgjidh një imazh"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Zgjidh një fotografi"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skano kodin QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Që të fillosh të dëgjosh, vendos në qendër kodin QR më poshtë"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Kodi QR nuk është në format të vlefshëm"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 7cda371..1607adf 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Ресетуј"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Уклони"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Сесија госта се ресетује…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Сликај"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Одабери слику"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Изаберите слику"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Скенирајте QR кôд"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Да бисте почели да слушате, центрирајте QR кôд испод"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR кôд није у важећем формату"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index 2715029..72d13cc 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Återställ"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Ta bort"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Gästsessionen återställs …"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Ta ett foto"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Välj en bild"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Välj foto"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skanna QR-kod"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Centrera QR-koden nedan om du vill börja lyssna"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR-kodens format är ogiltigt"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index 0da048c..b24fc40 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Badilisha"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Ondoa"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Inabadilisha kipindi cha mgeni…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Piga picha"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Chagua picha"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Chagua picha"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Changanua msimbo wa QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Ili uanze kusikiliza, weka katikati msimbo wa QR ulio hapa chini"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Msimbo wa QR si muundo sahihi"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index 99cfc8d..d792650 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -447,7 +447,7 @@
<string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"நிறம் அடையாளங்காண முடியாமை (சிவப்பு-பச்சை)"</string>
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"நிறம் அடையாளங்காண முடியாமை (சிவப்பு-பச்சை)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"நிறம் அடையாளங்காண முடியாமை (நீலம்-மஞ்சள்)"</string>
- <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"வண்ணத்திருத்தம்"</string>
+ <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"கலர் கரெக்ஷன்"</string>
<string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"நீங்கள் இவற்றைச் செய்ய விரும்பும்போது கலர் கரெக்ஷன் உதவும்:<br/> <ol> <li>&nbsp;வண்ணங்களை மிகத் துல்லியமாகப் பார்த்தல்</li> <li>&nbsp;கவனம் செலுத்துவதற்கு உதவ வண்ணங்களை அகற்றுதல்</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> மூலம் மேலெழுதப்பட்டது"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"மீட்டமை"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"அகற்று"</string>
<string name="guest_resetting" msgid="7822120170191509566">"கெஸ்ட்டை மீட்டமைக்கிறது…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"படமெடுங்கள்"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"படத்தைத் தேர்வுசெய்யுங்கள்"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"படத்தைத் தேர்ந்தெடுங்கள்"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR குறியீட்டை ஸ்கேன் செய்யுங்கள்"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ஆடியோவைக் கேட்க, கீழுள்ள QR குறியீட்டை மையப்படுத்திக் காட்டுங்கள்"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR குறியீடு சரியான வடிவமைப்பில் இல்லை"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index cf237de..591c095 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -447,7 +447,7 @@
<string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"డ్యూటెరానోమలీ (ఎరుపు-ఆకుపచ్చ)"</string>
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"ప్రొటానోమలీ (ఎరుపు-ఆకుపచ్చ రంగు)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"ట్రైటనోమలీ (నీలం-పసుపు రంగు)"</string>
- <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"కలర్ సరిచేయడం"</string>
+ <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"కలర్ కరెక్షన్"</string>
<string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"మీరు కింది వాటిని చేయాలనుకున్నప్పుడు కలర్ కరెక్షన్ సహాయకరంగా ఉంటుంది:<br/> <ol> <li>&nbsp;రంగులను మరింత ఖచ్చితంగా చూడండి</li> <li>&nbsp;మీరు ఫోకస్ చేయడంలో సహాయపడటానికి రంగులను తీసివేయండి</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"<xliff:g id="TITLE">%1$s</xliff:g> ద్వారా భర్తీ చేయబడింది"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"రీసెట్ చేయండి"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"తీసివేయండి"</string>
<string name="guest_resetting" msgid="7822120170191509566">"గెస్ట్ సెషన్ను రీసెట్ చేస్తోంది…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ఒక ఫోటో తీయండి"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ఇమేజ్ను ఎంచుకోండి"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"ఫోటోను ఎంచుకోండి"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR కోడ్ను స్కాన్ చేయండి"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"వినడం ప్రారంభించడానికి, కింద ఉన్న QR కోడ్ను మధ్యలో ఉంచండి"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR కోడ్ చెల్లుబాటు అయ్యే ఫార్మాట్లో లేదు"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index 0b54823..62598d8 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"ตาบอดจางสีแดง (สีแดง/เขียว)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"ตาบอดจางสีน้ำเงิน (สีน้ำเงิน/เหลือง)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"การแก้สี"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"การแก้สีจะเป็นประโยชน์เมื่อคุณต้องการดังนี้<br/> <ol> <li>&nbsp;เห็นสีได้ถูกต้องยิ่งขึ้น</li> <li>&nbsp;นำสีออกเพื่อช่วยให้เห็นชัดเจนยิ่งขึ้น</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"การแก้สีจะเป็นประโยชน์เมื่อคุณต้องการที่จะ<br/> <ol> <li>&nbsp;มองเห็นสีได้ถูกต้องยิ่งขึ้น</li> <li>&nbsp;นำสีออกเพื่อช่วยให้เห็นชัดเจนยิ่งขึ้น</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"แทนที่โดย <xliff:g id="TITLE">%1$s</xliff:g>"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"เหลืออีกประมาณ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"รีเซ็ต"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"นำออก"</string>
<string name="guest_resetting" msgid="7822120170191509566">"กำลังรีเซ็ตผู้เข้าร่วม…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ถ่ายรูป"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"เลือกรูปภาพ"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"เลือกรูปภาพ"</string>
@@ -652,10 +682,15 @@
<string name="turn_screen_on_title" msgid="3266937298097573424">"เปิดหน้าจอ"</string>
<string name="allow_turn_screen_on" msgid="6194845766392742639">"อนุญาตให้เปิดหน้าจอ"</string>
<string name="allow_turn_screen_on_description" msgid="43834403291575164">"อนุญาตให้แอปเปิดหน้าจอ หากอนุญาต แอปอาจเปิดหน้าจอได้ทุกเมื่อแม้คุณไม่ได้ระบุเจตนาที่ชัดแจ้ง"</string>
- <!-- no translation found for bt_le_audio_scan_qr_code (3521809854780392679) -->
+ <string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"สแกนคิวอาร์โค้ด"</string>
+ <string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"ถือให้คิวอาร์โค้ดอยู่กลางช่องด้านล่างเพื่อเริ่มฟัง"</string>
+ <string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"คิวอาร์โค้ดมีรูปแบบไม่ถูกต้อง"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
<skip />
- <!-- no translation found for bt_le_audio_scan_qr_code_scanner (4679500020630341107) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
<skip />
- <!-- no translation found for bt_le_audio_qr_code_is_not_valid_format (6092191081849434734) -->
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
<skip />
</resources>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index 4cb3048..ad9b582 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"I-reset"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Alisin"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Nire-reset ang bisita…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Kumuha ng larawan"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Pumili ng larawan"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Pumili ng larawan"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"I-scan ang QR code"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Para simulang makinig, igitna ang QR code sa ibaba"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Hindi valid na format ang QR code"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index 0a20d9f6..57e66d4 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Sıfırla"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Kaldır"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Misafir oturumu sıfırlanıyor…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Fotoğraf çek"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Resim seç"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Fotoğraf seç"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR kodunu tara"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Dinlemeye başlamak için aşağıdaki QR kodunu ortalayın"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR kodu geçerli bir biçim değil"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index a6f828e..1c85dfd 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Скинути"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Вилучити"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Скидання сеансу в режимі \"Гість\"…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Зробити фотографію"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Вибрати зображення"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Вибрати фотографію"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Сканування QR-коду"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Щоб почати слухати аудіо, наведіть камеру на QR-код нижче"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Недійсний формат QR-коду"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index c09202e..e772457 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"ری سیٹ کریں"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"ہٹائیں"</string>
<string name="guest_resetting" msgid="7822120170191509566">"مہمان کو ری سیٹ کرنا…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"ایک تصویر لیں"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"ایک تصویر منتخب کریں"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"تصویر منتخب کریں"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR کوڈ اسکین کریں"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"سننا شروع کرنے کے لیے، نیچے کے QR کوڈ کو سینٹر میں رکھیں"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR کوڈ درست فارمیٹ نہیں ہے"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index c26b9ce..1c49f1d 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Tiklash"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Olib tashlash"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Mehmon seansi tiklanmoqda…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Suratga olish"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Rasm tanlash"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Surat tanlash"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"QR kodni skanerlash"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Tinglashni boshlash uchun quyidagi QR kodni markazga joylang"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR xato formatda"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index a9e99b2..d2cdb1e 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Đặt lại"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Xoá"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Đang đặt lại phiên khách…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Chụp ảnh"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Chọn một hình ảnh"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Chọn ảnh"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Quét mã QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Để bắt đầu nghe, hãy hướng máy ảnh vào mã QR bên dưới và căn sao cho mã nằm chính giữa"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Định dạng của mã QR là không hợp lệ"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index dcc3a20..115a118 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"重置"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"移除"</string>
<string name="guest_resetting" msgid="7822120170191509566">"正在重置访客会话…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"拍摄照片"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"选择图片"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"选择照片"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"扫描二维码"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"将扫描器对准下方二维码,即可开始收听"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"二维码的格式无效"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index a36e4e3..7b6921c 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -448,7 +448,7 @@
<string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"紅色弱視 (紅綠)"</string>
<string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"藍色弱視 (藍黃)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"色彩校正"</string>
- <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"色彩校正喺以下情況下適用:<br/> <ol> <li>&nbsp;睇到更加準確嘅顏色</li> <li>&nbsp;移除色彩嚟提高專注力</li> </ol>"</string>
+ <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"「色彩校正」功能適用於以下情況::<br/> <ol> <li>&nbsp;您想讓裝置顯示更準確的色彩</li> <li>&nbsp;您想移除色彩以提高專注力</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"已由「<xliff:g id="TITLE">%1$s</xliff:g>」覆寫"</string>
<string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
<string name="power_remaining_duration_only" msgid="8264199158671531431">"還有大約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"重設"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"移除"</string>
<string name="guest_resetting" msgid="7822120170191509566">"正在重設訪客…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"拍照"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"選擇圖片"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"揀相"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"掃瞄 QR 碼"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"如要開始收聽,請將掃瞄器對準下方的 QR 碼"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR 碼格式無效"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index 78ac9d9..36ebb24 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -444,9 +444,9 @@
<string name="picture_color_mode_desc" msgid="151780973768136200">"使用 sRGB"</string>
<string name="daltonizer_mode_disabled" msgid="403424372812399228">"已停用"</string>
<string name="daltonizer_mode_monochromacy" msgid="362060873835885014">"全色盲"</string>
- <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"綠色弱視 (紅-綠)"</string>
- <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"紅色弱視 (紅-綠)"</string>
- <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"藍色弱視 (藍-黃)"</string>
+ <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"綠色弱 (紅綠)"</string>
+ <string name="daltonizer_mode_protanomaly" msgid="7805583306666608440">"紅色弱 (紅綠)"</string>
+ <string name="daltonizer_mode_tritanomaly" msgid="7135266249220732267">"藍色弱視 (藍黃)"</string>
<string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"色彩校正"</string>
<string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"「色彩校正」功能適用於以下情況:<br/> <ol> <li>&nbsp;你想讓裝置顯示更準確的色彩</li> <li>&nbsp;你想移除色彩以提升專注力</li> </ol>"</string>
<string name="daltonizer_type_overridden" msgid="4509604753672535721">"已改為<xliff:g id="TITLE">%1$s</xliff:g>"</string>
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"重設"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"移除"</string>
<string name="guest_resetting" msgid="7822120170191509566">"正在重設訪客…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"拍照"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"選擇圖片"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"選取相片"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"掃描 QR 圖碼"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"如要開始收聽,請將掃描器對準下方的 QR 圖碼"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"QR 圖碼格式無效"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 2e0665c..67625e4 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -598,6 +598,36 @@
<string name="guest_reset_guest_confirm_button" msgid="2989915693215617237">"Setha kabusha"</string>
<string name="guest_remove_guest_confirm_button" msgid="7858123434954143879">"Susa"</string>
<string name="guest_resetting" msgid="7822120170191509566">"Ukusetha kabusha isimenywa…"</string>
+ <!-- no translation found for guest_reset_and_restart_dialog_title (3396657008451616041) -->
+ <skip />
+ <!-- no translation found for guest_reset_and_restart_dialog_message (2764425635305200790) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title (1846494656849381804) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message (1743218864242719783) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_button (1736401897067442044) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_title_non_ephemeral (7675327443743162986) -->
+ <skip />
+ <!-- no translation found for guest_exit_dialog_message_non_ephemeral (223385323235719442) -->
+ <skip />
+ <!-- no translation found for guest_exit_clear_data_button (3425812652180679014) -->
+ <skip />
+ <!-- no translation found for guest_exit_save_data_button (3690974510644963547) -->
+ <skip />
+ <!-- no translation found for guest_exit_button (5774985819191803960) -->
+ <skip />
+ <!-- no translation found for guest_reset_button (2515069346223503479) -->
+ <skip />
+ <!-- no translation found for guest_exit_quick_settings_button (1912362095913765471) -->
+ <skip />
+ <!-- no translation found for guest_notification_ephemeral (7263252466950923871) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral (6843799963012259330) -->
+ <skip />
+ <!-- no translation found for guest_notification_non_ephemeral_non_first_login (8009307983766934876) -->
+ <skip />
<string name="user_image_take_photo" msgid="467512954561638530">"Thatha isithombe"</string>
<string name="user_image_choose_photo" msgid="1363820919146782908">"Khetha isithombe"</string>
<string name="user_image_photo_selector" msgid="433658323306627093">"Khetha isithombe"</string>
@@ -655,4 +685,12 @@
<string name="bt_le_audio_scan_qr_code" msgid="3521809854780392679">"Skena ikhodi ye-QR"</string>
<string name="bt_le_audio_scan_qr_code_scanner" msgid="4679500020630341107">"Ukuze uqale ukulalela, beka ikhodi ye-QR ngezansi"</string>
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="6092191081849434734">"Ikhodi ye-QR ayiyona ifomethi evumelekile"</string>
+ <!-- no translation found for bt_le_audio_broadcast_dialog_title (5392738488989777074) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_sub_title (268234802198852753) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_switch_app (5749813313369517812) -->
+ <skip />
+ <!-- no translation found for bt_le_audio_broadcast_dialog_different_output (2638402023060391333) -->
+ <skip />
</resources>
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
index 94d90a8..91d7388 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java
@@ -176,6 +176,10 @@
return this;
}
+ public boolean isEmpty() {
+ return getUserIcon() == null && getUserDrawable() == null;
+ }
+
public UserIconDrawable setBadge(Drawable badge) {
mBadge = badge;
if (mBadge != null) {
diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
index 84b018b..75068cb 100644
--- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
+++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java
@@ -87,6 +87,8 @@
Global.EMERGENCY_TONE, new DiscreteValueValidator(new String[] {"0", "1", "2"}));
VALIDATORS.put(Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS,
NON_NEGATIVE_INTEGER_VALIDATOR);
+ VALIDATORS.put(Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
+ NON_NEGATIVE_INTEGER_VALIDATOR);
VALIDATORS.put(Global.CALL_AUTO_RETRY, BOOLEAN_VALIDATOR);
VALIDATORS.put(Global.DOCK_AUDIO_MEDIA_ENABLED, BOOLEAN_VALIDATOR);
VALIDATORS.put(
diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
index 4cdbba7..f06e349 100644
--- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
+++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java
@@ -257,6 +257,7 @@
Settings.Global.DROPBOX_TAG_PREFIX,
Settings.Global.EMERGENCY_AFFORDANCE_NEEDED,
Settings.Global.EMERGENCY_GESTURE_POWER_BUTTON_COOLDOWN_PERIOD_MS,
+ Settings.Global.EMERGENCY_GESTURE_TAP_DETECTION_MIN_TIME_MS,
Settings.Global.EMULATE_DISPLAY_CUTOUT,
Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED,
Settings.Global.ENABLE_CACHE_QUOTA_CALCULATION,
diff --git a/packages/SimAppDialog/res/values-ne/strings.xml b/packages/SimAppDialog/res/values-ne/strings.xml
index ee69e4c..9bfe57c 100644
--- a/packages/SimAppDialog/res/values-ne/strings.xml
+++ b/packages/SimAppDialog/res/values-ne/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="app_name" msgid="8898068901680117589">"सिम एपको डायलग"</string>
- <string name="install_carrier_app_title" msgid="334729104862562585">"मोबाइल सेवा सक्रिय गर्नुहोस्"</string>
+ <string name="install_carrier_app_title" msgid="334729104862562585">"मोबाइल सेवा अन गर्नुहोस्"</string>
<string name="install_carrier_app_description" msgid="4014303558674923797">"तपाईंको नयाँ SIM ले राम्रोसँग काम गर्न तपाईंले <xliff:g id="ID_1">%1$s</xliff:g> एप इन्स्टल गर्नु पर्ने हुन्छ"</string>
<string name="install_carrier_app_description_default" msgid="7356830245205847840">"तपाईंको नयाँ SIM ले राम्रोसँग काम गर्न तपाईंले आफ्नो सेवा प्रदायकको एप इन्स्टल गर्नु पर्ने हुन्छ"</string>
<string name="install_carrier_app_defer_action" msgid="2558576736886876209">"अहिले होइन"</string>
diff --git a/packages/SystemUI/res-keyguard/values-as/strings.xml b/packages/SystemUI/res-keyguard/values-as/strings.xml
index a59d4c9..186f47a 100644
--- a/packages/SystemUI/res-keyguard/values-as/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-as/strings.xml
@@ -80,7 +80,7 @@
<string name="kg_password_pin_failed" msgid="5136259126330604009">"ছিম পিনৰ জৰিয়তে আনলক কৰিব পৰা নগ\'ল!"</string>
<string name="kg_password_puk_failed" msgid="6778867411556937118">"ছিম PUKৰ জৰিয়তে আনলক কৰিব পৰা নগ\'ল!"</string>
<string name="accessibility_ime_switch_button" msgid="9082358310194861329">"ইনপুট পদ্ধতি সলনি কৰক"</string>
- <string name="airplane_mode" msgid="2528005343938497866">"এয়াৰপ্লেন ম\'ড"</string>
+ <string name="airplane_mode" msgid="2528005343938497866">"এয়াৰপ্লে’ন ম’ড"</string>
<string name="kg_prompt_reason_restart_pattern" msgid="4720554342633852066">"ডিভাইচ ৰিষ্টাৰ্ট হোৱাৰ পিছত আৰ্হি দিয়াটো বাধ্যতামূলক"</string>
<string name="kg_prompt_reason_restart_pin" msgid="1587671566498057656">"ডিভাইচ ৰিষ্টাৰ্ট হোৱাৰ পিছত পিন দিয়াটো বাধ্যতামূলক"</string>
<string name="kg_prompt_reason_restart_password" msgid="8061279087240952002">"ডিভাইচ ৰিষ্টাৰ্ট হোৱাৰ পিছত পাছৱৰ্ড দিয়াটো বাধ্যতামূলক"</string>
diff --git a/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml b/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml
index ca8554c..9694999 100644
--- a/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml
@@ -22,6 +22,6 @@
<!-- Overload default clock widget parameters -->
<dimen name="widget_big_font_size">88dp</dimen>
- <dimen name="qs_panel_padding_top">@dimen/qqs_layout_margin_top</dimen>
+ <dimen name="qs_panel_padding_top">16dp</dimen>
</resources>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/overlay_button_background.xml b/packages/SystemUI/res/drawable/overlay_button_background.xml
index 0e8438c..c045048 100644
--- a/packages/SystemUI/res/drawable/overlay_button_background.xml
+++ b/packages/SystemUI/res/drawable/overlay_button_background.xml
@@ -18,7 +18,7 @@
(clipboard text editor, long screenshots) -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
- android:color="?android:textColorPrimary">
+ android:color="@color/overlay_button_ripple">
<item android:id="@android:id/background">
<inset android:insetTop="4dp" android:insetBottom="4dp">
<shape android:shape="rectangle">
diff --git a/packages/SystemUI/res/layout/fgs_manager_app_item.xml b/packages/SystemUI/res/layout/fgs_manager_app_item.xml
index d034f4e..30bce9d 100644
--- a/packages/SystemUI/res/layout/fgs_manager_app_item.xml
+++ b/packages/SystemUI/res/layout/fgs_manager_app_item.xml
@@ -26,7 +26,7 @@
android:id="@+id/fgs_manager_app_item_icon"
android:layout_width="28dp"
android:layout_height="28dp"
- android:layout_marginRight="12dp" />
+ android:layout_marginEnd="12dp" />
<LinearLayout
android:layout_width="0dp"
@@ -38,7 +38,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
- style="@style/TextAppearance.Dialog.Body" />
+ style="@style/FgsManagerAppLabel" />
<TextView
android:id="@+id/fgs_manager_app_item_duration"
android:layout_width="match_parent"
@@ -52,6 +52,6 @@
android:layout_width="wrap_content"
android:layout_height="48dp"
android:text="@string/fgs_manager_app_item_stop_button_label"
- android:layout_marginLeft="12dp"
+ android:layout_marginStart="12dp"
style="?android:attr/buttonBarNeutralButtonStyle" />
</LinearLayout>
diff --git a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
index 2c29f07..2fb6d6c 100644
--- a/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
+++ b/packages/SystemUI/res/layout/quick_status_bar_expanded_header.xml
@@ -55,7 +55,7 @@
android:clipChildren="false"
android:clipToPadding="false"
android:focusable="true"
- android:paddingBottom="24dp"
+ android:paddingBottom="@dimen/qqs_layout_padding_bottom"
android:importantForAccessibility="yes">
</com.android.systemui.qs.QuickQSPanel>
</RelativeLayout>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 8007001..fc299a4 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Gesig is gestaaf"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bevestig"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tik op Bevestig om te voltooi"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Ontsluit met gesig. Druk die ontsluitikoon om voort te gaan."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Gestaaf"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Gebruik PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Gebruik patroon"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Tik weer om oop te maak"</string>
<string name="tap_again" msgid="1315420114387908655">"Tik weer"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Swiep op om oop te maak"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Druk die onsluitikoon om oop te maak"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ontsluit met gesig. Druk die ontsluitikoon om oop te maak."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Swiep op om weer te probeer"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Ontsluit om NFC te gebruik"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Hierdie toestel behoort aan jou organisasie"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Wiil jy jou sessie voortsit?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Begin van voor af"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, gaan voort"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Voeg nuwe gebruiker by?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Wanneer jy \'n nuwe gebruiker byvoeg, moet daardie persoon hul spasie opstel.\n\nEnige gebruiker kan programme vir al die ander gebruikers opdateer."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Gebruikerlimiet is bereik"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Jy kan tot <xliff:g id="COUNT">%d</xliff:g> gebruikers byvoeg.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Onderbreek"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Vorige snit"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Volgende snit"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Speel"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Maak <xliff:g id="APP_LABEL">%1$s</xliff:g> oop"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Speel <xliff:g id="SONG_NAME">%1$s</xliff:g> deur <xliff:g id="ARTIST_NAME">%2$s</xliff:g> vanaf <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index c6762d3..0194422 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"መልክ ተረጋግጧል"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ተረጋግጧል"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"ለማጠናቀቅ አረጋግጥን መታ ያድርጉ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"በመልክ ተከፍቷል። ለመቀጠል የመክፈቻ አዶውን ይጫኑ።"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"የተረጋገጠ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ፒን ይጠቀሙ"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ሥርዓተ ጥለትን ተጠቀም"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ለመክፈት ዳግም መታ ያድርጉ"</string>
<string name="tap_again" msgid="1315420114387908655">"እንደገና መታ ያድርጉ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ለመክፈት በጣት ወደ ላይ ጠረግ ያድርጉ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ለመክፈት የመክፈቻ አዶውን ይጫኑ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"በመልክ ተከፍቷል። ለመክፈት የመክፈቻ አዶውን ይጫኑ።"</string>
<string name="keyguard_retry" msgid="886802522584053523">"እንደገና ለመሞከር ወደ ላይ ይጥረጉ"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFCን ለመጠቀም ይክፈቱ"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ይህ መሣሪያ የድርጅትዎ ነው"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ክፍለ-ጊዜዎን መቀጠል ይፈልጋሉ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"እንደገና ጀምር"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"አዎ፣ ቀጥል"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"አዲስ ተጠቃሚ ይታከል?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"እርስዎ አንድ አዲስ ተጠቃሚ ሲያክሉ ያ ሰው የራሱ ቦታ ማዘጋጀት አለበት።\n\nማንኛውም ተጠቃሚ መተግበሪያዎችን ለሌሎች ተጠቃሚዎች ሁሉ ሊያዘምን ይችላል።"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"የተጠቃሚ ገደብ ላይ ተደርሷል"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ተጠቃሚዎች ብቻ ናቸው ሊፈጠሩ የሚችሉት።</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ላፍታ አቁም"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ቀዳሚ ትራክ"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ቀጣይ ትራክ"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"አጫውት"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ክፈት"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g> በ<xliff:g id="ARTIST_NAME">%2$s</xliff:g> ከ<xliff:g id="APP_LABEL">%3$s</xliff:g> ያጫውቱ"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 932061e..9a3c052 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"تمّت مصادقة الوجه."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"تمّ التأكيد."</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"يمكنك النقر على \"تأكيد\" لإكمال المهمة."</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"فُتح القفل عندما تمّ التعرّف على وجهك. للمتابعة، اضغط على رمز فتح القفل."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"مصادقة"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"استخدام رقم تعريف شخصي"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"استخدام نقش"</string>
@@ -319,10 +318,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"انقر مرة أخرى للفتح"</string>
<string name="tap_again" msgid="1315420114387908655">"انقر مرة أخرى"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"يمكنك الفتح بالتمرير سريعًا لأعلى."</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"اضغط على رمز فتح القفل لفتح قفل الشاشة."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"فُتح القفل عندما تمّ التعرّف على وجهك. اضغط على رمز فتح القفل لفتحه."</string>
<string name="keyguard_retry" msgid="886802522584053523">"مرِّر سريعًا للأعلى لإعادة المحاولة."</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"افتح قفل الشاشة لاستخدام تقنية NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"هذا الجهاز يخص مؤسستك."</string>
@@ -349,6 +346,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"هل تريد متابعة جلستك؟"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"البدء من جديد"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"نعم، متابعة"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"هل تريد إضافة مستخدم جديد؟"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"عند إضافة مستخدم جديد، عليه إعداد مساحته.\n\nويُمكن لأي مستخدم تحديث التطبيقات لجميع المستخدمين الآخرين."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"تم الوصول إلى أقصى عدد للمستخدمين"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="zero">يمكنك إضافة ما يصل إلى <xliff:g id="COUNT">%d</xliff:g> مستخدم.</item>
@@ -832,6 +837,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"إيقاف مؤقت"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"المقطع الصوتي السابق"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"المقطع الصوتي التالي"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"تشغيل"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"فتح <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"تشغيل <xliff:g id="SONG_NAME">%1$s</xliff:g> للفنان <xliff:g id="ARTIST_NAME">%2$s</xliff:g> من تطبيق <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 316a452..d61cce3 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -26,7 +26,7 @@
<string name="battery_low_percent_format" msgid="4276661262843170964">"<xliff:g id="PERCENTAGE">%s</xliff:g> বাকী আছে"</string>
<string name="invalid_charger_title" msgid="938685362320735167">"ইউএছবি জৰিয়তে চ্চাৰ্জ কৰিব নোৱাৰি"</string>
<string name="invalid_charger_text" msgid="2339310107232691577">"আপোনাৰ ডিভাইচৰ লগত পোৱা চ্চাৰ্জাৰটো ব্যৱহাৰ কৰক।"</string>
- <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"বেটাৰী সঞ্চয়কাৰী অন কৰেনে?"</string>
+ <string name="battery_saver_confirmation_title" msgid="1234998463717398453">"বেটাৰী সঞ্চয়কাৰী অন কৰিবনে?"</string>
<string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"বেটাৰী সঞ্চয়কাৰীৰ বিষয়ে"</string>
<string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"অন কৰক"</string>
<string name="battery_saver_start_action" msgid="8353766979886287140">"অন কৰক"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"মুখমণ্ডলৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰা হ’ল"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"নিশ্চিত কৰিলে"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"সম্পূৰ্ণ কৰিবলৈ নিশ্চিত কৰক-ত টিপক"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"মুখাৱয়বৰ জৰিয়তে আনলক কৰা হৈছে। অব্যাহত ৰাখিবলৈ আনলক কৰক চিহ্নটোত টিপক।"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰা হ’ল"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"পিন ব্যৱহাৰ কৰক"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"আৰ্হি ব্যৱহাৰ কৰক"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"খুলিবলৈ পুনৰাই টিপক"</string>
<string name="tap_again" msgid="1315420114387908655">"পুনৰ টিপক"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"খুলিবলৈ ওপৰলৈ ছোৱাইপ কৰক"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"খুলিবলৈ আনলক কৰক চিহ্নটোত টিপক"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"মুখাৱয়বৰ জৰিয়তে আনলক কৰা হৈছে। খুলিবলৈ আনলক কৰক চিহ্নটোত টিপক।"</string>
<string name="keyguard_retry" msgid="886802522584053523">"পুনৰ চেষ্টা কৰিবলৈ ওপৰলৈ ছোৱাইপ কৰক"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ব্যৱহাৰ কৰিবলৈ আনলক কৰক"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"এই ডিভাইচটো আপোনাৰ প্ৰতিষ্ঠানৰ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"আপুনি আপোনাৰ ছেশ্বন অব্যাহত ৰাখিব বিচাৰেনে?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"আকৌ আৰম্ভ কৰক"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"হয়, অব্যাহত ৰাখক"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"নতুন ব্যৱহাৰকাৰী যোগ কৰিবনে?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"আপুনি যেতিয়া এজন নতুন ব্যৱহাৰকাৰী যোগ কৰে, তেওঁ নিজৰ স্থান ছেট আপ কৰা প্ৰয়োজন।\n\nযিকোনো ব্যৱহাৰকাৰীয়ে নিজৰ লগতে আন ব্যৱহাৰকাৰীৰো এপ্ আপডে’ট কৰিব পাৰে।"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"অধিকতম ব্যৱহাৰকাৰী সৃষ্টি কৰা হ’ল"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">আপুনি <xliff:g id="COUNT">%d</xliff:g> জনলৈকে ব্যৱহাৰকাৰী যোগ কৰিব পাৰে।</item>
@@ -468,7 +473,7 @@
<string name="wallet_lockscreen_settings_label" msgid="3539105300870383570">"লক স্ক্ৰীনৰ ছেটিং"</string>
<string name="qr_code_scanner_title" msgid="5290201053875420785">"কিউআৰ ক’ড স্কেন কৰক"</string>
<string name="status_bar_work" msgid="5238641949837091056">"কৰ্মস্থানৰ প্ৰ\'ফাইল"</string>
- <string name="status_bar_airplane" msgid="4848702508684541009">"এয়াৰপ্লেইন ম\'ড"</string>
+ <string name="status_bar_airplane" msgid="4848702508684541009">"এয়াৰপ্লে’ন ম’ড"</string>
<string name="zen_alarm_warning" msgid="7844303238486849503">"আপুনি আপোনাৰ পিছৰটো এলাৰ্ম <xliff:g id="WHEN">%1$s</xliff:g> বজাত শুনা নাপাব"</string>
<string name="alarm_template" msgid="2234991538018805736">"<xliff:g id="WHEN">%1$s</xliff:g> বজাত"</string>
<string name="alarm_template_far" msgid="3561752195856839456">"<xliff:g id="WHEN">%1$s</xliff:g> বজাত"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"পজ কৰক"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"পূৰ্বৱৰ্তী ট্ৰেক"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"পৰৱৰ্তী ট্ৰেক"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"প্লে’ কৰক"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> খোলক"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g>ত <xliff:g id="ARTIST_NAME">%2$s</xliff:g>ৰ <xliff:g id="SONG_NAME">%1$s</xliff:g> গীতটো প্লে’ কৰক"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index 44f4117..41e17cf 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Üz doğrulandı"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Təsdiqləndi"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tamamlamaq üçün \"Təsdiq edin\" seçiminə toxunun"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Üzlə kilidi açılıb. \"Kilidi aç\" ikonasına basıb davam edin."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Doğrulandı"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN istifadə edin"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Model istifadə edin"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Açmaq üçün yenidən tıklayın"</string>
<string name="tap_again" msgid="1315420114387908655">"Yenidən toxunun"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Açmaq üçün yuxarı sürüşdürün"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"\"Kilidi aç\" ikonasına basıb açın"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Üzlə kilidi açılıb. \"Kilidi aç\" ikonasına basıb açın."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Yenidən cəhd etmək üçün yuxarı sürüşdürün"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC istifadə etmək üçün kiliddən çıxarın"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Bu cihaz təşkilatınıza məxsusdur"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Sessiya davam etsin?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Yenidən başlayın"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Bəli, davam edin"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Yeni istifadəçi əlavə edilsin?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Yeni istifadəçi əlavə etdiyiniz zaman həmin şəxs öz yerini quraşdırmalıdır. \n\n İstənilən istifadəçi bütün digər istifadəçilərdən olan tətbiqləri güncəlləşdirə bilər."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"İstifadəçi limitinə çatmısınız"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Maksimum <xliff:g id="COUNT">%d</xliff:g> istifadəçi əlavə edə bilərsiniz.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Durdurun"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Əvvəlki trek"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Növbəti trek"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Oxudun"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> tətbiqini açın"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> tərəfindən <xliff:g id="SONG_NAME">%1$s</xliff:g> mahnısını <xliff:g id="APP_LABEL">%3$s</xliff:g> tətbiqindən oxudun"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 69c3c8a..89796c0 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Lice je potvrđeno"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potvrđeno"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Dodirnite Potvrdi da biste završili"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Otključano je licem. Pritisnite ikonu otključavanja za nastavak"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Identitet je potvrđen"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristite PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Koristite šablon"</string>
@@ -313,10 +312,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Dodirnite ponovo da biste otvorili"</string>
<string name="tap_again" msgid="1315420114387908655">"Dodirnite ponovo"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Prevucite nagore da biste otvorili"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pritisnite ikonu otključavanja za otvaranje"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Otključano je licem. Pritisnite ikonu otključavanja za otvaranje"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Prevucite nagore da biste probali ponovo"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Otključajte da biste koristili NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Ovaj uređaj pripada organizaciji"</string>
@@ -343,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Želite li da nastavite sesiju?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Počni iz početka"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Da, nastavi"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Dodajete novog korisnika?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kada dodate novog korisnika, ta osoba treba da podesi svoj prostor.\n\nSvaki korisnik može da ažurira aplikacije za sve ostale korisnike."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Dostignut maksimalni broj korisnika"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Možete da dodate najviše <xliff:g id="COUNT">%d</xliff:g> korisnika.</item>
@@ -814,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pauziraj"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Prethodna pesma"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Sledeća pesma"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Pusti"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otvorite <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Pustite <xliff:g id="SONG_NAME">%1$s</xliff:g> izvođača <xliff:g id="ARTIST_NAME">%2$s</xliff:g> iz aplikacije <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index d3ef660..4a1bd7b 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Твар распазнаны"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Пацверджана"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Націсніце \"Пацвердзіць\", каб завяршыць"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Твар распазнаны. Для працягу націсніце значок разблакіроўкі."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Распазнана"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Увесці PIN-код"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Выкарыстаць узор разблакіроўкі"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Дакраніцеся яшчэ раз, каб адкрыць"</string>
<string name="tap_again" msgid="1315420114387908655">"Націсніце яшчэ раз"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Каб адкрыць, прагарніце ўверх"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Каб адкрыць, націсніце значок разблакіроўкі"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Твар распазнаны. Для адкрыцця націсніце значок разблакіроўкі"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Прагартайце ўверх, каб паўтарыць спробу"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Разблакіруйце, каб выкарыстоўваць NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Гэта прылада належыць вашай арганізацыі"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Хочаце працягнуць сеанс?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Пачаць зноў"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Так, працягнуць"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Дадаць новага карыстальніка?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Пасля стварэння профілю яго трэба наладзіць.\n\nЛюбы карыстальнік прылады можа абнаўляць праграмы ўсіх іншых карыстальнікаў."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Дасягнуты ліміт карыстальнікаў"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Можна дадаць <xliff:g id="COUNT">%d</xliff:g> карыстальніка.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Прыпыніць"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Папярэдні трэк"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Наступны трэк"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Прайграць"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Адкрыйце праграму \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\""</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Прайграйце кампазіцыю \"<xliff:g id="SONG_NAME">%1$s</xliff:g>\" (выканаўца – <xliff:g id="ARTIST_NAME">%2$s</xliff:g>) з дапамогай праграмы \"<xliff:g id="APP_LABEL">%3$s</xliff:g>\""</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 5d0b2bb..104c915 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -27,7 +27,7 @@
<string name="invalid_charger_title" msgid="938685362320735167">"Зареждането през USB не е възможно"</string>
<string name="invalid_charger_text" msgid="2339310107232691577">"Използвайте оригиналното зарядно устройство"</string>
<string name="battery_saver_confirmation_title" msgid="1234998463717398453">"Да се включи ли режимът за запазване на батерията?"</string>
- <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"Всичко за режима за запазване на батерията"</string>
+ <string name="battery_saver_confirmation_title_generic" msgid="2299231884234959849">"За режима за запазване на батерията"</string>
<string name="battery_saver_confirmation_ok" msgid="5042136476802816494">"Включване"</string>
<string name="battery_saver_start_action" msgid="8353766979886287140">"Включване"</string>
<string name="battery_saver_dismiss_action" msgid="7199342621040014738">"Не, благодаря"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Лицето е удостоверено"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Потвърдено"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Докоснете „Потвърждаване“ за завършване"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Отключено с лице. Натиснете иконата за отключване, за да продължите."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Удостоверено"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Използване на ПИН"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Използване на фигура"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Докоснете отново, за да отворите"</string>
<string name="tap_again" msgid="1315420114387908655">"Докоснете отново"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Прекарайте пръст нагоре, за да отключите"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Натиснете иконата за отключване, за да отворите"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Отключено с лице. Натиснете иконата за отключване, за да отворите."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Плъзнете бързо нагоре, за да опитате отново"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Отключете, за да използвате NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Това устройство принадлежи на организацията ви"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Искате ли да продължите сесията си?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Започване отначало"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Да, продължавам"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Да се добави ли нов потребител?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Когато добавите нов потребител, той трябва да настрои работното си пространство.\n\nВсеки потребител може да актуализира приложенията за всички останали потребители."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Достигнахте огранич. за потребители"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Можете да добавите до <xliff:g id="COUNT">%d</xliff:g> потребители.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Пауза"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Предишен запис"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Следващ запис"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Google Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Отваряне на <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Пускане на <xliff:g id="SONG_NAME">%1$s</xliff:g> на <xliff:g id="ARTIST_NAME">%2$s</xliff:g> от <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 5e0c64f..0f5306c 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ফেস যাচাই করা হয়েছে"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"কনফার্ম করা হয়েছে"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"সম্পূর্ণ করতে \'কনফার্ম করুন\' বোতামে ট্যাপ করুন"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ফেসের সাহায্যে আনলক করা হয়েছে। চালিয়ে যাওয়ার জন্য আনলক আইকনে প্রেস করুন।"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"প্রমাণীকৃত"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"পিন ব্যবহার করুন"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"প্যাটার্ন ব্যবহার করুন"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"খোলার জন্য আবার আলতো চাপুন"</string>
<string name="tap_again" msgid="1315420114387908655">"আবার ট্যাপ করুন"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"খোলার জন্য উপরে সোয়াইপ করুন"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"খোলার জন্য আনলক আইকন প্রেস করুন"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ফেসের সাহায্যে আনলক করা হয়েছে। খোলার জন্য আনলক আইকন প্রেস করুন।"</string>
<string name="keyguard_retry" msgid="886802522584053523">"আবার চেষ্টা করতে উপরের দিকে সোয়াইপ করুন"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ব্যবহার করতে আনলক করুন"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"এই ডিভাইসটি আপনার প্রতিষ্ঠানের"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"আপনি কি আপনার সেশনটি চালিয়ে যেতে চান?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"আবার শুরু করুন"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"হ্যাঁ, চালিয়ে যান"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"নতুন ব্যবহারকারীকে যোগ করবেন?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"আপনি একজন নতুন ব্যবহারকারী যোগ করলে তাকে তার জায়গা সেট-আপ করে নিতে হবে৷\n\nযেকোনও ব্যবহারকারী অন্য সব ব্যবহারকারীর জন্য অ্যাপ আপডেট করতে পারবেন৷"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"আর কোনও প্রোফাইল যোগ করা যাবে না"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">আপনি <xliff:g id="COUNT">%d</xliff:g> জন পর্যন্ত ব্যবহারকারীর প্রোফাইল যোগ করতে পারেন।</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"পজ করুন"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"আগের ট্র্যাক"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"পরের ট্র্যাক"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"চালান"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> অ্যাপ খুলুন"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g>-এর <xliff:g id="SONG_NAME">%1$s</xliff:g> গানটি <xliff:g id="APP_LABEL">%3$s</xliff:g> অ্যাপে চালান"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index bd2b4d0..5b499d6 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -135,7 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Lice je provjereno"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potvrđeno"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Dodirnite Potvrdi da završite"</string>
- <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Otključano pomoću lica. Pritisnite ikonu otključavanja da biste nastavili."</string>
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Otključano licem. Pritisnite ikonu za otklj. da nastavite."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentificirano"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Koristi PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Koristi uzorak"</string>
@@ -312,8 +312,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Dodirnite ponovo da otvorite"</string>
<string name="tap_again" msgid="1315420114387908655">"Ponovo dodirnite"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Prevucite da otvorite"</string>
- <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pritisnite ikonu otključavanja da biste otvorili"</string>
- <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Otključano pomoću lica. Pritisnite ikonu otključavanja da biste otvorili."</string>
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pritisnite ikonu za otključavanje da otvorite."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Otključano licem. Pritisnite ikonu za otklj. da otvorite."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Prevucite prema gore da pokušate ponovo"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Otključajte da koristite NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Ovaj uređaj pripada vašoj organizaciji"</string>
@@ -340,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Želite li nastaviti sesiju?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Počni ispočetka"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Da, nastavi"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Dodati novog korisnika?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kada dodate novog korisnika, ta osoba treba postaviti svoj prostor.\n\nSvaki korisnik može ažurirati aplikacije za sve ostale korisnike."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Dostignut limit za broj korisnika"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Možete dodati najviše <xliff:g id="COUNT">%d</xliff:g> korisnika.</item>
@@ -811,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pauziranje"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Prethodna numera"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Sljedeća numera"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Pokrenite"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otvorite aplikaciju <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Reproducirajte pjesmu <xliff:g id="SONG_NAME">%1$s</xliff:g> izvođača <xliff:g id="ARTIST_NAME">%2$s</xliff:g> pomoću aplikacije <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index ab7cba8..8cf9dee 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Cara autenticada"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmat"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Toca Confirma per completar"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"S\'ha desbloquejat amb la cara. Prem la icona per continuar."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autenticat"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Utilitza el PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Utilitza el patró"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Torna a tocar per obrir-la."</string>
<string name="tap_again" msgid="1315420114387908655">"Torna a tocar"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Llisca cap amunt per obrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Prem la icona de desbloqueig per obrir"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"S\'ha desbloquejat amb la cara. Prem la icona per obrir."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Llisca cap a dalt per tornar-ho a provar"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloqueja per utilitzar l\'NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Aquest dispositiu pertany a la teva organització"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vols continuar amb la sessió?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Torna a començar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sí, continua"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Vols afegir un usuari nou?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Quan s\'afegeix un usuari nou, aquest usuari ha de configurar-se l\'espai.\n\nQualsevol usuari pot actualitzar les aplicacions de la resta d\'usuaris."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"S\'ha assolit el límit d\'usuaris"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Pots afegir fins a <xliff:g id="COUNT">%d</xliff:g> usuaris.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Posa en pausa"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Pista anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Pista següent"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reprodueix"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Obre <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Reprodueix <xliff:g id="SONG_NAME">%1$s</xliff:g> (<xliff:g id="ARTIST_NAME">%2$s</xliff:g>) des de l\'aplicació <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 77761be..4392018 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Obličej byl ověřen"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potvrzeno"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Ověření dokončíte klepnutím na Potvrdit"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Odemknuto obličejem. Klepněte na ikonu odemknutí."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Ověřeno"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Použít kód PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Použít gesto"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Oznámení otevřete opětovným klepnutím"</string>
<string name="tap_again" msgid="1315420114387908655">"Znovu klepněte"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Otevřete přejetím prstem nahoru"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Otevřete klepnutím na ikonu odemknutí"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Odemknuto obličejem. Klepněte na ikonu odemknutí."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Přejetím nahoru to zkusíte znovu"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC vyžaduje odemknutou obrazovku"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Toto zařízení patří vaší organizaci"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Chcete v relaci pokračovat?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Začít znovu"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ano, pokračovat"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Přidat nového uživatele?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Když přidáte nového uživatele, musí si nastavit vlastní prostor.\n\nJakýkoli uživatel může aktualizovat aplikace všech ostatních uživatelů."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Bylo dosaženo limitu uživatelů"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="few">Lze přidat až <xliff:g id="COUNT">%d</xliff:g> uživatele.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pozastavit"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Předchozí skladba"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Další skladba"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Přehrát"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otevřít aplikaci <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Přehrát skladbu <xliff:g id="SONG_NAME">%1$s</xliff:g> od interpreta <xliff:g id="ARTIST_NAME">%2$s</xliff:g> z aplikace <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 3636730..7bdaf67 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Ansigtet er godkendt"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bekræftet"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tryk på Bekræft for at udføre"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Låst op vha. ansigt. Tryk på oplåsningsikonet for at fortsætte."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Godkendt"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Brug pinkode"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Brug mønster"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Tryk igen for at åbne"</string>
<string name="tap_again" msgid="1315420114387908655">"Tryk igen"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Stryg opad for at åbne"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Tryk på oplåsningsikonet for at åbne"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Låst op vha. ansigt. Tryk på oplåsningsikonet for at åbne."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Stryg opad for at prøve igen"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Lås op for at bruge NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Denne enhed tilhører din organisation"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vil du fortsætte din session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start forfra"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, fortsæt"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Vil du tilføje en ny bruger?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Når du tilføjer en ny bruger, skal personen konfigurere sit område.\n\nAlle brugere kan opdatere apps for alle de andre brugere."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Grænsen for antal brugere er nået"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Du kan tilføje op til <xliff:g id="COUNT">%d</xliff:g> bruger.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Sæt på pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Afspil forrige"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Næste nummer"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Afspil"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Åbn <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Afspil <xliff:g id="SONG_NAME">%1$s</xliff:g> af <xliff:g id="ARTIST_NAME">%2$s</xliff:g> via <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 05956d9..b92bd62 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Gesicht authentifiziert"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bestätigt"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Zum Abschließen auf \"Bestätigen\" tippen"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Gerät mit dem Gesicht entsperrt. Tippe auf das Symbol „Entsperren“, um fortzufahren."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Authentifiziert"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN verwenden"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Muster verwenden"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Erneut tippen, um Benachrichtigung zu öffnen"</string>
<string name="tap_again" msgid="1315420114387908655">"Noch einmal tippen"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Zum Öffnen nach oben wischen"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Tippe zum Öffnen auf das Symbol „Entsperren“"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Gerät mit dem Gesicht entsperrt. Tippe zum Öffnen auf das Symbol „Entsperren“."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Zum Wiederholen nach oben wischen"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Zur Verwendung von NFC entsperren"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Dieses Gerät gehört deiner Organisation"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Möchtest du deine Sitzung fortsetzen?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Neu starten"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, weiter"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Neuen Nutzer hinzufügen?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Wenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten.\n\nJeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Nutzerlimit erreicht"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Du kannst bis zu <xliff:g id="COUNT">%d</xliff:g> Nutzer hinzufügen.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausieren"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Vorheriger Titel"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Nächster Titel"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Wiedergeben"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> öffnen"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g> von <xliff:g id="ARTIST_NAME">%2$s</xliff:g> über <xliff:g id="APP_LABEL">%3$s</xliff:g> wiedergeben"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index b4af947..787f24f 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Έγινε έλεγχος ταυτότητας προσώπου"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Επιβεβαιώθηκε"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Πατήστε Επιβεβαίωση για ολοκλήρωση"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Ξεκλ. με αναγν. προσώπου. Πατ. το εικον. ξεκλ. για συνέχεια."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Ολοκληρώθηκε ο έλεγχος ταυτότητας"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Χρήση PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Χρήση μοτίβου"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Πατήστε ξανά για να ανοίξετε"</string>
<string name="tap_again" msgid="1315420114387908655">"Πατήστε ξανά"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Σύρετε προς τα επάνω για άνοιγμα"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Πατήστε το εικονίδιο ξεκλειδώματος για άνοιγμα"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ξεκλ. με αναγν. προσώπου. Πατ. το εικον. ξεκλ. για άνοιγμα."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Σύρετε προς τα πάνω για να δοκιμάσετε ξανά"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Ξεκλείδωμα για χρήση του NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Αυτή η συσκευή ανήκει στον οργανισμό σας."</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Θέλετε να συνεχίσετε την περίοδο σύνδεσής σας;"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Έναρξη από την αρχή"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ναι, συνέχεια"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Προσθήκη νέου χρήστη;"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Κατά την προσθήκη ενός νέου χρήστη, αυτός θα πρέπει να ρυθμίσει τον χώρο του.\n\nΟποιοσδήποτε χρήστης μπορεί να ενημερώσει τις εφαρμογές για όλους τους άλλους χρήστες."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Συμπληρώθηκε το όριο χρηστών"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Μπορείτε να προσθέσετε έως <xliff:g id="COUNT">%d</xliff:g> χρήστες.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Παύση"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Προηγούμενο κομμάτι"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Επόμενο κομμάτι"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Άνοιγμα της εφαρμογής <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Αναπαραγωγή του <xliff:g id="SONG_NAME">%1$s</xliff:g> από <xliff:g id="ARTIST_NAME">%2$s</xliff:g> στην εφαρμογή <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index d42cc52..608bb4c 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -338,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Do you want to continue your session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start again"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yes, continue"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Guest mode"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"You are in guest mode"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Add new user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"Adding a new user will exit guest mode and delete all apps and data from the current guest session."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"User limit reached"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> users.</item>
@@ -805,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Previous track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Next track"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Connecting"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Open <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Play <xliff:g id="SONG_NAME">%1$s</xliff:g> by <xliff:g id="ARTIST_NAME">%2$s</xliff:g> from <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index c5f7445..caa1283 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -338,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Do you want to continue your session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start again"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yes, continue"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Guest mode"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"You are in guest mode"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Add new user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"Adding a new user will exit guest mode and delete all apps and data from the current guest session."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"User limit reached"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> users.</item>
@@ -805,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Previous track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Next track"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Connecting"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Open <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Play <xliff:g id="SONG_NAME">%1$s</xliff:g> by <xliff:g id="ARTIST_NAME">%2$s</xliff:g> from <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index d42cc52..608bb4c 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -338,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Do you want to continue your session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start again"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yes, continue"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Guest mode"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"You are in guest mode"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Add new user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"Adding a new user will exit guest mode and delete all apps and data from the current guest session."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"User limit reached"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> users.</item>
@@ -805,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Previous track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Next track"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Connecting"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Open <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Play <xliff:g id="SONG_NAME">%1$s</xliff:g> by <xliff:g id="ARTIST_NAME">%2$s</xliff:g> from <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index d42cc52..608bb4c 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -338,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Do you want to continue your session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start again"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yes, continue"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Guest mode"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"You are in guest mode"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Add new user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"Adding a new user will exit guest mode and delete all apps and data from the current guest session."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"User limit reached"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> users.</item>
@@ -805,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Previous track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Next track"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Connecting"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Open <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Play <xliff:g id="SONG_NAME">%1$s</xliff:g> by <xliff:g id="ARTIST_NAME">%2$s</xliff:g> from <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index 601305b..f8f7312 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -338,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Do you want to continue your session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start over"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yes, continue"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Guest mode"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"You are in guest mode"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Add new user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">"\n\nAdding a new user will exit guest mode and delete all apps and data from the current guest session."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"User limit reached"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">You can add up to <xliff:g id="COUNT">%d</xliff:g> users.</item>
@@ -805,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Previous track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Next track"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Connecting"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Open <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Play <xliff:g id="SONG_NAME">%1$s</xliff:g> by <xliff:g id="ARTIST_NAME">%2$s</xliff:g> from <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 416e097..39b3519 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Se autenticó el rostro"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmado"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Presiona Confirmar para completar"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Desbloqueo con rostro. Presiona ícono desbl. para continuar."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autenticado"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Usar PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Usar patrón"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Presiona de nuevo para abrir"</string>
<string name="tap_again" msgid="1315420114387908655">"Presiona otra vez"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Desliza el dedo hacia arriba para abrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Presiona el ícono de desbloquear para abrir"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Desbloqueo con rostro. Presiona ícono desbloq. para abrir."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Desliza el dedo hacia arriba para volver a intentarlo"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloquea el dispositivo para usar NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertenece a tu organización"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"¿Quieres retomar la sesión?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Volver a empezar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sí, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"¿Agregar usuario nuevo?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Cuando agregas un nuevo usuario, esa persona debe configurar su espacio.\n\nCualquier usuario puede actualizar las aplicaciones del resto de los usuarios."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Alcanzaste el límite de usuarios"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Puedes agregar hasta <xliff:g id="COUNT">%d</xliff:g> usuarios.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausar"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Pista anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Pista siguiente"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reproducir"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abre <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Reproduce <xliff:g id="SONG_NAME">%1$s</xliff:g>, de <xliff:g id="ARTIST_NAME">%2$s</xliff:g>, en <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 35fbf2a..e7d9549 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -97,11 +97,11 @@
<string name="screenrecord_device_audio_label" msgid="9016927171280567791">"Audio del dispositivo"</string>
<string name="screenrecord_device_audio_description" msgid="4922694220572186193">"Sonido de tu dispositivo, como música, llamadas y tonos de llamada"</string>
<string name="screenrecord_mic_label" msgid="2111264835791332350">"Micrófono"</string>
- <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"Audio y micrófono del dispositivo"</string>
+ <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"Audio del dispositivo y micrófono"</string>
<string name="screenrecord_start" msgid="330991441575775004">"Iniciar"</string>
<string name="screenrecord_ongoing_screen_only" msgid="4459670242451527727">"Grabando pantalla"</string>
<string name="screenrecord_ongoing_screen_and_audio" msgid="5351133763125180920">"Grabando pantalla y audio"</string>
- <string name="screenrecord_taps_label" msgid="1595690528298857649">"Mostrar toques en la pantalla"</string>
+ <string name="screenrecord_taps_label" msgid="1595690528298857649">"Mostrar toques de pantalla"</string>
<string name="screenrecord_stop_label" msgid="72699670052087989">"Detener"</string>
<string name="screenrecord_share_label" msgid="5025590804030086930">"Compartir"</string>
<string name="screenrecord_save_title" msgid="1886652605520893850">"Grabación de pantalla guardada"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Cara autenticada"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmada"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Toca Confirmar para completar la acción"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Desbloqueado con datos faciales. Pulsa el icono desbloquear para continuar."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Se ha autenticado"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Usar PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Usar patrón"</string>
@@ -220,11 +219,11 @@
<string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
<string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"Audífonos"</string>
<string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activando…"</string>
- <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Girar automáticamente"</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Giro automático"</string>
<string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Girar pantalla automáticamente"</string>
<string name="quick_settings_location_label" msgid="2621868789013389163">"Ubicación"</string>
<string name="quick_settings_camera_label" msgid="5612076679385269339">"Acceso a cámara"</string>
- <string name="quick_settings_mic_label" msgid="8392773746295266375">"Acceso micro."</string>
+ <string name="quick_settings_mic_label" msgid="8392773746295266375">"Acceso al micro"</string>
<string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"Disponible"</string>
<string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"Bloqueado"</string>
<string name="quick_settings_media_device_label" msgid="8034019242363789941">"Dispositivo multimedia"</string>
@@ -282,7 +281,7 @@
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"El NFC está desactivado"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"El NFC está activado"</string>
- <string name="quick_settings_screen_record_label" msgid="8650355346742003694">"Grabación de pantalla"</string>
+ <string name="quick_settings_screen_record_label" msgid="8650355346742003694">"Grabar pantalla"</string>
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Iniciar"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Detener"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modo una mano"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Toca de nuevo para abrir"</string>
<string name="tap_again" msgid="1315420114387908655">"Toca de nuevo"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Desliza el dedo hacia arriba para abrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Pulsa el icono desbloquear para abrir"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Desbloqueado con datos faciales. Pulsa el icono desbloquear para abrir."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Desliza el dedo hacia arriba para volverlo a intentar"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloquea para usar el NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertenece a tu organización"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"¿Quieres continuar con la sesión?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Volver a empezar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sí, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"¿Añadir nuevo usuario?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Al añadir un nuevo usuario, este debe configurar su espacio.\n\nCualquier usuario puede actualizar las aplicaciones del resto de usuarios."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Has alcanzado el límite de usuarios"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Puedes añadir hasta <xliff:g id="COUNT">%d</xliff:g> usuarios.</item>
@@ -618,7 +623,7 @@
<string name="right_keycode" msgid="2480715509844798438">"Código de teclado a la derecha"</string>
<string name="left_icon" msgid="5036278531966897006">"Icono a la izquierda"</string>
<string name="right_icon" msgid="1103955040645237425">"Icono a la derecha"</string>
- <string name="drag_to_add_tiles" msgid="8933270127508303672">"Pulsa y arrastra para añadir recuadros"</string>
+ <string name="drag_to_add_tiles" msgid="8933270127508303672">"Mantén pulsado un recuadro y arrástralo para añadirlo"</string>
<string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"Mantén pulsado un recuadro y arrástralo para reubicarlo"</string>
<string name="drag_to_remove_tiles" msgid="4682194717573850385">"Arrastra aquí para quitar una función"</string>
<string name="drag_to_remove_disabled" msgid="933046987838658850">"Necesitas al menos <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g> recuadros"</string>
@@ -771,7 +776,7 @@
<string name="accessibility_control_move" msgid="8980344493796647792">"Mover a la posición <xliff:g id="NUMBER">%d</xliff:g>"</string>
<string name="controls_favorite_default_title" msgid="967742178688938137">"Controles"</string>
<string name="controls_favorite_subtitle" msgid="6481675111056961083">"Selecciona controles a los que quieras acceder desde los ajustes rápidos"</string>
- <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantén pulsado y arrastra un control para reubicarlo"</string>
+ <string name="controls_favorite_rearrange" msgid="5616952398043063519">"Mantén pulsado un control y arrástralo para reubicarlo"</string>
<string name="controls_favorite_removed" msgid="5276978408529217272">"Todos los controles quitados"</string>
<string name="controls_favorite_toast_no_changes" msgid="7094494210840877931">"No se han guardado los cambios"</string>
<string name="controls_favorite_see_other_apps" msgid="7709087332255283460">"Ver otras aplicaciones"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausar"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Pista anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Siguiente pista"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reproducir"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abrir <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Poner <xliff:g id="SONG_NAME">%1$s</xliff:g> de <xliff:g id="ARTIST_NAME">%2$s</xliff:g> en <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
@@ -891,7 +898,7 @@
<string name="accessibility_fingerprint_bouncer" msgid="7189102492498735519">"Autenticación obligatoria. Toca el sensor de huellas digitales para autenticarte."</string>
<string name="ongoing_phone_call_content_description" msgid="5332334388483099947">"Llamada en curso"</string>
<string name="mobile_data_settings_title" msgid="3955246641380064901">"Datos móviles"</string>
- <string name="preference_summary_default_combination" msgid="8453246369903749670">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
+ <string name="preference_summary_default_combination" msgid="8453246369903749670">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="944490013299018227">"Conectado"</string>
<string name="mobile_data_off_summary" msgid="3663995422004150567">"Los datos móviles no se conectarán automáticamente"</string>
<string name="mobile_data_no_connection" msgid="1713872434869947377">"Sin conexión"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index a06fd3a..9b05c6d 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Nägu on autenditud"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Kinnitatud"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Lõpuleviimiseks puudutage nuppu Kinnita"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Avati näoga. Jätkamiseks vajutage avamise ikooni."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autenditud"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Kasuta PIN-koodi"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Kasuta mustrit"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Avamiseks puudutage uuesti"</string>
<string name="tap_again" msgid="1315420114387908655">"Puudutage uuesti"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Pühkige avamiseks üles"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Avamiseks vajutage avamise ikooni"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Avati näoga. Avamiseks vajutage avamise ikooni."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Uuesti proovimiseks pühkige üles"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC kasutamiseks avage."</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"See seade kuulub teie organisatsioonile"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Kas soovite seansiga jätkata?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Alusta uuesti"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Jah, jätka"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Kas lisada uus kasutaja?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kui lisate uue kasutaja, siis peab ta seadistama oma ruumi.\n\nIga kasutaja saab värskendada rakendusi kõigi kasutajate jaoks."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Kasutajate limiit on täis"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Võite lisada kuni <xliff:g id="COUNT">%d</xliff:g> kasutajat.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Peata"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Eelmine lugu"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Järgmine lugu"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Esitamine"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Rakenduse <xliff:g id="APP_LABEL">%1$s</xliff:g> avamine"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Esita lugu <xliff:g id="SONG_NAME">%1$s</xliff:g> esitajalt <xliff:g id="ARTIST_NAME">%2$s</xliff:g> rakenduses <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index a880334..6f0034a 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Autentifikatu da aurpegia"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Berretsita"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Amaitzeko, sakatu \"Berretsi\""</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Aurpegiaren bidez desblokeatu da. Aurrera egiteko, sakatu desblokeatzeko ikonoa."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentifikatuta"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Erabili PINa"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Erabili eredua"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Irekitzeko, ukitu berriro"</string>
<string name="tap_again" msgid="1315420114387908655">"Sakatu berriro"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Pasatu hatza gora irekitzeko"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Irekitzeko, sakatu desblokeatzeko ikonoa"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Aurpegiaren bidez desblokeatu da. Irekitzeko, sakatu desblokeatzeko ikonoa."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Berriro saiatzeko, pasatu hatza gora"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desblokea ezazu NFC erabiltzeko"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Gailu hau zure erakundearena da"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Saioarekin jarraitu nahi duzu?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Hasi berriro"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Bai, jarraitu"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Beste erabiltzaile bat gehitu?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Erabiltzaile bat gehitzen duzunean, erabiltzaile horrek bere eremua konfiguratu beharko du.\n\nEdozein erabiltzailek egunera ditzake beste erabiltzaile guztien aplikazioak."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Erabiltzaile-mugara iritsi zara"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Gehienez, <xliff:g id="COUNT">%d</xliff:g> erabiltzaile gehi ditzakezu.</item>
@@ -384,7 +389,7 @@
<string name="quick_settings_disclosure_named_vpn" msgid="2350838218824492465">"Gailu hau <xliff:g id="VPN_APP">%1$s</xliff:g> sarera dago konektatuta"</string>
<string name="monitoring_title_financed_device" msgid="3659962357973919387">"<xliff:g id="ORGANIZATION_NAME">%s</xliff:g> erakundeak eman du gailu hau"</string>
<string name="monitoring_title_device_owned" msgid="7029691083837606324">"Gailuaren kudeaketa"</string>
- <string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPN"</string>
+ <string name="monitoring_subtitle_vpn" msgid="800485258004629079">"VPNa"</string>
<string name="monitoring_subtitle_network_logging" msgid="2444199331891219596">"Sarearen erregistroak"</string>
<string name="monitoring_subtitle_ca_certificate" msgid="8588092029755175800">"CA ziurtagiriak"</string>
<string name="monitoring_button_view_policies" msgid="3869724835853502410">"Ikusi gidalerroak"</string>
@@ -404,7 +409,7 @@
<string name="monitoring_description_vpn_settings_separator" msgid="8292589617720435430">" "</string>
<string name="monitoring_description_vpn_settings" msgid="5264167033247632071">"Ireki VPN ezarpenak"</string>
<string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Zure gurasoak kudeatzen du gailua. Zure gurasoak gailuko informazioa ikusi eta kudea dezake; besteak beste, zer aplikazio erabiltzen dituzun, zure kokapena zein den eta pantaila aurrean zenbat eta noiz egoten zaren."</string>
- <string name="legacy_vpn_name" msgid="4174223520162559145">"VPN konexioa"</string>
+ <string name="legacy_vpn_name" msgid="4174223520162559145">"VPNa"</string>
<string name="keyguard_indication_trust_unlocked" msgid="7395154975733744547">"TrustAgent bidez desblokeatuta"</string>
<string name="zen_mode_and_condition" msgid="5043165189511223718">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
<string name="accessibility_volume_settings" msgid="1458961116951564784">"Soinuaren ezarpenak"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausatu"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Aurrekoa"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Hurrengo pista"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Erreproduzitu"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Ireki <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Erreproduzitu <xliff:g id="SONG_NAME">%1$s</xliff:g> (<xliff:g id="ARTIST_NAME">%2$s</xliff:g>) <xliff:g id="APP_LABEL">%3$s</xliff:g> bidez"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 13cccf0..76f7ca1 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"چهره اصالتسنجی شد"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"تأیید شد"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"برای تکمیل، روی تأیید ضربه بزنید"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"قفلْ با چهره باز شد. برای ادامه، نماد قفلگشایی را فشار دهید."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"راستیآزماییشده"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"استفاده از پین"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"استفاده از الگو"</string>
@@ -285,7 +284,7 @@
<string name="quick_settings_screen_record_label" msgid="8650355346742003694">"ضبط صفحهنمایش"</string>
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"شروع"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"متوقف کردن"</string>
- <string name="quick_settings_onehanded_label" msgid="2416537930246274991">"حالت تک حرکت"</string>
+ <string name="quick_settings_onehanded_label" msgid="2416537930246274991">"حالت یکدستی"</string>
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"میکروفون دستگاه لغو انسداد شود؟"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"دوربین دستگاه لغو انسداد شود؟"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"دوربین و میکروفون دستگاه لغو انسداد شود؟"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"دوباره ضربه بزنید تا باز شود"</string>
<string name="tap_again" msgid="1315420114387908655">"دوباره ضربه بزنید"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"برای باز کردن، انگشتتان را تند بهبالا بکشید"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"برای باز کردن، نماد قفلگشایی را فشار دهید"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"قفلْ با چهره باز شد. برای باز کردن، نماد قفلگشایی را فشار دهید."</string>
<string name="keyguard_retry" msgid="886802522584053523">"برای امتحان مجدد، انگشتتان را تند بهبالا بکشید"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"برای استفاده از NFC، قفل را باز کنید"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"این دستگاه به سازمان شما تعلق دارد"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"آیا میخواهید جلسهتان را ادامه دهید؟"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"شروع مجدد"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"بله، ادامه داده شود"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"کاربر جدیدی اضافه میکنید؟"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"وقتی کاربر جدیدی اضافه میکنید آن فرد باید فضای خودش را تنظیم کند.\n\nهر کاربری میتواند برنامهها را برای همه کاربران دیگر بهروزرسانی کند."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"به تعداد مجاز تعداد کاربر رسیدهاید"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">میتوانید حداکثر <xliff:g id="COUNT">%d</xliff:g> کاربر اضافه کنید.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"توقف موقت"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"آهنگ قبلی"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"آهنگ بعدی"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"پخش"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"باز کردن <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g> از <xliff:g id="ARTIST_NAME">%2$s</xliff:g> را ازطریق <xliff:g id="APP_LABEL">%3$s</xliff:g> پخش کنید"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 823c526..85d0e20 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Kasvot tunnistettu"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Vahvistettu"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Valitse lopuksi Vahvista"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Avattu kasvojen avulla. Jatka lukituksen avauskuvakkeella."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Todennettu"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Käytä PIN-koodia"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Käytä kuviota"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Avaa napauttamalla uudelleen"</string>
<string name="tap_again" msgid="1315420114387908655">"Napauta uudelleen"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Avaa pyyhkäisemällä ylös"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Jatka painamalla lukituksen avauskuvaketta."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Avattu kasvojen avulla. Jatka lukituksen avauskuvakkeella."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Yritä uudelleen pyyhkäisemällä ylös"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Avaa lukitus, jotta voit käyttää NFC:tä"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Organisaatiosi omistaa tämän laitteen"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Haluatko jatkaa istuntoa?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Aloita alusta"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Kyllä, haluan jatkaa"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Lisätäänkö uusi käyttäjä?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kun lisäät uuden käyttäjän, hänen tulee määrittää oman tilansa asetukset.\n\nKaikki käyttäjät voivat päivittää sovelluksia muille käyttäjille."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Käyttäjäraja saavutettu"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Voit lisätä korkeintaan <xliff:g id="COUNT">%d</xliff:g> käyttäjää.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Keskeytä"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Edellinen kappale"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Seuraava kappale"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Toista"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Avaa <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Soita <xliff:g id="SONG_NAME">%1$s</xliff:g> (<xliff:g id="ARTIST_NAME">%2$s</xliff:g>) sovelluksessa <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index f78773d..e9db78d 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Visage authentifié"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmé"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Touchez Confirmer pour terminer"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Déverrouillé avec le visage. Appuyez Déverrouiller pour cont."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Authentifié"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Utiliser un NIP"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Utiliser un schéma"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Touchez à nouveau pour ouvrir"</string>
<string name="tap_again" msgid="1315420114387908655">"Toucher de nouveau"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Balayez l\'écran vers le haut pour ouvrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Appuyez sur l\'icône Déverrouiller pour ouvrir"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Déverrouillé avec le visage. Appuyez Déverrouiller pour ouvrir"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Balayez l\'écran vers le haut pour réessayer"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Déverrouillez l\'écran pour utiliser la CCP"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Cet appareil appartient à votre organisation"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Voulez-vous poursuivre la session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Recommencer"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Oui, continuer"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Ajouter un utilisateur?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Lorsque vous ajoutez un utilisateur, celui-ci doit configurer son espace.\n\nTout utilisateur peut mettre à jour les applications pour tous les autres utilisateurs."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite d\'utilisateurs atteinte"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> utilisateur.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Interrompre"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Chanson précédente"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Chanson suivante"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Faire jouer"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Ouvrez <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Lecture de <xliff:g id="SONG_NAME">%1$s</xliff:g> par <xliff:g id="ARTIST_NAME">%2$s</xliff:g> à partir de <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 1bdf0f2..95a351b 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Visage authentifié"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmé"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Appuyez sur \"Confirmer\" pour terminer"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Déverrouillé par visage. Appuyez sur icône déverrouillage pour continuer."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Authentifié"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Utiliser un code PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Utiliser un schéma"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Appuyer à nouveau pour ouvrir"</string>
<string name="tap_again" msgid="1315420114387908655">"Appuyer à nouveau"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Balayer vers le haut pour ouvrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Appuyez sur l\'icône de déverrouillage pour ouvrir"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Déverrouillé par visage. Appuyez sur icône déverrouillage pour ouvrir."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Balayez l\'écran vers le haut pour réessayer"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Déverrouillez l\'écran pour pouvoir utiliser NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Cet appareil appartient à votre organisation"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Voulez-vous poursuivre la dernière session ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Non, nouvelle session"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Oui, continuer"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Ajouter un utilisateur ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Lorsque vous ajoutez un utilisateur, celui-ci doit configurer son espace.\n\nN\'importe quel utilisateur peut mettre à jour les applications pour tous les autres utilisateurs."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite nombre utilisateurs atteinte"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Vous pouvez ajouter <xliff:g id="COUNT">%d</xliff:g> profil utilisateur.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Titre précédent"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Titre suivant"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Lire"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Ouvre <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Mets <xliff:g id="SONG_NAME">%1$s</xliff:g> par <xliff:g id="ARTIST_NAME">%2$s</xliff:g> depuis <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 78bbb28..a3dc2a2 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Autenticouse a cara"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmada"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Toca Confirmar para completar o proceso"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Usouse o desbloqueo facial. Preme a icona de desbloquear."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autenticado"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Usar PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Usar padrón"</string>
@@ -220,7 +219,7 @@
<string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
<string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="3003338571871392293">"Audiófonos"</string>
<string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activando…"</string>
- <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Xirar automat."</string>
+ <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Xirar automaticamente"</string>
<string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Xirar pantalla automaticamente"</string>
<string name="quick_settings_location_label" msgid="2621868789013389163">"Localización"</string>
<string name="quick_settings_camera_label" msgid="5612076679385269339">"Acceso á cámara"</string>
@@ -282,7 +281,7 @@
<string name="quick_settings_nfc_label" msgid="1054317416221168085">"NFC"</string>
<string name="quick_settings_nfc_off" msgid="3465000058515424663">"A opción NFC está desactivada"</string>
<string name="quick_settings_nfc_on" msgid="1004976611203202230">"A opción NFC está activada"</string>
- <string name="quick_settings_screen_record_label" msgid="8650355346742003694">"Gravar pant."</string>
+ <string name="quick_settings_screen_record_label" msgid="8650355346742003694">"Gravar pantalla"</string>
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Iniciar"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Deter"</string>
<string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modo dunha soa man"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Toca de novo para abrir"</string>
<string name="tap_again" msgid="1315420114387908655">"Toca de novo"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Pasa o dedo cara arriba para abrir"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Preme a icona de desbloquear para abrir a porta"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Usouse o desbloqueo facial. Preme a icona de desbloquear."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Pasa o dedo cara arriba para tentalo de novo"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Desbloquea o dispositivo para utilizar a NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Este dispositivo pertence á túa organización."</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Queres continuar coa túa sesión?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Comezar de novo"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Si, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Engadir un usuario novo?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Cando engadas un usuario novo, este deberá configurar o seu espazo.\n\nCalquera usuario pode actualizar as aplicacións para todos os demais usuarios."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Alcanzouse o límite de usuarios"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Podes engadir ata <xliff:g id="COUNT">%d</xliff:g> usuarios.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pór en pausa"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Pista anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Pista seguinte"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reproducir"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abre <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Reproduce <xliff:g id="SONG_NAME">%1$s</xliff:g>, de <xliff:g id="ARTIST_NAME">%2$s</xliff:g>, en <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 6085d76..300ac4d 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ચહેરાનું પ્રમાણીકરણ થયું"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"પુષ્ટિ કરી"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"પરીક્ષણ પૂર્ણ કરવા કન્ફર્મ કરોને ટૅપ કરો"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ચહેરા દ્વારા અનલૉક કર્યું. આગળ વધવા \'અનલૉક કરો\' આઇકન દબાવો."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"પ્રમાણિત"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"પિનનો ઉપયોગ કરો"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"પૅટર્નનો ઉપયોગ કરો"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ખોલવા માટે ફરીથી ટૅપ કરો"</string>
<string name="tap_again" msgid="1315420114387908655">"ફરીથી ટૅપ કરો"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ખોલવા માટે ઉપરની તરફ સ્વાઇપ કરો"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ખોલવા માટે \'અનલૉક કરો\' આઇકન દબાવો"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ચહેરા દ્વારા અનલૉક કર્યું. ખોલવા \'અનલૉક કરો\' આઇકન દબાવો."</string>
<string name="keyguard_retry" msgid="886802522584053523">"ફરી પ્રયાસ કરવા માટે ઉપરની તરફ સ્વાઇપ કરો"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFCનો ઉપયોગ કરવા માટે અનલૉક કરો"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"આ ડિવાઇસ તમારી સંસ્થાની માલિકીનું છે"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"શું તમે તમારું સત્ર ચાલુ રાખવા માંગો છો?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"શરૂ કરો"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"હા, ચાલુ રાખો"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"નવા વપરાશકર્તાને ઉમેરીએ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"જ્યારે તમે કોઈ નવા વપરાશકર્તાને ઉમેરો છો, ત્યારે તે વ્યક્તિને તેમનું સ્થાન સેટ કરવાની જરૂર પડે છે.\n\nકોઈપણ વપરાશકર્તા બધા અન્ય વપરાશકર્તાઓ માટે ઍપને અપડેટ કરી શકે છે."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"વપરાશકર્તા સંખ્યાની મર્યાદા"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">તમે <xliff:g id="COUNT">%d</xliff:g> વપરાશકર્તા સુધી ઉમેરી શકો છો.</item>
@@ -571,7 +576,7 @@
<string name="keyboard_shortcut_group_system_recents" msgid="8628108256824616927">"તાજેતરના"</string>
<string name="keyboard_shortcut_group_system_back" msgid="1055709713218453863">"પાછળ"</string>
<string name="keyboard_shortcut_group_system_notifications" msgid="3615971650562485878">"નોટિફિકેશન"</string>
- <string name="keyboard_shortcut_group_system_shortcuts_helper" msgid="4856808328618265589">"કીબોર્ડ શૉર્ટકટ્સ"</string>
+ <string name="keyboard_shortcut_group_system_shortcuts_helper" msgid="4856808328618265589">"કીબોર્ડ શૉર્ટકટ"</string>
<string name="keyboard_shortcut_group_system_switch_input" msgid="952555530383268166">"કીબોર્ડ લેઆઉટ સ્વિચ કરો"</string>
<string name="keyboard_shortcut_group_applications" msgid="7386239431100651266">"ઍપ્લિકેશનો"</string>
<string name="keyboard_shortcut_group_applications_assist" msgid="771606231466098742">"સહાય"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"થોભાવો"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"પહેલાનો ટ્રૅક"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"આગલો ટ્રૅક"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ચલાવો"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ખોલો"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> પર <xliff:g id="ARTIST_NAME">%2$s</xliff:g>નું <xliff:g id="SONG_NAME">%1$s</xliff:g> ગીત ચલાવો"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 49bafd4..c6674d0 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"चेहरे की पुष्टि हो गई"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"पुष्टि हो गई"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"\'पुष्टि करें\' पर टैप करके पूरा करें"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"चेहरे से अनलॉक किया. जारी रखने के लिए, अनलॉक आइकॉन को दबाएं."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"पुष्टि हो गई"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"पिन इस्तेमाल करें"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"पैटर्न इस्तेमाल करें"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"खोलने के लिए फिर से टैप करें"</string>
<string name="tap_again" msgid="1315420114387908655">"फिर से टैप करें"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"खोलने के लिए ऊपर स्वाइप करें"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"डिवाइस अनलॉक करने के लिए, अनलॉक आइकॉन को दबाएं"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"चेहरे से अनलॉक किया. डिवाइस अनलॉक करने के लिए, अनलॉक आइकॉन को दबाएं."</string>
<string name="keyguard_retry" msgid="886802522584053523">"फिर से कोशिश करने के लिए ऊपर की ओर स्वाइप करें"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"एनएफ़सी इस्तेमाल करने के लिए स्क्रीन को अनलॉक करें"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"इस डिवाइस का मालिकाना हक आपके संगठन के पास है"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"क्या आप अपना सत्र जारी रखना चाहते हैं?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"फिर से शुरू करें"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"हां, जारी रखें"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"नया उपयोगकर्ता जोड़ें?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"जब आप कोई नया उपयोगकर्ता जोड़ते हैं, तो उसे अपनी जगह सेट करनी होती है.\n\nकोई भी उपयोगकर्ता बाकी सभी उपयोगकर्ताओं के लिए ऐप्लिकेशन अपडेट कर सकता है."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"अब और उपयोगकर्ता नहीं जोड़े जा सकते"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">आप ज़्यादा से ज़्यादा <xliff:g id="COUNT">%d</xliff:g> उपयोगकर्ता जोड़ सकते हैं.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"रोकें"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"पिछला ट्रैक"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"अगला ट्रैक"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"चलाएं"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> खोलें"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> पर, <xliff:g id="ARTIST_NAME">%2$s</xliff:g> का <xliff:g id="SONG_NAME">%1$s</xliff:g> चलाएं"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 54b3912..4d153e9 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -340,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Želite li nastaviti sesiju?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Počni ispočetka"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Da, nastavi"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Dodati novog korisnika?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kada dodate novog korisnika, ta osoba mora postaviti vlastiti prostor.\n\nBilo koji korisnik može ažurirati aplikacije za sve ostale korisnike."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Dosegnuto je ograničenje korisnika"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Možete dodati najviše <xliff:g id="COUNT">%d</xliff:g> korisnika.</item>
@@ -811,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pauziraj"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Prethodni zapis"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Sljedeći zapis"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reprodukcija"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otvori <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Pustite <xliff:g id="SONG_NAME">%1$s</xliff:g>, <xliff:g id="ARTIST_NAME">%2$s</xliff:g> putem aplikacije <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 3d2d01b..895b61e 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Arc hitelesítve"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Megerősítve"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Koppintson a Megerősítés lehetőségre"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Zárolás arccal feloldva. Folytatás: Feloldásra koppintás."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Hitelesítve"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN-kód használata"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Minta használata"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Koppintson ismét a megnyitáshoz"</string>
<string name="tap_again" msgid="1315420114387908655">"Koppintson újra"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Csúsztasson felfelé a megnyitáshoz"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Az eszköz használatához nyomja meg a feloldás ikonját"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Zárolás arccal feloldva. Eszköz használata: Feloldás ikon."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Az újrapróbálkozáshoz csúsztassa felfelé az ujját"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Az NFC használatához oldja fel a képernyőzárat"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Ez az eszköz az Ön szervezetének tulajdonában van"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Folytatja a munkamenetet?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Újrakezdés"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Igen, folytatom"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Új felhasználó hozzáadása?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Ha új felhasználót ad hozzá, az illetőnek be kell állítania saját tárterületét.\n\nBármely felhasználó frissítheti az alkalmazásokat valamennyi felhasználó számára."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Maximális felhasználószám elérve"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Legfeljebb <xliff:g id="COUNT">%d</xliff:g> felhasználót adhat hozzá.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Szünet"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Előző szám"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Következő szám"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Játék"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> megnyitása"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> <xliff:g id="SONG_NAME">%1$s</xliff:g> című számának lejátszása innen: <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index aa03db0..c7024b5 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Դեմքը ճանաչվեց"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Հաստատվեց"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Ավարտելու համար հպեք «Հաստատել»"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Ապակողպվել է դեմքով։ Սեղմեք ապակողպման պատկերակը։"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Նույնականացված է"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Օգտագործել PIN կոդ"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Օգտագործել նախշ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Կրկին հպեք՝ բացելու համար"</string>
<string name="tap_again" msgid="1315420114387908655">"Նորից հպեք"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Բացելու համար սահեցրեք վերև"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Բացեք՝ սեղմելով ապակողպման պատկերակը"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ապակողպվել է դեմքով։ Բացեք՝ սեղմելով ապակողպման պատկերակը։"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Սահեցրեք վերև՝ նորից փորձելու համար"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Ապակողպեք՝ NFC-ն օգտագործելու համար"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Այս սարքը պատկանում է ձեր կազմակերպությանը"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Շարունակե՞լ աշխատաշրջանը։"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Վերսկսել"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Այո, շարունակել"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Ավելացնե՞լ նոր օգտատեր"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Երբ նոր օգտատեր եք ավելացնում, նա պետք է կարգավորի իր պրոֆիլը:\n\nՑանկացած օգտատեր կարող է թարմացնել հավելվածները մյուս բոլոր հաշիվների համար:"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Սահմանաչափը սպառված է"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Հնարավոր է ավելացնել առավելագույնը <xliff:g id="COUNT">%d</xliff:g> օգտատեր։</item>
@@ -611,7 +616,7 @@
<item msgid="5874146774389433072">"Աջակողմյան"</item>
</string-array>
<string name="save" msgid="3392754183673848006">"Պահել"</string>
- <string name="reset" msgid="8715144064608810383">"Վերակայել"</string>
+ <string name="reset" msgid="8715144064608810383">"Զրոյացնել"</string>
<string name="clipboard" msgid="8517342737534284617">"Սեղմատախտակ"</string>
<string name="accessibility_key" msgid="3471162841552818281">"Հատուկ նավիգացիայի կոճակ"</string>
<string name="left_keycode" msgid="8211040899126637342">"Ձախ ստեղնային կոդ"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Դադարեցնել"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Նախորդ կատարումը"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Հաջորդ կատարումը"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Նվագարկել"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Բացեք <xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Նվագարկել <xliff:g id="SONG_NAME">%1$s</xliff:g> երգը <xliff:g id="ARTIST_NAME">%2$s</xliff:g>-ի կատարմամբ <xliff:g id="APP_LABEL">%3$s</xliff:g> հավելվածից"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 396690f..8114306 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -91,7 +91,7 @@
<string name="screenrecord_name" msgid="2596401223859996572">"Perekam Layar"</string>
<string name="screenrecord_background_processing_label" msgid="7244617554884238898">"Memproses perekaman layar"</string>
<string name="screenrecord_channel_description" msgid="4147077128486138351">"Notifikasi yang sedang berjalan untuk sesi rekaman layar"</string>
- <string name="screenrecord_start_label" msgid="1750350278888217473">"Mulai Merekam?"</string>
+ <string name="screenrecord_start_label" msgid="1750350278888217473">"Mulai merekam?"</string>
<string name="screenrecord_description" msgid="1123231719680353736">"Saat merekam, Sistem Android dapat ikut merekam informasi sensitif yang terlihat di layar atau diputar di perangkat Anda. Informasi ini mencakup sandi, info pembayaran, foto, pesan, dan audio."</string>
<string name="screenrecord_audio_label" msgid="6183558856175159629">"Rekam audio"</string>
<string name="screenrecord_device_audio_label" msgid="9016927171280567791">"Audio perangkat"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Wajah diautentikasi"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Dikonfirmasi"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Ketuk Konfirmasi untuk menyelesaikan"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Kunci dibuka dengan wajah. Tekan ikon buka kunci untuk melanjutkan."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Diautentikasi"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Gunakan PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Gunakan pola"</string>
@@ -209,7 +208,7 @@
<string name="accessibility_rotation_lock_on_landscape" msgid="936972553861524360">"Layar dikunci dalam orientasi lanskap."</string>
<string name="accessibility_rotation_lock_on_portrait" msgid="2356633398683813837">"Layar dikunci dalam orientasi potret."</string>
<string name="dessert_case" msgid="9104973640704357717">"Etalase Hidangan Penutup"</string>
- <string name="start_dreams" msgid="9131802557946276718">"Screen saver"</string>
+ <string name="start_dreams" msgid="9131802557946276718">"Screensaver"</string>
<string name="ethernet_label" msgid="2203544727007463351">"Ethernet"</string>
<string name="quick_settings_dnd_label" msgid="7728690179108024338">"Jangan Ganggu"</string>
<string name="quick_settings_bluetooth_label" msgid="7018763367142041481">"Bluetooth"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ketuk lagi untuk membuka"</string>
<string name="tap_again" msgid="1315420114387908655">"Ketuk lagi"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Geser ke atas untuk membuka"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Tekan ikon buka kunci untuk membuka"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Kunci dibuka dengan wajah. Tekan ikon buka kunci untuk membuka."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Geser ke atas untuk mencoba lagi"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Buka kunci untuk menggunakan NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Perangkat ini milik organisasi Anda"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Lanjutkan sesi Anda?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Mulai ulang"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ya, lanjutkan"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Tambahkan pengguna baru?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Saat Anda menambahkan pengguna baru, orang tersebut perlu menyiapkan ruangnya sendiri.\n\nPengguna mana pun dapat mengupdate aplikasi untuk semua pengguna lain."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Batas pengguna tercapai"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Anda dapat menambahkan hingga <xliff:g id="COUNT">%d</xliff:g> pengguna.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Jeda"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Lagu sebelumnya"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Lagu berikutnya"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Putar"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Buka <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Putar <xliff:g id="SONG_NAME">%1$s</xliff:g> oleh <xliff:g id="ARTIST_NAME">%2$s</xliff:g> dari <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
@@ -906,7 +913,7 @@
<string name="see_all_networks" msgid="3773666844913168122">"Lihat semua"</string>
<string name="to_switch_networks_disconnect_ethernet" msgid="6698111101156951955">"Untuk beralih jaringan, lepaskan kabel ethernet"</string>
<string name="wifi_scan_notify_message" msgid="3753839537448621794">"Agar pengalaman perangkat menjadi lebih baik, aplikasi dan layanan tetap dapat memindai jaringan Wi-Fi kapan saja, bahkan saat Wi-Fi nonaktif. Anda dapat mengubahnya di setelan pemindaian Wi-Fi. "<annotation id="link">"Ubah"</annotation></string>
- <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Menonaktifkan mode pesawat"</string>
+ <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Nonaktifkan mode pesawat"</string>
<string name="qs_tile_request_dialog_text" msgid="3501359944139877694">"<xliff:g id="APPNAME">%1$s</xliff:g> ingin menambahkan kartu berikut ke Setelan Cepat"</string>
<string name="qs_tile_request_dialog_add" msgid="4888460910694986304">"Tambahkan kartu"</string>
<string name="qs_tile_request_dialog_not_add" msgid="4168716573114067296">"Jangan tambah kartu"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 251e4e2..e75a8f1 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Andlit staðfest"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Staðfest"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Ýttu á „Staðfesta“ til að ljúka"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Opnað með andliti. Ýttu á táknið taka úr lás til að halda áfram."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Auðkennt"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Nota PIN-númer"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Nota mynstur"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ýttu aftur til að opna"</string>
<string name="tap_again" msgid="1315420114387908655">"Ýttu aftur"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Strjúktu upp til að opna"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ýttu á táknið til að taka úr lás til að opna"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Opnað með andliti. Ýttu á táknið taka úr lás til að opna."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Strjúktu upp til að reyna aftur"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Taktu úr lás til að nota NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Þetta tæki tilheyrir fyrirtækinu þínu"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Viltu halda áfram með lotuna?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Byrja upp á nýtt"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Já, halda áfram"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Bæta nýjum notanda við?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Þegar þú bætir nýjum notanda við þarf sá notandi að setja upp svæðið sitt.\n\nHvaða notandi sem er getur uppfært forrit fyrir alla aðra notendur."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Notandahámarki náð"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Þú getur bætt við allt að <xliff:g id="COUNT">%d</xliff:g> notanda.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Gera hlé"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Fyrra lag"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Næsta lag"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Spila"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Opna <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Spila <xliff:g id="SONG_NAME">%1$s</xliff:g> með <xliff:g id="ARTIST_NAME">%2$s</xliff:g> í <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 84b1ffd..10c6a59 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Volto autenticato"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confermato"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tocca Conferma per completare"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Sbloccato con il volto. Premi l\'icona Sblocca e continua."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autenticazione eseguita"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Utilizza PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Usa sequenza"</string>
@@ -285,7 +284,7 @@
<string name="quick_settings_screen_record_label" msgid="8650355346742003694">"Registrazione dello schermo"</string>
<string name="quick_settings_screen_record_start" msgid="1574725369331638985">"Inizia"</string>
<string name="quick_settings_screen_record_stop" msgid="8087348522976412119">"Interrompi"</string>
- <string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modalità one-hand"</string>
+ <string name="quick_settings_onehanded_label" msgid="2416537930246274991">"Modalità a una mano"</string>
<string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"Vuoi sbloccare il microfono del dispositivo?"</string>
<string name="sensor_privacy_start_use_camera_dialog_title" msgid="8807639852654305227">"Vuoi sbloccare la fotocamera del dispositivo?"</string>
<string name="sensor_privacy_start_use_mic_camera_dialog_title" msgid="4316471859905020023">"Vuoi sbloccare la fotocamera e il microfono del dispositivo?"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Tocca ancora per aprire"</string>
<string name="tap_again" msgid="1315420114387908655">"Tocca di nuovo"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Scorri verso l\'alto per aprire"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Premi l\'icona Sblocca per aprire"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Sbloccato con il volto. Premi l\'icona Sblocca per aprire."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Scorri verso l\'alto per riprovare"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Sblocca per usare NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Questo dispositivo appartiene alla tua organizzazione"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vuoi continuare la sessione?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Ricomincia"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sì, continua"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Aggiungere un nuovo utente?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Il nuovo utente, una volta aggiunto, deve impostare il proprio spazio.\n\nQualsiasi utente può aggiornare le app per tutti gli altri."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite di utenti raggiunto"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Puoi aggiungere fino a <xliff:g id="COUNT">%d</xliff:g> utenti.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Metti in pausa"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Traccia precedente"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Traccia successiva"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Riproduci"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Apri <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Riproduci <xliff:g id="SONG_NAME">%1$s</xliff:g> di <xliff:g id="ARTIST_NAME">%2$s</xliff:g> da <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index bc2918d..451d96c 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"זיהוי הפנים בוצע"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"יש אישור"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"יש להקיש על \'אישור\' לסיום התהליך"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"הנעילה בוטלה בזיהוי פנים. להמשך, לוחצים על סמל ביטול הנעילה."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"מאומת"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"שימוש בקוד אימות"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"שימוש בקו ביטול נעילה"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"יש להקיש שוב כדי לפתוח את ההתראה"</string>
<string name="tap_again" msgid="1315420114387908655">"צריך להקיש פעם נוספת"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"צריך להחליק כדי לפתוח"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"לפתיחה, לוחצים על סמל ביטול הנעילה"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"הנעילה בוטלה בזיהוי פנים. פותחים בלחיצה על סמל ביטול הנעילה."</string>
<string name="keyguard_retry" msgid="886802522584053523">"יש להחליק למעלה כדי לנסות שוב"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"יש לבטל את הנעילה כדי להשתמש ב-NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"המכשיר הזה שייך לארגון שלך"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"האם ברצונך להמשיך בפעילות באתר?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"סשן חדש"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"כן, להמשיך"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"להוסיף משתמש חדש?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"כשמוסיפים משתמש חדש, המשתמש הזה צריך להגדיר את השטח שלו.\n\nכל משתמש יכול לעדכן אפליקציות עבור כל המשתמשים האחרים."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"הגעת למגבלת המשתמשים שניתן להוסיף"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="two">ניתן להוסיף עד <xliff:g id="COUNT">%d</xliff:g> משתמשים.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"השהיה"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"הטראק הקודם"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"הטראק הבא"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"הפעלה"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"פתיחה של <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"הפעלת <xliff:g id="SONG_NAME">%1$s</xliff:g> של <xliff:g id="ARTIST_NAME">%2$s</xliff:g> מ-<xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 5594fdd..0cde116 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"セッションを続行しますか?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"最初から開始"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"続行"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"新しいユーザーを追加しますか?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"新しいユーザーを追加したら、そのユーザーは自分のスペースをセットアップする必要があります。\n\nすべてのユーザーは他のユーザーに代わってアプリを更新できます。"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ユーザー数が上限に達しました"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">最大 <xliff:g id="COUNT">%d</xliff:g> 人のユーザーを追加できます。</item>
@@ -347,7 +355,7 @@
<string name="user_remove_user_message" msgid="6702834122128031833">"このユーザーのアプリとデータがすべて削除されます。"</string>
<string name="user_remove_user_remove" msgid="8387386066949061256">"削除"</string>
<string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> は、録画中やキャスト中に画面に表示されたり、デバイスで再生されるすべての情報にアクセスできます。これには、パスワード、お支払いの詳細、写真、メッセージ、再生される音声などが含まれます。"</string>
- <string name="media_projection_dialog_service_text" msgid="958000992162214611">"この機能を提供するサービスは、画面上に表示される情報またはキャスト先に転送する情報すべてに、録画中またはキャスト中にアクセスできます。これには、パスワード、お支払いの詳細、写真、メッセージ、再生される音声などが含まれます。"</string>
+ <string name="media_projection_dialog_service_text" msgid="958000992162214611">"この機能を提供するサービスは、録画中またはキャスト中に画面上に表示される情報、またはキャスト先に転送される情報すべてにアクセスできます。これには、パスワード、お支払いの詳細、写真、メッセージ、再生される音声などが含まれます。"</string>
<string name="media_projection_dialog_service_title" msgid="2888507074107884040">"録画やキャストを開始しますか?"</string>
<string name="media_projection_dialog_title" msgid="3316063622495360646">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> で録画やキャストを開始しますか?"</string>
<string name="clear_all_notifications_text" msgid="348312370303046130">"すべて消去"</string>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"一時停止"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"前のトラック"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"次のトラック"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"再生"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> を開く"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g>(アーティスト名: <xliff:g id="ARTIST_NAME">%2$s</xliff:g>)を <xliff:g id="APP_LABEL">%3$s</xliff:g> で再生"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index d7fb9fe..a15dd67 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"გსურთ, თქვენი სესიის გაგრძელება?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ხელახლა დაწყება"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"დიახ, გავაგრძელოთ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"დაემატოს ახალი მომხმარებელი?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ახალი მომხმარებლის დამატებისას, ამ მომხმარებელს საკუთარი სივრცის შექმნა მოუწევს.\n\nნებისმიერ მომხმარებელს შეუძლია აპები ყველა სხვა მომხმარებლისათვის განაახლოს."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"მიღწეულია მომხმარებელთა ლიმიტი"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">შესაძლებელია <xliff:g id="COUNT">%d</xliff:g>-მდე მომხმარებლის დამატება.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"პაუზა"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"წინა ჩანაწერი"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"შემდეგი ჩანაწერი"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"დაკვრა"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"გახსენით <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"დაუკარით <xliff:g id="SONG_NAME">%1$s</xliff:g>, <xliff:g id="ARTIST_NAME">%2$s</xliff:g>, <xliff:g id="APP_LABEL">%3$s</xliff:g>-დან"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index 0534486..9408df5 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Бет танылды."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Расталды"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Аяқтау үшін \"Растау\" түймесін түртіңіз."</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Бет үлгісі арқылы ашылды. Жалғастыру үшін құлыпты ашу белгішесін басыңыз."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Аутентификацияланған"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN кодын пайдалану"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Өрнекті пайдалану"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ашу үшін қайта түртіңіз"</string>
<string name="tap_again" msgid="1315420114387908655">"Қайта түртіңіз."</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Ашу үшін жоғары қарай сырғытыңыз."</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ашу үшін құлыпты ашу белгішесін басыңыз."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Бет үлгісі арқылы ашылды. Ашу үшін құлыпты ашу белгішесін басыңыз."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Әрекетті қайталау үшін жоғары сырғытыңыз."</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC пайдалану үшін құлыпты ашыңыз."</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Бұл құрылғы ұйымыңызға тиесілі."</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Сеансты жалғастыру керек пе?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Қайта бастау"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Иә, жалғастыру"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Жаңа пайдаланушы қосылсын ба?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Жаңа пайдаланушыны қосқанда, сол адам өз кеңістігін реттеуі керек.\n\nКез келген пайдаланушы барлық басқа пайдаланушылар үшін қолданбаларды жаңарта алады."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Пайдаланушылар саны шегіне жетті"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> пайдаланушыға дейін енгізуге болады.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Кідірту"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Алдыңғы трек"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Келесі трек"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Ойнату"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасын ашу"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> қолданбасында <xliff:g id="ARTIST_NAME">%2$s</xliff:g> орындайтын \"<xliff:g id="SONG_NAME">%1$s</xliff:g>\" әнін ойнату"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index fc400e3..751f8e6 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"តើអ្នកចង់បន្តវគ្គរបស់អ្នកទេ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ចាប់ផ្ដើមសាជាថ្មី"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"បាទ/ចាស បន្ត"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"បញ្ចូលអ្នកប្រើថ្មីឬ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"នៅពេលអ្នកបញ្ចូលអ្នកប្រើថ្មី អ្នកប្រើនោះត្រូវរៀបចំកន្លែងរបស់គេ។\n\nអ្នកប្រើណាក៏អាចដំឡើងកំណែកម្មវិធីសម្រាប់អ្នកប្រើទាំងអស់ផ្សេងទៀតបានដែរ។"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"បានឈានដល់ចំនួនកំណត់អ្នកប្រើប្រាស់"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">អ្នកអាចបញ្ចូលអ្នកប្រើប្រាស់បានរហូតដល់ <xliff:g id="COUNT">%d</xliff:g> នាក់។</item>
@@ -619,7 +627,7 @@
<string name="drag_to_rearrange_tiles" msgid="2143204300089638620">"ចុចឱ្យជាប់ រួចអូសដើម្បីរៀបចំប្រអប់ឡើងវិញ"</string>
<string name="drag_to_remove_tiles" msgid="4682194717573850385">"អូសទីនេះដើម្បីយកចេញ"</string>
<string name="drag_to_remove_disabled" msgid="933046987838658850">"អ្នកត្រូវការប្រអប់យ៉ាងតិច <xliff:g id="MIN_NUM_TILES">%1$d</xliff:g>"</string>
- <string name="qs_edit" msgid="5583565172803472437">"កែសម្រួល"</string>
+ <string name="qs_edit" msgid="5583565172803472437">"កែ"</string>
<string name="tuner_time" msgid="2450785840990529997">"ម៉ោង"</string>
<string-array name="clock_options">
<item msgid="3986445361435142273">"បង្ហាញម៉ោង នាទី និងវិនាទី"</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ផ្អាក"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ចម្រៀងមុន"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ចម្រៀងបន្ទាប់"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ចាក់"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"បើក <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"ចាក់ <xliff:g id="SONG_NAME">%1$s</xliff:g> ច្រៀងដោយ <xliff:g id="ARTIST_NAME">%2$s</xliff:g> ពី <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index 865808a..406fa17 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ಮುಖವನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"ಪೂರ್ಣಗೊಳಿಸಲು ದೃಢೀಕರಿಸಿ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ಮುಖವನ್ನು ಬಳಸಿ ಅನ್ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. ಮುಂದುವರಿಯಲು ಅನ್ಲಾಕ್ ಐಕಾನ್ ಅನ್ನು ಒತ್ತಿ."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ಪಿನ್ ಬಳಸಿ"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ಪ್ಯಾಟರ್ನ್ ಬಳಸಿ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ತೆರೆಯಲು ಮತ್ತೆ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="tap_again" msgid="1315420114387908655">"ಪುನಃ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ತೆರೆಯಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ತೆರೆಯಲು ಅನ್ಲಾಕ್ ಐಕಾನ್ ಅನ್ನು ಒತ್ತಿ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ಮುಖವನ್ನು ಬಳಸಿ ಅನ್ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. ತೆರೆಯಲು ಅನ್ಲಾಕ್ ಐಕಾನ್ ಅನ್ನು ಒತ್ತಿ."</string>
<string name="keyguard_retry" msgid="886802522584053523">"ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ಬಳಸಲು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ಈ ಸಾಧನವು ನಿಮ್ಮ ಸಂಸ್ಥೆಗೆ ಸೇರಿದೆ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ನಿಮ್ಮ ಸೆಷನ್ ಮುಂದುವರಿಸಲು ಇಚ್ಚಿಸುವಿರಾ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ಪ್ರಾರಂಭಿಸಿ"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ಹೌದು, ಮುಂದುವರಿಸಿ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"ಹೊಸ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸುವುದೇ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ನೀವು ಒಬ್ಬ ಹೊಸ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಿದಾಗ, ಆ ವ್ಯಕ್ತಿಯು ಅವರ ಸ್ಥಳವನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ.\n\nಯಾವುದೇ ಬಳಕೆದಾರರು ಎಲ್ಲಾ ಇತರೆ ಬಳಕೆದಾರರಿಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಬಹುದು."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ಬಳಕೆದಾರರ ಮಿತಿ ತಲುಪಿದೆ"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">ನೀವು <xliff:g id="COUNT">%d</xliff:g> ಬಳಕೆದಾರರವರೆಗೆ ಸೇರಿಸಬಹುದು.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ವಿರಾಮಗೊಳಿಸಿ"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ಹಿಂದಿನ ಟ್ರ್ಯಾಕ್"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ಮುಂದಿನ ಟ್ರ್ಯಾಕ್"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ಪ್ಲೇ ಮಾಡಿ"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಿರಿ"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> ಅವರ <xliff:g id="SONG_NAME">%1$s</xliff:g> ಹಾಡನ್ನು <xliff:g id="APP_LABEL">%3$s</xliff:g> ನಲ್ಲಿ ಪ್ಲೇ ಮಾಡಿ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index d52942a..60bb933 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"얼굴이 인증되었습니다."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"확인함"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"완료하려면 확인을 탭하세요."</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"얼굴 인식으로 잠금 해제되었습니다. 계속하려면 잠금 해제 아이콘을 누르세요."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"인증됨"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN 사용"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"패턴 사용"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"다시 탭하여 열기"</string>
<string name="tap_again" msgid="1315420114387908655">"다시 탭하세요."</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"위로 스와이프하여 열기"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"기기를 열려면 잠금 해제 아이콘을 누르세요."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"얼굴 인식으로 잠금 해제되었습니다. 기기를 열려면 잠금 해제 아이콘을 누르세요."</string>
<string name="keyguard_retry" msgid="886802522584053523">"위로 스와이프하여 다시 시도해 주세요"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"잠금 해제하여 NFC 사용"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"내 조직에 속한 기기입니다."</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"세션을 계속 진행하시겠습니까?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"다시 시작"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"계속 진행"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"신규 사용자를 추가할까요?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"추가된 새로운 사용자는 자신의 공간을 설정해야 합니다.\n\n사용자라면 누구든 다른 사용자를 위해 앱을 업데이트할 수 있습니다."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"사용자 제한 도달"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">사용자를 <xliff:g id="COUNT">%d</xliff:g>명까지 추가할 수 있습니다.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"일시중지"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"이전 트랙"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"다음 트랙"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"재생"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 열기"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g>에서 <xliff:g id="ARTIST_NAME">%2$s</xliff:g>의 <xliff:g id="SONG_NAME">%1$s</xliff:g> 재생"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index a1b1c00..784e583 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Жүздүн аныктыгы текшерилди"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Ырасталды"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Бүтүрүү үчүн \"Ырастоо\" баскычын басыңыз"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Кулпусун жүзүңүз менен ачтыңыз. Улантуу үчүн кулпусун ачуу сүрөтчөсүн басыңыз."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Аныктыгы текшерилди"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN кодду колдонуу"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Графикалык ачкычты колдонуу"</string>
@@ -241,8 +240,8 @@
<string name="quick_settings_cast_detail_empty_text" msgid="2846282280014617785">"Жеткиликтүү түзмөктөр жок"</string>
<string name="quick_settings_cast_no_wifi" msgid="6980194769795014875">"Wi-Fi туташкан жок"</string>
<string name="quick_settings_brightness_dialog_title" msgid="4980669966716685588">"Жарыктыгы"</string>
- <string name="quick_settings_inversion_label" msgid="3501527749494755688">"Түстү инверсиялоо"</string>
- <string name="quick_settings_color_correction_label" msgid="5636617913560474664">"Түсүн тууралоо"</string>
+ <string name="quick_settings_inversion_label" msgid="3501527749494755688">"Түстөрдү инверсиялоо"</string>
+ <string name="quick_settings_color_correction_label" msgid="5636617913560474664">"Түстөрдү тууралоо"</string>
<string name="quick_settings_more_user_settings" msgid="1064187451100861954">"Колдонуучунун жөндөөлөрү"</string>
<string name="quick_settings_done" msgid="2163641301648855793">"Бүттү"</string>
<string name="quick_settings_close_user_panel" msgid="5599724542275896849">"Жабуу"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ачуу үчүн кайра таптап коюңуз"</string>
<string name="tap_again" msgid="1315420114387908655">"Кайра таптап коюңуз"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Ачуу үчүн өйдө сүрүңүз"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ачуу үчүн кулпусун ачуу сүрөтчөсүн басыңыз"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Кулпусун жүзүңүз менен ачтыңыз. Ачуу үчүн кулпусун ачуу сүрөтчөсүн басыңыз."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Кайталоо үчүн экранды өйдө сүрүңүз"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC колдонуу үчүн түзмөктүн кулпусун ачыңыз"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Бул түзмөк уюмуңузга таандык"</string>
@@ -341,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Сеансыңызды улантасызбы?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Кайра баштоо"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ооба, уланта берели"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"Конок режими"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"Конок режиминдесиз"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"Жаңы колдонуучу кошосузбу?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Жаңы колдонуучу кошулганда, ал өз мейкиндигин түзүп алышы керек.\n\nКолдонмолорду бир колдонуучу жаңыртканда, ал калган бардык колдонуучулар үчүн да жаңырат."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"Жаңы колдонуучуну кошсоңуз, конок режими жабылат жана учурдагы конок сеансындагы бардык колдонмолор жана дайындар өчүрүлөт."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"Дагы колдонуучу кошууга болбойт"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> колдонуучуга чейин кошууга болот.</item>
@@ -808,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Тындыруу"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Мурунку трек"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Кийинки трек"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"Туташууда"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Ойнотуу"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> колдонмосун ачуу"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g> ырын (аткаруучу: <xliff:g id="ARTIST_NAME">%2$s</xliff:g>) <xliff:g id="APP_LABEL">%3$s</xliff:g> колдонмосунан ойнотуу"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 26840cb..8d561c8 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ຢືນຢັນແລ້ວ"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"ແຕະຢືນຢັນເພື່ອສຳເລັດ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ປົດລັອກດ້ວຍໜ້າແລ້ວ. ກົດໄອຄອນປົດລັອກເພື່ອສືບຕໍ່."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ຮັບຮອງຄວາມຖືກຕ້ອງແລ້ວ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ໃຊ້ PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ໃຊ້ຮູບແບບ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ແຕະອີກຄັ້ງເພື່ອເປີດ"</string>
<string name="tap_again" msgid="1315420114387908655">"ແຕະອີກເທື່ອໜຶ່ງ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ປັດຂຶ້ນເພື່ອເປີດ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ກົດໄອຄອນປົດລັອກເພື່ອເປີດ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ປົດລັອກດ້ວຍໜ້າແລ້ວ. ກົດໄອຄອນປົດລັອກເພື່ອເປີດ."</string>
<string name="keyguard_retry" msgid="886802522584053523">"ປັດຂຶ້ນເພື່ອລອງໃໝ່"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"ປົດລັອກເພື່ອໃຊ້ NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ອຸປະກອນນີ້ເປັນຂອງອົງການທ່ານ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ທ່ານຕ້ອງການສືບຕໍ່ເຊດຊັນຂອງທ່ານບໍ່?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ເລີ່ມຕົ້ນໃຫມ່"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ຕົກລົງ, ດຳເນີນການຕໍ່"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"ເພີ່ມຜູ້ໃຊ້ໃໝ່ບໍ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ເມື່ອທ່ານເພີ່ມຜູ້ໃຊ້ໃໝ່, ຜູ້ໃຊ້ນັ້ນຈະຕ້ອງຕັ້ງຄ່າພື້ນທີ່ບ່ອນຈັດເກັບຂໍ້ມູນຂອງລາວ.\n\nຜູ້ໃຊ້ທຸກຄົນສາມາດອັບເດດແອັບຂອງຜູ້ໃຊ້ຄົນອື່ນທັງໝົດໄດ້."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ຮອດຂີດຈຳກັດຜູ້ໃຊ້ແລ້ວ"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">ທ່ານສາມາດເພີ່ມໄດ້ສູງສຸດ <xliff:g id="COUNT">%d</xliff:g> ຄົນ.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ຢຸດຊົ່ວຄາວ"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ເພງກ່ອນໜ້າ"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ເພງຕໍ່ໄປ"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ຫຼິ້ນ"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"ເປີດ <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"ຫຼິ້ນ <xliff:g id="SONG_NAME">%1$s</xliff:g> ໂດຍ <xliff:g id="ARTIST_NAME">%2$s</xliff:g> ຈາກ <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index c9bd89b..ab99dde 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -342,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Ar norite tęsti sesiją?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Pradėti iš naujo"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Taip, tęsti"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Pridėti naują naudotoją?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kai pridedate naują naudotoją, šis asmuo turi nustatyti savo erdvę.\n\nBet kuris naudotojas gali atnaujinti visų kitų naudotojų programas."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Pasiekta naudotojų riba"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Galite pridėti iki <xliff:g id="COUNT">%d</xliff:g> naudotojo.</item>
@@ -817,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pristabdyti"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Ankstesnis takelis"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Kitas takelis"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Leisti"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Atidaryti „<xliff:g id="APP_LABEL">%1$s</xliff:g>“"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Leisti <xliff:g id="ARTIST_NAME">%2$s</xliff:g> – „<xliff:g id="SONG_NAME">%1$s</xliff:g>“ iš „<xliff:g id="APP_LABEL">%3$s</xliff:g>“"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index e26e2ba..e22c1bb 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Seja autentificēta"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Apstiprināts"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Lai pabeigtu, pieskarieties Apstiprināt"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Atbloķēta ar seju. Turpināt: nospiediet atbloķēšanas ikonu."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentifikācija veikta"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Izmantot PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Izmantot kombināciju"</string>
@@ -313,10 +312,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Pieskarieties vēlreiz, lai atvērtu"</string>
<string name="tap_again" msgid="1315420114387908655">"Pieskarieties vēlreiz"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Velciet augšup, lai atvērtu"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Lai atvērtu, nospiediet atbloķēšanas ikonu"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Atbloķēta ar seju. Atvērt: nospiediet atbloķēšanas ikonu."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Velciet augšup, lai mēģinātu vēlreiz"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Atbloķējiet ierīci, lai izmantotu NFC."</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Šī ierīce pieder jūsu organizācijai."</string>
@@ -343,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vai vēlaties turpināt savu sesiju?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Sākt no sākuma"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Jā, turpināt"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Vai pievienot jaunu lietotāju?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kad pievienosiet jaunu lietotāju, viņam būs jāizveido savs profils.\n\nIkviens lietotājs var atjaunināt lietotnes citu lietotāju vietā."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Sasniegts lietotāju ierobežojums"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="zero">Varat pievienot ne vairāk kā <xliff:g id="COUNT">%d</xliff:g> lietotājus.</item>
@@ -814,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Apturēt"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Iepriekšējais ieraksts"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Nākamais ieraksts"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Atskaņot"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Atveriet lietotni <xliff:g id="APP_LABEL">%1$s</xliff:g>."</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Atskaņojiet failu “<xliff:g id="SONG_NAME">%1$s</xliff:g>” (izpildītājs: <xliff:g id="ARTIST_NAME">%2$s</xliff:g>) no lietotnes <xliff:g id="APP_LABEL">%3$s</xliff:g>."</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index 34c742b..1498549 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Дали сакате да продолжите со сесијата?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Почни одново"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Да, продолжи"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Да се додаде нов корисник?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Кога додавате нов корисник, тоа лице треба да го постави својот простор.\n\nСекој корисник може да ажурира апликации за сите други корисници."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Достигнато ограничување на корисник"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Може да додадете најмногу <xliff:g id="COUNT">%d</xliff:g> корисник.</item>
@@ -346,8 +354,8 @@
<string name="user_remove_user_title" msgid="9124124694835811874">"Да се отстрани корисникот?"</string>
<string name="user_remove_user_message" msgid="6702834122128031833">"Сите апликации и податоци од овој корисник ќе се избришат."</string>
<string name="user_remove_user_remove" msgid="8387386066949061256">"Отстрани"</string>
- <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ќе има пристап до сите податоци што се видливи на екранот или пуштени од вашиот уред додека се снима или емитува. Ова вклучува податоци како лозинки, детали за плаќање, фотографии, пораки, аудио што го пуштате итн."</string>
- <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Услугата што ја обезбедува функцијава ќе има пристап до сите податоци што се видливи на екранот или пуштени од вашиот уред додека се снима или емитува. Ова вклучува податоци како лозинки, детали за плаќање, фотографии, пораки, аудио што го пуштате итн."</string>
+ <string name="media_projection_dialog_text" msgid="1755705274910034772">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ќе има пристап до сите податоци што се видливи на екранот или пуштени од вашиот уред додека се снима или емитува. Ова вклучува податоци како лозинките, деталите за плаќање, фотографиите, пораките и аудиото што го пуштате."</string>
+ <string name="media_projection_dialog_service_text" msgid="958000992162214611">"Услугата што ја обезбедува функцијава ќе има пристап до сите податоци што се видливи на екранот или пуштени од вашиот уред додека се снима или емитува. Ова вклучува податоци како лозинките, деталите за плаќање, фотографиите, пораките и аудиото што го пуштате."</string>
<string name="media_projection_dialog_service_title" msgid="2888507074107884040">"Да почне снимање или емитување?"</string>
<string name="media_projection_dialog_title" msgid="3316063622495360646">"Да почне снимање или емитување со <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>?"</string>
<string name="clear_all_notifications_text" msgid="348312370303046130">"Избриши сѐ"</string>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Пауза"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Претходна песна"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Следна песна"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Пушти"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Отворете <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Пуштете <xliff:g id="SONG_NAME">%1$s</xliff:g> од <xliff:g id="ARTIST_NAME">%2$s</xliff:g> на <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 61b2101..4bc8ac2 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"നിങ്ങളുടെ സെഷൻ തുടരണോ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"പുനരാംരംഭിക്കുക"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"അതെ, തുടരുക"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"പുതിയ ഉപയോക്താവിനെ ചേർക്കണോ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"നിങ്ങൾ പുതിയൊരു ഉപയോക്താവിനെ ചേർക്കുമ്പോൾ, ആ വ്യക്തിക്ക് അവരുടെ ഇടം സജ്ജീകരിക്കേണ്ടതുണ്ട്.\n\nമറ്റ് എല്ലാ ഉപയോക്താക്കൾക്കുമായി ഏതൊരു ഉപയോക്താവിനും ആപ്പുകൾ അപ്ഡേറ്റ് ചെയ്യാനാവും."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ഉപയോക്തൃ പരിധി എത്തി"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">നിങ്ങൾക്ക് <xliff:g id="COUNT">%d</xliff:g> ഉപയോക്താക്കളെ വരെ ചേർക്കാനാവും.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"താൽക്കാലികമായി നിർത്തുക"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"മുമ്പത്തെ ട്രാക്ക്"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"അടുത്ത ട്രാക്ക്"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"പ്ലേ ചെയ്യുക"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> തുറക്കുക"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> എന്ന ആർട്ടിസ്റ്റിന്റെ <xliff:g id="SONG_NAME">%1$s</xliff:g> എന്ന ഗാനം <xliff:g id="APP_LABEL">%3$s</xliff:g> ആപ്പിൽ പ്ലേ ചെയ്യുക"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 2627d62..399414b 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Та үргэлжлүүлэхийг хүсэж байна уу?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Дахин эхлүүлэх"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Тийм, үргэлжлүүлэх"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Шинэ хэрэглэгч нэмэх үү?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Та шинэ хэрэглэгч нэмбэл тухайн хүн өөрийн профайлыг тохируулах шаардлагатай.\n\nАль ч хэрэглэгч бүх хэрэглэгчийн аппуудыг шинэчлэх боломжтой."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Хэрэглэгчийн хязгаарт хүрсэн"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Та <xliff:g id="COUNT">%d</xliff:g> хүртэлх хэрэглэгч нэмэх боломжтой.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Түр зогсоох"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Өмнөх бичлэг"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Дараагийн бичлэг"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Тоглуулах"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-г нээх"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g>-н <xliff:g id="SONG_NAME">%1$s</xliff:g>-г <xliff:g id="APP_LABEL">%3$s</xliff:g> дээр тоглуулах"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index ffe91ba..7c3504e 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"चेहरा ऑथेंटिकेशन केलेला आहे"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"निश्चित केले"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"पूर्ण करण्यासाठी खात्री करा वर टॅप करा"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"चेहऱ्याने अनलॉक केले. सुरू ठेवण्यासाठी अनलॉक करा आयकन दाबा."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ऑथेंटिकेशन केलेले"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"पिन वापरा"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"पॅटर्न वापरा"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"उघडण्यासाठी पुन्हा टॅप करा"</string>
<string name="tap_again" msgid="1315420114387908655">"पुन्हा टॅप करा"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"उघडण्यासाठी वर स्वाइप करा"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"उघडण्यासाठी अनलॉक करा आयकन दाबा"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"चेहऱ्याने अनलॉक केले. उघडण्यासाठी अनलॉक करा आयकन दाबा."</string>
<string name="keyguard_retry" msgid="886802522584053523">"पुन्हा प्रयत्न करण्यासाठी वर स्वाइप करा"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC वापरण्यासाठी स्क्रीन अनलॉक करा"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"हे डिव्हाइस तुमच्या संस्थेचे आहे"</string>
@@ -341,6 +338,11 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"तुम्ही तुमचे सत्र सुरू ठेवू इच्छिता?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"येथून सुरू करा"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"होय, सुरू ठेवा"</string>
+ <string name="guest_notification_app_name" msgid="2110425506754205509">"अतिथी मोड"</string>
+ <string name="guest_notification_session_active" msgid="5567273684713471450">"तुम्ही अतिथी मोडमध्ये आहात"</string>
+ <string name="user_add_user_title" msgid="4172327541504825032">"नवीन वापरकर्ता जोडायचा?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"तुम्ही एक नवीन वापरकर्ता जोडता तेव्हा, त्या व्यक्तीने त्यांचे स्थान सेट करणे आवश्यक असते.\n\nकोणताही वापरकर्ता इतर सर्व वापरकर्त्यांसाठी अॅप्स अपडेट करू शकतो."</string>
+ <string name="user_add_user_message_guest_remove" msgid="5589286604543355007">\n\n"नवीन वापरकर्ता जोडल्याने अतिथी मोडमधून बाहेर पडेल आणि सध्याच्या अतिथी सत्रातील सर्व अॅप्स व डेटा हटवला जाईल."</string>
<string name="user_limit_reached_title" msgid="2429229448830346057">"वापरकर्ता मर्यादा गाठली"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">तुम्ही <xliff:g id="COUNT">%d</xliff:g> वापरकर्त्यांपर्यंत जोडू शकता.</item>
@@ -808,6 +810,7 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"थांबवा"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"मागील गाणे"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"पुढील गाणे"</string>
+ <string name="controls_media_button_connecting" msgid="3138354625847598095">"कनेक्ट करत आहे"</string>
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"प्ले करणे"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> उघडा"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> मध्ये <xliff:g id="ARTIST_NAME">%2$s</xliff:g> चे <xliff:g id="SONG_NAME">%1$s</xliff:g> प्ले करा"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index d2596dc..c625cf3 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Wajah disahkan"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Disahkan"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Ketik Sahkan untuk menyelesaikan"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Dibuka kunci dengan wajah. Tekan ikon buka kunci untuk teruskan."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Disahkan"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Gunakan PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Gunakan corak"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ketik lagi untuk membuka"</string>
<string name="tap_again" msgid="1315420114387908655">"Ketik sekali lagi"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Leret ke atas untuk buka"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Tekan ikon buka kunci untuk buka"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Dibuka kunci dengan wajah. Tekan ikon buka kunci untuk buka."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Leret ke atas untuk mencuba lagi"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Buka kunci untuk menggunakan NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Peranti ini milik organisasi anda"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Adakah anda ingin meneruskan sesi anda?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Mulakan semula"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ya, teruskan"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Tambah pengguna baharu?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Apabila anda menambah pengguna baharu, orang itu perlu menyediakan ruang mereka.\n\nMana-mana pengguna boleh mengemas kini apl untuk semua pengguna lain."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Had pengguna dicapai"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Anda boleh menambah sehingga <xliff:g id="COUNT">%d</xliff:g> pengguna.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Jeda"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Lagu sebelumnya"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Lagu seterusnya"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Main"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Buka <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Mainkan <xliff:g id="SONG_NAME">%1$s</xliff:g> oleh <xliff:g id="ARTIST_NAME">%2$s</xliff:g> daripada <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index e795c45..08c3f40 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"မျက်နှာ အထောက်အထားစိစစ်ပြီးပြီ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"အတည်ပြုပြီးပြီ"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"အပြီးသတ်ရန်အတွက် \'အတည်ပြုရန်\' ကို တို့ပါ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"မျက်နှာဖြင့် ဖွင့်ထားသည်။ ရှေ့ဆက်ရန် လော့ခ်ဖွင့်သင်္ကေတကို နှိပ်ပါ။"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"အထောက်အထားစိစစ်ပြီးပြီ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ပင်နံပါတ်သုံးရန်"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ပုံစံကို သုံးရန်"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ဖွင့်ရန် ထပ်ပြီး ပုတ်ပါ"</string>
<string name="tap_again" msgid="1315420114387908655">"ထပ်တို့ပါ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ဖွင့်ရန် အပေါ်သို့ပွတ်ဆွဲပါ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ဖွင့်ရန် လော့ခ်ဖွင့်သင်္ကေတကို နှိပ်ပါ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"မျက်နှာဖြင့် ဖွင့်ထားသည်။ ဖွင့်ရန် လော့ခ်ဖွင့်သင်္ကေတကို နှိပ်ပါ။"</string>
<string name="keyguard_retry" msgid="886802522584053523">"ထပ်စမ်းကြည့်ရန် အပေါ်သို့ပွတ်ဆွဲပါ"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ကို အသုံးပြုရန် လော့ခ်ဖွင့်ပါ"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ဤစက်ကို သင့်အဖွဲ့အစည်းက ပိုင်ဆိုင်သည်"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"သင်၏ စက်ရှင်ကို ဆက်လုပ်လိုပါသလား။"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ပြန်စပါ"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ဆက်လုပ်ပါ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"အသုံးပြုသူအသစ်ကို ထည့်မလား။"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"သင်ထည့်လိုက်သော အသုံးပြုသူအသစ်သည် ၎င်း၏နေရာကို သတ်မှတ်စီစဉ်ရန် လိုအပ်သည်။\n\nမည်သည့်အသုံးပြုသူမဆို ကျန်သူများအားလုံးအတွက် အက်ပ်များကို အပ်ဒိတ်လုပ်ပေးနိုင်သည်။"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"အသုံးပြုသူ အကန့်အသတ် ပြည့်သွားပါပြီ"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">အသုံးပြုသူ <xliff:g id="COUNT">%d</xliff:g> ဦးအထိ ထည့်နိုင်သည်။</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ခဏရပ်ရန်"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ယခင် တစ်ပုဒ်"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"နောက်တစ်ပုဒ်"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ဖွင့်ခြင်း"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ကို ဖွင့်ပါ"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> ၏ <xliff:g id="SONG_NAME">%1$s</xliff:g> ကို <xliff:g id="APP_LABEL">%3$s</xliff:g> တွင် ဖွင့်ပါ"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 7a3d90f..bccc9e0 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Ansiktet er autentisert"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bekreftet"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Trykk på Bekreft for å fullføre"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Låst opp med ansiktet. Trykk på lås opp-ikon for å fortsette"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentisert"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Bruk PIN-kode"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Bruk mønster"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Trykk på nytt for å åpne"</string>
<string name="tap_again" msgid="1315420114387908655">"Trykk igjen"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Sveip opp for å åpne"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Trykk på lås opp-ikonet for å åpne"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Låst opp med ansiktet. Trykk på lås opp-ikon for å fortsette"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Sveip opp for å prøve igjen"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Lås opp for å bruke NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Denne enheten tilhører organisasjonen din"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vil du fortsette økten?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Start på nytt"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, fortsett"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Vil du legge til en ny bruker?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Når du legger til en ny bruker, må vedkommende konfigurere sitt eget område.\n\nAlle brukere kan oppdatere apper for alle andre brukere."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Grensen for antall brukere er nådd"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Du kan legge til opptil <xliff:g id="COUNT">%d</xliff:g> brukere.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Forrige spor"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Neste spor"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Spill av"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Åpne <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Spill av <xliff:g id="SONG_NAME">%1$s</xliff:g> av <xliff:g id="ARTIST_NAME">%2$s</xliff:g> fra <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
@@ -891,7 +898,7 @@
<string name="accessibility_fingerprint_bouncer" msgid="7189102492498735519">"Autentisering kreves. Trykk på fingeravtrykkssensoren for å autentisere."</string>
<string name="ongoing_phone_call_content_description" msgid="5332334388483099947">"Pågående telefonsamtale"</string>
<string name="mobile_data_settings_title" msgid="3955246641380064901">"Mobildata"</string>
- <string name="preference_summary_default_combination" msgid="8453246369903749670">"<xliff:g id="STATE">%1$s</xliff:g>/<xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
+ <string name="preference_summary_default_combination" msgid="8453246369903749670">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
<string name="mobile_data_connection_active" msgid="944490013299018227">"Tilkoblet"</string>
<string name="mobile_data_off_summary" msgid="3663995422004150567">"Mobildata kobler ikke til automatisk"</string>
<string name="mobile_data_no_connection" msgid="1713872434869947377">"Ingen tilkobling"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 8bb48ac..9d89584 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"अनुहार प्रमाणीकरण गरियो"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"पुष्टि भयो"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"पूरा गर्नका लागि पुष्टि गर्नुहोस् नामक विकल्पमा ट्याप गर्नुहोस्"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"अनुहार प्रयोग गरी अनलक गरियो। जारी राख्न अनलक आइकनमा थिच्नुहोस्।"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"प्रमाणीकरण गरियो"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN प्रयोग गर्नुहोस्"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ढाँचा प्रयोग गर्नुहोस्"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"खोल्न पुनः ट्याप गर्नुहोस्"</string>
<string name="tap_again" msgid="1315420114387908655">"फेरि ट्याप गर्नुहोस्"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"खोल्न माथितिर स्वाइप गर्नुहोस्"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"खोल्न अनलक आइकनमा थिच्नुहोस्"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"अनुहार प्रयोग गरी अनलक गरियो। खोल्न अनलक आइकनमा थिच्नुहोस्।"</string>
<string name="keyguard_retry" msgid="886802522584053523">"फेरि प्रयास गर्न माथितिर स्वाइप गर्नुहोस्"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC प्रयोग गर्न स्क्रिन अनलक गर्नुहोस्"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"यो डिभाइस तपाईंको सङ्गठनको स्वामित्वमा छ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"तपाईं आफ्नो सत्र जारी गर्न चाहनुहुन्छ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"सुरु गर्नुहोस्"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"हो, जारी राख्नुहोस्"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"नयाँ प्रयोगकर्ता थप्ने हो?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"जब तपाईँले नयाँ प्रयोगकर्ता थप्नुहुन्छ, त्यस प्रयोगकर्ताले आफ्नो स्थान स्थापना गर्न पर्ने छ।\n\nसबै प्रयोगकर्ताले अरू प्रयोगकर्ताका एपहरू अपडेट गर्न सक्छन्।"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"प्रयोगकर्ताको सीमा पुग्यो"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">तपाईं अधिकतम <xliff:g id="COUNT">%d</xliff:g> प्रयोगहरू मात्र थप्न सक्नुहुन्छ।</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"पज गर्नुहोस्"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"अघिल्लो ट्रयाक"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"अर्को ट्र्याक"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"प्ले गर्नुहोस्"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> खोल्नुहोस्"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> को <xliff:g id="SONG_NAME">%1$s</xliff:g> बोलको गीत <xliff:g id="APP_LABEL">%3$s</xliff:g> मा बजाउनुहोस्"</string>
diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml
index 4b96d5d..54c5490 100644
--- a/packages/SystemUI/res/values-night/colors.xml
+++ b/packages/SystemUI/res/values-night/colors.xml
@@ -59,7 +59,6 @@
<color name="global_actions_alert_text">@color/GM2_red_300</color>
<!-- Floating overlay actions -->
- <color name="overlay_button_ripple">#42FFFFFF</color>
<color name="overlay_background_protection_start">#80000000</color> <!-- 50% black -->
<!-- Media -->
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index d25f7d3..764ca8c 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Gezicht geverifieerd"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bevestigd"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tik op Bevestigen om te voltooien"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Ontgrendeld via gezicht. Druk op het ontgrendelicoon."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Geverifieerd"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Pincode gebruiken"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Patroon gebruiken"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Tik nog eens om te openen"</string>
<string name="tap_again" msgid="1315420114387908655">"Tik nog een keer"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Swipe omhoog om te openen"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Druk op het ontgrendelicoon om te openen"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ontgrendeld via gezicht. Druk op het ontgrendelicoon."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Swipe omhoog om het opnieuw te proberen"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Ontgrendel het apparaat om NFC te gebruiken"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Dit apparaat is eigendom van je organisatie"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Wil je doorgaan met je sessie?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Opnieuw starten"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, doorgaan"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Nieuwe gebruiker toevoegen?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Als je een nieuwe gebruiker toevoegt, moet die persoon zijn eigen profiel instellen.\n\nElke gebruiker kan apps updaten voor alle andere gebruikers."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Gebruikerslimiet bereikt"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Je kunt maximaal <xliff:g id="COUNT">%d</xliff:g> gebruikers toevoegen.</item>
@@ -572,7 +577,7 @@
<string name="keyboard_shortcut_group_system_back" msgid="1055709713218453863">"Terug"</string>
<string name="keyboard_shortcut_group_system_notifications" msgid="3615971650562485878">"Meldingen"</string>
<string name="keyboard_shortcut_group_system_shortcuts_helper" msgid="4856808328618265589">"Sneltoetsen"</string>
- <string name="keyboard_shortcut_group_system_switch_input" msgid="952555530383268166">"Toetsenbordindeling schakelen"</string>
+ <string name="keyboard_shortcut_group_system_switch_input" msgid="952555530383268166">"Toetsenbordindeling wisselen"</string>
<string name="keyboard_shortcut_group_applications" msgid="7386239431100651266">"Apps"</string>
<string name="keyboard_shortcut_group_applications_assist" msgid="771606231466098742">"Assistentie"</string>
<string name="keyboard_shortcut_group_applications_browser" msgid="2776211137869809251">"Browser"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pauzeren"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Vorige track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Volgende track"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Afspelen"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> openen"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="SONG_NAME">%1$s</xliff:g> van <xliff:g id="ARTIST_NAME">%2$s</xliff:g> afspelen via <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 4395fb5..9894d70 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ମୁହଁ ପ୍ରାମାଣିକତା ହୋଇଛି"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ସୁନିଶ୍ଚିତ କରାଯାଇଛି"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"ସମ୍ପୂର୍ଣ୍ଣ କରିବାକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁରେ ଟାପ୍ କରନ୍ତୁ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ଫେସ ମାଧ୍ୟମରେ ଅନଲକ କରାଯାଇଛି। ଜାରି ରଖିବାକୁ ଅନଲକ ଆଇକନ ଦବାନ୍ତୁ।"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ପ୍ରାମାଣିକତା ହୋଇଛି"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ପାଟର୍ନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ଖୋଲିବା ପାଇଁ ପୁଣି ଟାପ୍ କରନ୍ତୁ"</string>
<string name="tap_again" msgid="1315420114387908655">"ପୁଣି ଟାପ୍ କରନ୍ତୁ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ଖୋଲିବା ପାଇଁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ଖୋଲିବାକୁ ଅନଲକ ଆଇକନ ଦବାନ୍ତୁ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ଫେସ ମାଧ୍ୟମରେ ଅନଲକ କରାଯାଇଛି। ଖୋଲିବାକୁ ଅନଲକ ଆଇକନ ଦବାନ୍ତୁ।"</string>
<string name="keyguard_retry" msgid="886802522584053523">"ପୁଣି ଚେଷ୍ଟା କରିବା ପାଇଁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ବ୍ୟବହାର କରିବାକୁ ଅନଲକ୍ କରନ୍ତୁ"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ଏହି ଡିଭାଇସଟି ଆପଣଙ୍କ ସଂସ୍ଥାର ଅଟେ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ଆପଣ ନିଜର ସେସନ୍ ଜାରି ରଖିବାକୁ ଚାହାଁନ୍ତି କି?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ଆରମ୍ଭ କରନ୍ତୁ"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ହଁ, ଜାରି ରଖନ୍ତୁ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"ନୂତନ ଉପଯୋଗକର୍ତ୍ତା ଯୋଗ କରିବେ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ଆପଣ ଜଣେ ନୂଆ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଯୋଗ କଲେ,ତାଙ୍କୁ ସ୍ପେସ୍ ସେଟ୍ ଅପ୍ କରିବାକୁ ପଡ଼ିବ। \n \n ଅନ୍ୟ ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଯେ କୌଣସି ଉପଯୋଗକର୍ତ୍ତା ଆପଗୁଡ଼ିକୁ ଅପଡେଟ୍ କରିପାରିବେ।"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ଉପଯୋଗକର୍ତ୍ତା ସୀମାରେ ପହଞ୍ଚିଛି"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">କେବଳ <xliff:g id="COUNT">%d</xliff:g> ଉପଯୋଗକର୍ତ୍ତା ହିଁ ତିଆରି କରିହେବ।</item>
@@ -698,7 +703,7 @@
<string name="mobile_data" msgid="4564407557775397216">"ମୋବାଇଲ୍ ଡାଟା"</string>
<string name="mobile_data_text_format" msgid="6806501540022589786">"<xliff:g id="ID_1">%1$s</xliff:g> — <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="mobile_carrier_text_format" msgid="8912204177152950766">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>, <xliff:g id="MOBILE_DATA_TYPE">%2$s</xliff:g>"</string>
- <string name="wifi_is_off" msgid="5389597396308001471">"ୱାଇ-ଫାଇ ଅଫ୍ ଅଛି"</string>
+ <string name="wifi_is_off" msgid="5389597396308001471">"ୱାଇ-ଫାଇ ବନ୍ଦ ଅଛି"</string>
<string name="bt_is_off" msgid="7436344904889461591">"ବ୍ଲୁଟୂଥ୍ ଅଫ୍ ଅଛି"</string>
<string name="dnd_is_off" msgid="3185706903793094463">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଅଫ୍ ଅଛି"</string>
<string name="qs_dnd_prompt_auto_rule" msgid="3535469468310002616">"ଏକ (<xliff:g id="ID_1">%s</xliff:g>) ନିୟମ ଦ୍ୱାରା \"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ସ୍ୱଚାଳିତ ଭାବେ ଅନ୍ କରାଗଲା।"</string>
@@ -771,7 +776,7 @@
<string name="accessibility_control_move" msgid="8980344493796647792">"<xliff:g id="NUMBER">%d</xliff:g> ସ୍ଥିତିକୁ ମୁଭ୍ କରନ୍ତୁ"</string>
<string name="controls_favorite_default_title" msgid="967742178688938137">"ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ"</string>
<string name="controls_favorite_subtitle" msgid="6481675111056961083">"କ୍ୱିକ୍ ସେଟିଂସରୁ ଆକ୍ସେସ୍ କରିବାକୁ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକୁ ବାଛନ୍ତୁ"</string>
- <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ ପୁଣି ସଜାଇବାକୁ ସେଗୁଡ଼ିକୁ ଧରି ଟାଣନ୍ତୁ"</string>
+ <string name="controls_favorite_rearrange" msgid="5616952398043063519">"ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକୁ ପୁଣି ବ୍ୟବସ୍ଥିତ କରିବାକୁ ସେଗୁଡ଼ିକୁ ଡ୍ରାଗ କରି ଧରି ରଖନ୍ତୁ"</string>
<string name="controls_favorite_removed" msgid="5276978408529217272">"ସମସ୍ତ ନିୟନ୍ତ୍ରଣ କାଢ଼ି ଦିଆଯାଇଛି"</string>
<string name="controls_favorite_toast_no_changes" msgid="7094494210840877931">"ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ସେଭ୍ କରାଯାଇନାହିଁ"</string>
<string name="controls_favorite_see_other_apps" msgid="7709087332255283460">"ଅନ୍ୟ ଆପ୍ ଦେଖନ୍ତୁ"</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ବିରତ କରନ୍ତୁ"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ପୂର୍ବବର୍ତ୍ତୀ ଟ୍ରାକ"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ପରବର୍ତ୍ତୀ ଟ୍ରାକ"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ଚଲାନ୍ତୁ"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ଖୋଲନ୍ତୁ"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g>ରୁ <xliff:g id="ARTIST_NAME">%2$s</xliff:g>ଙ୍କ <xliff:g id="SONG_NAME">%1$s</xliff:g> ଚଲାନ୍ତୁ"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 99c97d86..855ec1a 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਿਰਤ ਹੋਇਆ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ਪੁਸ਼ਟੀ ਕੀਤੀ ਗਈ"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"ਪੂਰਾ ਕਰਨ ਲਈ ਪੁਸ਼ਟੀ ਕਰੋ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ਚਿਹਰੇ ਰਾਹੀਂ ਅਣਲਾਕ ਕੀਤਾ ਗਿਆ। ਜਾਰੀ ਰੱਖਣ ਲਈ \'ਅਣਲਾਕ ਕਰੋ\' ਪ੍ਰਤੀਕ ਨੂੰ ਦਬਾਓ।"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ਪ੍ਰਮਾਣਿਤ ਹੋਇਆ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ਪਿੰਨ ਵਰਤੋ"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ਪੈਟਰਨ ਵਰਤੋ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਟੈਪ ਕਰੋ"</string>
<string name="tap_again" msgid="1315420114387908655">"ਦੁਬਾਰਾ ਟੈਪ ਕਰੋ"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"ਖੋਲ੍ਹਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"ਖੋਲ੍ਹਣ ਲਈ \'ਅਣਲਾਕ ਕਰੋ\' ਪ੍ਰਤੀਕ ਨੂੰ ਦਬਾਓ"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ਚਿਹਰੇ ਰਾਹੀਂ ਅਣਲਾਕ ਕੀਤਾ ਗਿਆ। ਖੋਲ੍ਹਣ ਲਈ \'ਅਣਲਾਕ ਕਰੋ\' ਪ੍ਰਤੀਕ ਨੂੰ ਦਬਾਓ।"</string>
<string name="keyguard_retry" msgid="886802522584053523">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਉੱਤੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ਵਰਤਣ ਲਈ ਅਣਲਾਕ ਕਰੋ"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ਇਹ ਡੀਵਾਈਸ ਤੁਹਾਡੀ ਸੰਸਥਾ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ਕੀ ਤੁਸੀਂ ਆਪਣਾ ਸੈਸ਼ਨ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ਹਾਂ, ਜਾਰੀ ਰੱਖੋ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"ਕੀ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਨਵਾਂ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਉਸ ਵਿਅਕਤੀ ਨੂੰ ਆਪਣੀ ਜਗ੍ਹਾ ਸਥਾਪਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।\n\nਕੋਈ ਵੀ ਵਰਤੋਂਕਾਰ ਹੋਰ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਸੀਮਾ ਪੂਰੀ ਹੋਈ"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">ਤੁਸੀਂ <xliff:g id="COUNT">%d</xliff:g> ਤੱਕ ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"ਰੋਕੋ"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"ਪਿਛਲਾ ਟਰੈਕ"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ਅਗਲਾ ਟਰੈਕ"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ਚਲਾਓ"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਖੋਲ੍ਹੋ"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> ਤੋਂ <xliff:g id="ARTIST_NAME">%2$s</xliff:g> ਦਾ <xliff:g id="SONG_NAME">%1$s</xliff:g> ਚਲਾਓ"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index c1d86fc..9526d62 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -97,7 +97,7 @@
<string name="screenrecord_device_audio_label" msgid="9016927171280567791">"Dźwięki z urządzenia"</string>
<string name="screenrecord_device_audio_description" msgid="4922694220572186193">"Dźwięki odtwarzane na urządzeniu, na przykład muzyka, połączenia i dzwonki"</string>
<string name="screenrecord_mic_label" msgid="2111264835791332350">"Mikrofon"</string>
- <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"Mikrofon i dźwięki odtwarzane na urządzeniu"</string>
+ <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"Mikrofon i dźwięki z urządzenia"</string>
<string name="screenrecord_start" msgid="330991441575775004">"Rozpocznij"</string>
<string name="screenrecord_ongoing_screen_only" msgid="4459670242451527727">"Rejestruję zawartość ekranu"</string>
<string name="screenrecord_ongoing_screen_and_audio" msgid="5351133763125180920">"Rejestruje zawartość ekranu i dźwięki odtwarzane na urządzeniu"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Twarz rozpoznana"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potwierdzono"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Aby zakończyć, kliknij Potwierdź"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Odblokowano skanem twarzy. Aby kontynuować, kliknij ikonę odblokowywania."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Uwierzytelniono"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Użyj kodu PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Użyj wzoru"</string>
@@ -227,7 +226,7 @@
<string name="quick_settings_location_label" msgid="2621868789013389163">"Lokalizacja"</string>
<string name="quick_settings_camera_label" msgid="5612076679385269339">"Dostęp do aparatu"</string>
<string name="quick_settings_mic_label" msgid="8392773746295266375">"Dostęp do mikrofonu"</string>
- <string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"Dostępny"</string>
+ <string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"Odblokowany"</string>
<string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"Zablokowany"</string>
<string name="quick_settings_media_device_label" msgid="8034019242363789941">"Urządzenie multimedialne"</string>
<string name="quick_settings_user_title" msgid="8673045967216204537">"Użytkownik"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Kliknij ponownie, by otworzyć"</string>
<string name="tap_again" msgid="1315420114387908655">"Kliknij jeszcze raz"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Przesuń w górę, by otworzyć"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Aby otworzyć, kliknij ikonę odblokowywania"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Odblokowano skanem twarzy. Aby otworzyć, kliknij ikonę odblokowywania."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Przesuń w górę, by spróbować ponownie"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Odblokuj, by użyć komunikacji NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"To urządzenie należy do Twojej organizacji"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Chcesz kontynuować sesję?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Rozpocznij nową"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Tak, kontynuuj"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Dodać nowego użytkownika?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Gdy dodasz nowego użytkownika, musi on skonfigurować swój profil.\n\nKażdy użytkownik może aktualizować aplikacje wszystkich innych użytkowników."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Osiągnięto limit użytkowników"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="few">Możesz dodać maksymalnie <xliff:g id="COUNT">%d</xliff:g> użytkowników.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Wstrzymaj"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Poprzedni utwór"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Następny utwór"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Odtwórz"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otwórz aplikację <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Odtwórz utwór <xliff:g id="SONG_NAME">%1$s</xliff:g> (<xliff:g id="ARTIST_NAME">%2$s</xliff:g>) w aplikacji <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-pl/tiles_states_strings.xml b/packages/SystemUI/res/values-pl/tiles_states_strings.xml
index 03752a8..aae48c8 100644
--- a/packages/SystemUI/res/values-pl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pl/tiles_states_strings.xml
@@ -47,19 +47,19 @@
<item msgid="287997784730044767">"Włączony"</item>
</string-array>
<string-array name="tile_states_battery">
- <item msgid="6311253873330062961">"Niedostępny"</item>
- <item msgid="7838121007534579872">"Wyłączony"</item>
- <item msgid="1578872232501319194">"Włączony"</item>
+ <item msgid="6311253873330062961">"Niedostępne"</item>
+ <item msgid="7838121007534579872">"Wyłączone"</item>
+ <item msgid="1578872232501319194">"Włączone"</item>
</string-array>
<string-array name="tile_states_dnd">
- <item msgid="467587075903158357">"Niedostępny"</item>
- <item msgid="5376619709702103243">"Wyłączony"</item>
- <item msgid="4875147066469902392">"Włączony"</item>
+ <item msgid="467587075903158357">"Niedostępne"</item>
+ <item msgid="5376619709702103243">"Wyłączone"</item>
+ <item msgid="4875147066469902392">"Włączone"</item>
</string-array>
<string-array name="tile_states_flashlight">
<item msgid="3465257127433353857">"Niedostępny"</item>
- <item msgid="5044688398303285224">"Wyłączony"</item>
- <item msgid="8527389108867454098">"Włączony"</item>
+ <item msgid="5044688398303285224">"Wyłączona"</item>
+ <item msgid="8527389108867454098">"Włączona"</item>
</string-array>
<string-array name="tile_states_rotation">
<item msgid="4578491772376121579">"Niedostępny"</item>
@@ -77,9 +77,9 @@
<item msgid="1982293347302546665">"Włączony"</item>
</string-array>
<string-array name="tile_states_location">
- <item msgid="3316542218706374405">"Niedostępny"</item>
- <item msgid="4813655083852587017">"Wyłączony"</item>
- <item msgid="6744077414775180687">"Włączony"</item>
+ <item msgid="3316542218706374405">"Niedostępna"</item>
+ <item msgid="4813655083852587017">"Wyłączona"</item>
+ <item msgid="6744077414775180687">"Włączona"</item>
</string-array>
<string-array name="tile_states_hotspot">
<item msgid="3145597331197351214">"Niedostępny"</item>
@@ -92,14 +92,14 @@
<item msgid="4531508423703413340">"Włączono"</item>
</string-array>
<string-array name="tile_states_inversion">
- <item msgid="3638187931191394628">"Niedostępny"</item>
- <item msgid="9103697205127645916">"Wyłączony"</item>
- <item msgid="8067744885820618230">"Włączony"</item>
+ <item msgid="3638187931191394628">"Niedostępne"</item>
+ <item msgid="9103697205127645916">"Wyłączone"</item>
+ <item msgid="8067744885820618230">"Włączone"</item>
</string-array>
<string-array name="tile_states_saver">
- <item msgid="39714521631367660">"Niedostępny"</item>
- <item msgid="6983679487661600728">"Wyłączony"</item>
- <item msgid="7520663805910678476">"Włączony"</item>
+ <item msgid="39714521631367660">"Niedostępne"</item>
+ <item msgid="6983679487661600728">"Wyłączone"</item>
+ <item msgid="7520663805910678476">"Włączone"</item>
</string-array>
<string-array name="tile_states_dark">
<item msgid="2762596907080603047">"Niedostępny"</item>
@@ -117,9 +117,9 @@
<item msgid="588467578853244035">"Włączony"</item>
</string-array>
<string-array name="tile_states_night">
- <item msgid="7857498964264855466">"Niedostępny"</item>
- <item msgid="2744885441164350155">"Wyłączony"</item>
- <item msgid="151121227514952197">"Włączony"</item>
+ <item msgid="7857498964264855466">"Niedostępne"</item>
+ <item msgid="2744885441164350155">"Wyłączone"</item>
+ <item msgid="151121227514952197">"Włączone"</item>
</string-array>
<string-array name="tile_states_screenrecord">
<item msgid="1085836626613341403">"Niedostępny"</item>
@@ -147,9 +147,9 @@
<item msgid="8998632451221157987">"Włączony"</item>
</string-array>
<string-array name="tile_states_controls">
- <item msgid="8199009425335668294">"Niedostępny"</item>
- <item msgid="4544919905196727508">"Wyłączony"</item>
- <item msgid="3422023746567004609">"Włączony"</item>
+ <item msgid="8199009425335668294">"Niedostępne"</item>
+ <item msgid="4544919905196727508">"Wyłączone"</item>
+ <item msgid="3422023746567004609">"Włączone"</item>
</string-array>
<string-array name="tile_states_wallet">
<item msgid="4177615438710836341">"Niedostępny"</item>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 696628e..3bb02ab0 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Quer continuar a sessão?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Recomeçar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sim, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Adicionar novo usuário?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Quando você adiciona um novo usuário, essa pessoa precisa configurar o próprio espaço.\n\nQualquer usuário pode atualizar apps para os demais usuários."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite de usuários atingido"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> usuário.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausar"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Faixa anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Próxima faixa"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Iniciar"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abrir <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Tocar <xliff:g id="SONG_NAME">%1$s</xliff:g> de <xliff:g id="ARTIST_NAME">%2$s</xliff:g> no app <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 0442277..e76ccc8 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Pretende continuar a sessão?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Recomeçar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sim, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Adicionar um novo utilizador?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Ao adicionar um novo utilizador, essa pessoa tem de configurar o respetivo espaço.\n\nQualquer utilizador pode atualizar apps para todos os outros utilizadores."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite de utilizadores alcançado"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Pode adicionar até <xliff:g id="COUNT">%d</xliff:g> utilizadores.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausar"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Faixa anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Faixa seguinte"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Reproduzir"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abrir <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Reproduzir <xliff:g id="SONG_NAME">%1$s</xliff:g> de <xliff:g id="ARTIST_NAME">%2$s</xliff:g> a partir da app <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 696628e..3bb02ab0 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Quer continuar a sessão?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Recomeçar"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Sim, continuar"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Adicionar novo usuário?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Quando você adiciona um novo usuário, essa pessoa precisa configurar o próprio espaço.\n\nQualquer usuário pode atualizar apps para os demais usuários."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limite de usuários atingido"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> usuário.</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausar"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Faixa anterior"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Próxima faixa"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Iniciar"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Abrir <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Tocar <xliff:g id="SONG_NAME">%1$s</xliff:g> de <xliff:g id="ARTIST_NAME">%2$s</xliff:g> no app <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 406fe66..f47d82a 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Chip autentificat"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Confirmat"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Atingeți Confirmați pentru a finaliza"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"S-a deblocat cu ajutorul feței. Apăsați pictograma de deblocare pentru a continua"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentificat"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Folosiți PIN-ul"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Folosiți modelul"</string>
@@ -313,10 +312,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Atingeți din nou pentru a deschide"</string>
<string name="tap_again" msgid="1315420114387908655">"Atingeți din nou"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Glisați în sus pentru a deschide"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Apăsați pictograma de deblocare pentru a deschide"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"S-a deblocat cu ajutorul feței. Apăsați pictograma de deblocare pentru a deschide"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Glisați pentru a încerca din nou"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Deblocați pentru a folosi NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Dispozitivul aparține organizației dvs."</string>
@@ -343,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vreți să continuați sesiunea?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Începeți din nou"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Da, continuați"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Adăugați un utilizator nou?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Când adăugați un utilizator nou, acesta trebuie să-și configureze spațiul.\n\nOrice utilizator poate actualiza aplicațiile pentru toți ceilalți utilizatori."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Ați atins limita de utilizatori"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="few">Puteți adăuga maximum <xliff:g id="COUNT">%d</xliff:g> utilizatori.</item>
@@ -814,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Întrerupeți"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Melodia anterioară"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Melodia următoare"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Redați"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Deschideți <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Redați <xliff:g id="SONG_NAME">%1$s</xliff:g> de la <xliff:g id="ARTIST_NAME">%2$s</xliff:g> în <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 9a7367a..1af2ebe 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Лицо распознано"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Подтверждено"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Нажмите \"Подтвердить\""</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Сканирование выполнено. Нажмите на значок разблокировки."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Аутентификация выполнена"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN-код"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Использовать графический ключ"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Нажмите ещё раз, чтобы открыть"</string>
<string name="tap_again" msgid="1315420114387908655">"Нажмите ещё раз"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Проведите вверх, чтобы открыть"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Нажмите на значок разблокировки."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Сканирование выполнено. Нажмите на значок разблокировки."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Чтобы повторить попытку, проведите вверх"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Чтобы использовать NFC, разблокируйте устройство."</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Это устройство принадлежит вашей организации"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Продолжить сеанс?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Начать заново"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Да, продолжить"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Добавить пользователя?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Когда вы добавите пользователя, ему потребуется настроить профиль.\n\nЛюбой пользователь устройства может обновлять приложения для всех аккаунтов."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Достигнут лимит"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Можно добавить не более <xliff:g id="COUNT">%d</xliff:g> пользователя.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Приостановить"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Предыдущий трек"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Следующий трек"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Воспроизведение"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Открыть приложение \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\""</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Воспроизвести медиафайл \"<xliff:g id="SONG_NAME">%1$s</xliff:g>\" (исполнитель: <xliff:g id="ARTIST_NAME">%2$s</xliff:g>) из приложения \"<xliff:g id="APP_LABEL">%3$s</xliff:g>\""</string>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index b83fcae..e01b143 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"මුහුණ සත්යාපන කළා"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"තහවුරු කළා"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"සම්පූර්ණ කිරීමට තහවුරු කරන්න තට්ටු කර."</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"මුහුණ මගින් අගුලු හරින ලදි. දිගටම කරගෙන යාමට අගුලු හැරීමේ නිරූපකය ඔබන්න."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"සත්යාපනය විය"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN භාවිත කරන්න"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"රටාව භාවිත කරන්න"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"විවෘත කිරීමට නැවත තට්ටු කරන්න"</string>
<string name="tap_again" msgid="1315420114387908655">"නැවත තට්ටු කරන්න"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"විවෘත කිරීමට ස්වයිප් කරන්න"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"විවෘත කිරීමට අගුලු හැරීමේ නිරූපකය ඔබන්න"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"මුහුණ මගින් අගුලු හරින ලදි. විවෘත කිරීමට අගුලු හැරීමේ නිරූපකය ඔබන්න."</string>
<string name="keyguard_retry" msgid="886802522584053523">"නැවත උත්සාහ කිරීමට ඉහළට ස්වයිප් කරන්න"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC භාවිත කිරීමට අගුලු හරින්න"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"මෙම උපාංගය ඔබේ සංවිධානයට අයිතිය"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"ඔබගේ සැසිය දිගටම කරගෙන යෑමට ඔබට අවශ්යද?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"යළි මුල සිට අරඹන්න"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ඔව්, දිගටම කරගෙන යන්න"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"අලුත් පරිශීලකයෙක් එක් කරන්නද?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ඔබ අලුත් පරිශීලකයෙක් එකතු කරන විට, එම පුද්ගලයා ඔහුගේ වැඩ කරන ඉඩ සකසා ගත යුතුය.\n\nසියළුම අනෙක් පරිශීලකයින් සඳහා ඕනෑම පරිශීලකයෙකුට යාවත්කාලීන කළ හැක."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"පරිශීලක සීමාවට ළඟා විය"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">ඔබට පරිශීලකයින් <xliff:g id="COUNT">%d</xliff:g>ක් දක්වා එක් කළ හැකිය.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"විරාම ගන්වන්න"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"පෙර ඛණ්ඩය"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"ඊළඟ ඛණ්ඩය"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"වාදනය කරන්න"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> විවෘත කරන්න"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g>ගේ <xliff:g id="SONG_NAME">%1$s</xliff:g> <xliff:g id="APP_LABEL">%3$s</xliff:g> වෙතින් වාදනය කරන්න"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 9abb7f6..8e10d3b 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -114,7 +114,7 @@
<string name="accessibility_accessibility_button" msgid="4089042473497107709">"Dostupnosť"</string>
<string name="accessibility_rotate_button" msgid="1238584767612362586">"Otočenie obrazovky"</string>
<string name="accessibility_recent" msgid="901641734769533575">"Prehľad"</string>
- <string name="accessibility_camera_button" msgid="2938898391716647247">"Fotoaparát"</string>
+ <string name="accessibility_camera_button" msgid="2938898391716647247">"Kamera"</string>
<string name="accessibility_phone_button" msgid="4256353121703100427">"Telefón"</string>
<string name="accessibility_voice_assist_button" msgid="6497706615649754510">"Hlasový asistent"</string>
<string name="accessibility_wallet_button" msgid="1458258783460555507">"Peňaženka"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Tvár bola overená"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potvrdené"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Overenie dokončíte klepnutím na Potvrdiť"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Odomknuté tvárou. Pokračujte klepnutím na ikonu odomknutia"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Overené"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Použiť PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Použiť vzor"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Upozornenie otvoríte opätovným klepnutím"</string>
<string name="tap_again" msgid="1315420114387908655">"Klepnite znova"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Otvorte potiahnutím prstom nahor"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Otvorte klepnutím na ikonu odomknutia"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Odomknuté tvárou. Otvorte klepnutím na ikonu odomknutia."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Potiahnutím nahor to skúste znova"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Ak chcete použiť NFC, odomknite"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Toto zariadenie patrí vašej organizácii"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Chcete v relácii pokračovať?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Začať odznova"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Áno, pokračovať"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Pridať nového používateľa?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Keď pridáte nového používateľa, musí si nastaviť vlastný priestor.\n\nKtorýkoľvek používateľ môže aktualizovať aplikácie všetkých ostatných používateľov."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Dosiahnutý limit počtu používateľov"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="few">Môžete pridať maximálne <xliff:g id="COUNT">%d</xliff:g> používateľov.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pozastaviť"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Predchádzajúca skladba"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Ďalšia skladba"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Prehrať"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Otvoriť <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Prehrať skladbu <xliff:g id="SONG_NAME">%1$s</xliff:g> od interpreta <xliff:g id="ARTIST_NAME">%2$s</xliff:g> z aplikácie <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 1e645fb..7c88401 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Pristnost obraza je potrjena"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Potrjeno"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Za dokončanje se dotaknite »Potrdite«"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Odklenjeno z obrazom. Za nadaljevanje pritisnite ikono za odklepanje."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Preverjena pristnost"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Uporabi kodo PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Uporabi vzorec"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Znova se dotaknite, da odprete"</string>
<string name="tap_again" msgid="1315420114387908655">"Znova se dotaknite možnosti"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Povlecite navzgor, da odprete"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Za odpiranje pritisnite ikono za odklepanje."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Odklenjeno z obrazom. Za odpiranje pritisnite ikono za odklepanje."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Povlecite navzgor za vnovičen poskus"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Odklenite napravo, če želite uporabljati NFC."</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Ta naprava pripada vaši organizaciji"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Želite nadaljevati sejo?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Začni znova"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Da, nadaljuj"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Dodajanje novega uporabnika?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Ko dodate novega uporabnika, mora ta nastaviti svoj prostor.\n\nVsak uporabnik lahko posodobi aplikacije za vse druge uporabnike."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Omejitev uporabnikov je dosežena"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Dodate lahko do <xliff:g id="COUNT">%d</xliff:g> uporabnika.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Začasno zaustavi"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Prejšnja skladba"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Naslednja skladba"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Predvajaj"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Odpri aplikacijo <xliff:g id="APP_LABEL">%1$s</xliff:g>."</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Predvajaj skladbo <xliff:g id="SONG_NAME">%1$s</xliff:g> izvajalca <xliff:g id="ARTIST_NAME">%2$s</xliff:g> iz aplikacije <xliff:g id="APP_LABEL">%3$s</xliff:g>."</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index f150487..bacc6d2 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Fytyra u vërtetua"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Konfirmuar"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Trokit \"Konfirmo\" për ta përfunduar"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"U shkyç me fytyrë. Shtyp ikonën e shkyçjes për të vazhduar."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"U vërtetua"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Përdor kodin PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Përdor motivin"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Trokit përsëri për ta hapur"</string>
<string name="tap_again" msgid="1315420114387908655">"Trokit sërish"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Rrëshqit lart për ta hapur"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Shtyp ikonën e shkyçjes për ta hapur"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"U shkyç me fytyrë. Shtyp ikonën e shkyçjes për ta hapur."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Rrëshqit lart për të provuar përsëri"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Shkyçe për të përdorur NFC-në"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Kjo pajisje i përket organizatës sate"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Dëshiron ta vazhdosh sesionin tënd?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Fillo nga e para"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Po, vazhdo"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Të shtohet përdorues i ri?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kur shton një përdorues të ri, ai person duhet të konfigurojë hapësirën e vet.\n\nÇdo përdorues mund t\'i përditësojë aplikacionet për të gjithë përdoruesit e tjerë."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"U arrit kufiri i përdoruesve"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Mund të shtosh deri në <xliff:g id="COUNT">%d</xliff:g> përdorues.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Vendos në pauzë"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Pjesa muzikore e mëparshme"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Pjesa tjetër muzikore"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Luaj"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Hap <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Luaj <xliff:g id="SONG_NAME">%1$s</xliff:g> nga <xliff:g id="ARTIST_NAME">%2$s</xliff:g> nga <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index ffb5ab1..58e8b1f 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Лице је потврђено"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Потврђено"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Додирните Потврди да бисте завршили"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Откључано је лицем. Притисните икону откључавања за наставак"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Идентитет је потврђен"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Користите PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Користите шаблон"</string>
@@ -313,10 +312,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Додирните поново да бисте отворили"</string>
<string name="tap_again" msgid="1315420114387908655">"Додирните поново"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Превуците нагоре да бисте отворили"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Притисните икону откључавања за отварање"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Откључано је лицем. Притисните икону откључавања за отварање"</string>
<string name="keyguard_retry" msgid="886802522584053523">"Превуците нагоре да бисте пробали поново"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Откључајте да бисте користили NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Овај уређај припада организацији"</string>
@@ -343,6 +340,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Желите ли да наставите сесију?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Почни из почетка"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Да, настави"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Додајете новог корисника?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Када додате новог корисника, та особа треба да подеси свој простор.\n\nСваки корисник може да ажурира апликације за све остале кориснике."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Достигнут максимални број корисника"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Можете да додате највише <xliff:g id="COUNT">%d</xliff:g> корисника.</item>
@@ -814,6 +819,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Паузирај"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Претходна песма"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Следећа песма"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Пусти"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Отворите <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Пустите <xliff:g id="SONG_NAME">%1$s</xliff:g> извођача <xliff:g id="ARTIST_NAME">%2$s</xliff:g> из апликације <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 3a016e6..521cdbb 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Ansiktet har autentiserats"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Bekräftat"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Slutför genom att trycka på Bekräfta"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Upplåst med ansiktslås. Tryck på ikonen lås upp för att fortsätta."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Autentiserad"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Använd pinkod"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Använd mönster"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Tryck igen för att öppna"</string>
<string name="tap_again" msgid="1315420114387908655">"Tryck igen"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Öppna genom att svepa uppåt"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Tryck på ikonen lås upp för att öppna"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Upplåst med ansiktslås. Tryck på ikonen lås upp för att öppna."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Svep uppåt om du vill försöka igen"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Lås upp om du vill använda NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Den här enheten tillhör organisationen"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Vill du fortsätta sessionen?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Börja om"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ja, fortsätt"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Lägga till ny användare?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"När du lägger till en ny användare måste den personen konfigurera sitt utrymme.\n\nAlla användare kan uppdatera appar för samtliga användares räkning."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Användargränsen har nåtts"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Det går att lägga till upp till <xliff:g id="COUNT">%d</xliff:g> användare.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pausa"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Föregående spår"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Nästa spår"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Spela upp"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Öppna <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Spela upp <xliff:g id="SONG_NAME">%1$s</xliff:g> med <xliff:g id="ARTIST_NAME">%2$s</xliff:g> från <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
@@ -905,7 +912,7 @@
<string name="wifi_wont_autoconnect_for_now" msgid="5782282612749867762">"Du ansluts inte till wifi automatiskt för närvarande"</string>
<string name="see_all_networks" msgid="3773666844913168122">"Visa alla"</string>
<string name="to_switch_networks_disconnect_ethernet" msgid="6698111101156951955">"Koppla bort Ethernet för att växla nätverk"</string>
- <string name="wifi_scan_notify_message" msgid="3753839537448621794">"I syfte att förbättra upplevelsen med enheten kan appar och tjänster fortfarande söka efter wifi-nätverk när som helst, även om wifi har inaktiverats. "<annotation id="link">"Ändra"</annotation></string>
+ <string name="wifi_scan_notify_message" msgid="3753839537448621794">"I syfte att förbättra upplevelsen med enheten kan appar och tjänster fortfarande söka efter wifi-nätverk när som helst, även om wifi har inaktiverats. Du kan ändra detta i inställningarna för wifi-sökning. "<annotation id="link">"Ändra"</annotation></string>
<string name="turn_off_airplane_mode" msgid="8425587763226548579">"Inaktivera flygplansläge"</string>
<string name="qs_tile_request_dialog_text" msgid="3501359944139877694">"<xliff:g id="APPNAME">%1$s</xliff:g> vill lägga till följande ruta i snabbinställningarna"</string>
<string name="qs_tile_request_dialog_add" msgid="4888460910694986304">"Lägg till ruta"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 64ab1fa..a4f7bd6 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Uso umethibitishwa"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Imethibitishwa"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Gusa Thibitisha ili ukamilishe"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Imefunguliwa kwa kutumia uso wako. Bonyeza aikoni ya kufungua ili uendelee."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Umethibitishwa"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Tumia PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Tumia mchoro"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Gusa tena ili ufungue"</string>
<string name="tap_again" msgid="1315420114387908655">"Gusa tena"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Telezesha kidole juu ili ufungue"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Bonyeza aikoni ya kufungua ili ufungue"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Imefunguliwa kwa kutumia uso wako. Bonyeza aikoni ya kufungua ili ufungue."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Telezesha kidole juu ili ujaribu tena"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Fungua ili utumie NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Kifaa hiki kinamilikiwa na shirika lako"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Je, unataka kuendelea na kipindi chako?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Anza upya"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ndiyo, endelea"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Ungependa kuongeza mtumiaji?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Mtumiaji mpya utakayemwongeza atahitaji kuongeza akaunti yake.\n\nMtumiaji yoyote anaweza kusasisha programu kwa niaba ya wengine wote."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Umefikia kima cha juu cha watumiaji"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Unaruhusiwa kuongeza hadi watumiaji <xliff:g id="COUNT">%d</xliff:g>.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Simamisha"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Wimbo uliotangulia"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Wimbo unaofuata"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Cheza"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Fungua <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Cheza <xliff:g id="SONG_NAME">%1$s</xliff:g> ulioimbwa na <xliff:g id="ARTIST_NAME">%2$s</xliff:g> katika <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-sw600dp-port/dimens.xml b/packages/SystemUI/res/values-sw600dp-port/dimens.xml
index f5c0509..589d12f 100644
--- a/packages/SystemUI/res/values-sw600dp-port/dimens.xml
+++ b/packages/SystemUI/res/values-sw600dp-port/dimens.xml
@@ -20,4 +20,6 @@
<dimen name="keyguard_clock_top_margin">40dp</dimen>
<dimen name="keyguard_status_view_bottom_margin">40dp</dimen>
<dimen name="bouncer_user_switcher_y_trans">20dp</dimen>
+
+ <dimen name="qqs_layout_padding_bottom">16dp</dimen>
</resources>
diff --git a/packages/SystemUI/res/values-sw720dp-land/dimens.xml b/packages/SystemUI/res/values-sw720dp-land/dimens.xml
index 4d4f520..33d6f19 100644
--- a/packages/SystemUI/res/values-sw720dp-land/dimens.xml
+++ b/packages/SystemUI/res/values-sw720dp-land/dimens.xml
@@ -18,8 +18,8 @@
-->
<resources>
<dimen name="controls_padding_horizontal">205dp</dimen>
- <dimen name="split_shade_notifications_scrim_margin_bottom">16dp</dimen>
- <dimen name="notification_panel_margin_bottom">56dp</dimen>
+ <dimen name="split_shade_notifications_scrim_margin_bottom">24dp</dimen>
+ <dimen name="notification_panel_margin_bottom">64dp</dimen>
<dimen name="keyguard_split_shade_top_margin">72dp</dimen>
diff --git a/packages/SystemUI/res/values-sw720dp-port/dimens.xml b/packages/SystemUI/res/values-sw720dp-port/dimens.xml
index 44f8f3a..fc12d41 100644
--- a/packages/SystemUI/res/values-sw720dp-port/dimens.xml
+++ b/packages/SystemUI/res/values-sw720dp-port/dimens.xml
@@ -25,6 +25,8 @@
<dimen name="keyguard_status_view_bottom_margin">80dp</dimen>
<dimen name="bouncer_user_switcher_y_trans">90dp</dimen>
+ <dimen name="qqs_layout_padding_bottom">40dp</dimen>
+
<dimen name="notification_panel_margin_horizontal">96dp</dimen>
<dimen name="notification_side_paddings">40dp</dimen>
<dimen name="notification_section_divider_height">16dp</dimen>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index 15f5bbc..f0e1321 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"முகம் அங்கீகரிக்கப்பட்டது"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"உறுதிப்படுத்தப்பட்டது"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"முடிக்க \'உறுதிப்படுத்துக\' என்பதை தட்டவும்"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"முகம் மூலம் அன்லாக் செய்யப்பட்டது. தொடர, அன்லாக் ஐகானை அழுத்துக."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"அங்கீகரிக்கப்பட்டது"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"பின்னைப் பயன்படுத்து"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"பேட்டர்னைப் பயன்படுத்து"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"அன்லாக் செய்ய, மீண்டும் தட்டவும்"</string>
<string name="tap_again" msgid="1315420114387908655">"மீண்டும் தட்டவும்"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"திறப்பதற்கு மேல் நோக்கி ஸ்வைப் செய்யவும்"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"திறக்க, அன்லாக் ஐகானை அழுத்தவும்"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"முகம் மூலம் அன்லாக் செய்யப்பட்டது. திறக்க, அன்லாக் ஐகானை அழுத்துக."</string>
<string name="keyguard_retry" msgid="886802522584053523">"மீண்டும் முயல மேல்நோக்கி ஸ்வைப் செய்யவும்"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFCயைப் பயன்படுத்த அன்லாக் செய்யவும்"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"இந்த சாதனம் உங்கள் நிறுவனத்துக்கு சொந்தமானது"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"உங்கள் அமர்வைத் தொடர விருப்பமா?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"மீண்டும் தொடங்கு"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"தொடரவும்"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"புதியவரைச் சேர்க்கவா?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"புதிய பயனரைச் சேர்க்கும்போது, அவர் தனக்கான இடத்தை அமைக்க வேண்டும்.\n\nஎந்தவொரு பயனரும், மற்ற எல்லா பயனர்களுக்காகவும் ஆப்ஸைப் புதுப்பிக்கலாம்."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"பயனர் வரம்பை அடைந்துவிட்டீர்கள்"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> பயனர்கள் வரை சேர்க்க முடியும்.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"இடைநிறுத்து"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"முந்தைய டிராக்"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"அடுத்த டிராக்"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"இயக்குதல்"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸைத் திறங்கள்"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="ARTIST_NAME">%2$s</xliff:g> இன் <xliff:g id="SONG_NAME">%1$s</xliff:g> பாடலை <xliff:g id="APP_LABEL">%3$s</xliff:g> ஆப்ஸில் பிளேசெய்"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 8aea061..76980335 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -95,7 +95,7 @@
<string name="screenrecord_description" msgid="1123231719680353736">"రికార్డ్ చేస్తున్నప్పుడు, Android సిస్టమ్ మీ స్క్రీన్పై ప్రదర్శించబడిన లేదా మీ పరికరం నుండి ప్లే చేయబడిన ఏ సున్నితమైన సమాచారాన్నయినా క్యాప్చర్ చేయగలదు. ఈ సమాచారంలో, పాస్వర్డ్లు, పేమెంట్ వివరాలు, ఫోటోలు, మెసేజ్లు, ఆడియో కూడా ఉంటాయి."</string>
<string name="screenrecord_audio_label" msgid="6183558856175159629">"ఆడియోను రికార్డ్ చేయి"</string>
<string name="screenrecord_device_audio_label" msgid="9016927171280567791">"పరికరం ఆడియో"</string>
- <string name="screenrecord_device_audio_description" msgid="4922694220572186193">"మీ పరికరం నుండి వచ్చే సంగీతం, కాల్స్, రింగ్టోన్ల వంటి ధ్వనులు"</string>
+ <string name="screenrecord_device_audio_description" msgid="4922694220572186193">"మీ పరికరం నుండి వచ్చే మ్యూజిక్, కాల్స్, రింగ్టోన్ల వంటి ధ్వనులు"</string>
<string name="screenrecord_mic_label" msgid="2111264835791332350">"మైక్రోఫోన్"</string>
<string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"పరికరం ఆడియో, మైక్రోఫోన్"</string>
<string name="screenrecord_start" msgid="330991441575775004">"ప్రారంభించు"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ముఖం ప్రామాణీకరించబడింది"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"నిర్ధారించబడింది"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"పూర్తి చేయడానికి \"నిర్ధారించు\" నొక్కండి"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ముఖం ద్వారా అన్లాక్ చేయబడింది. కొనసాగించడానికి అన్లాక్ చిహ్నాన్ని నొక్కండి."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ప్రామాణీకరించబడింది"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"పిన్ను ఉపయోగించు"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ఆకృతిని ఉపయోగించు"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"తెరవడానికి మళ్లీ నొక్కండి"</string>
<string name="tap_again" msgid="1315420114387908655">"మళ్లీ ట్యాప్ చేయండి"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"తెరవడానికి, పైకి స్వైప్ చేయండి"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"తెరవడానికి అన్లాక్ చిహ్నాన్ని నొక్కండి"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ముఖం ద్వారా అన్లాక్ చేయబడింది. తెరవడానికి అన్లాక్ చిహ్నాన్ని నొక్కండి."</string>
<string name="keyguard_retry" msgid="886802522584053523">"మళ్ళీ ప్రయత్నించడానికి పైకి స్వైప్ చేయండి"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFCని ఉపయోగించడానికి అన్లాక్ చేయండి"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"ఈ పరికరం మీ సంస్థకు చెందినది"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"మీరు మీ సెషన్ని కొనసాగించాలనుకుంటున్నారా?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"మొదటి నుండి ప్రారంభించు"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"అవును, కొనసాగించు"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"కొత్త యూజర్ను జోడించాలా?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"ఒక కొత్త యూజర్ను మీరు జోడించినప్పుడు, ఆ వ్యక్తి తన స్పేస్ను సెటప్ చేసుకోవాలి.\n\nఏ యూజర్ అయినా మిగతా అందరు యూజర్ల కోసం యాప్లను అప్డేట్ చేయగలరు."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"వినియోగదారు పరిమితిని చేరుకున్నారు"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">మీరు <xliff:g id="COUNT">%d</xliff:g> వినియోగదారుల వరకు జోడించవచ్చు.</item>
@@ -704,7 +709,7 @@
<string name="qs_dnd_prompt_auto_rule" msgid="3535469468310002616">"ఆటోమేటిక్ నియమం (<xliff:g id="ID_1">%s</xliff:g>) ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది."</string>
<string name="qs_dnd_prompt_app" msgid="4027984447935396820">"యాప్ (<xliff:g id="ID_1">%s</xliff:g>) ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది."</string>
<string name="qs_dnd_prompt_auto_rule_app" msgid="1841469944118486580">"ఆటోమేటిక్ నియమం లేదా యాప్ ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది."</string>
- <string name="running_foreground_services_title" msgid="5137313173431186685">"నేపథ్యంలో అమలు అవుతున్న ఆప్లు"</string>
+ <string name="running_foreground_services_title" msgid="5137313173431186685">"బ్యాక్గ్రౌండ్లో అమలు అవుతున్న ఆప్లు"</string>
<string name="running_foreground_services_msg" msgid="3009459259222695385">"బ్యాటరీ మరియు డేటా వినియోగ వివరాల కోసం నొక్కండి"</string>
<string name="mobile_data_disable_title" msgid="5366476131671617790">"మొబైల్ డేటాను ఆఫ్ చేయాలా?"</string>
<string name="mobile_data_disable_message" msgid="8604966027899770415">"\"<xliff:g id="CARRIER">%s</xliff:g>\" ద్వారా మీకు డేటా లేదా ఇంటర్నెట్కు యాక్సెస్ ఉండదు. Wi-Fi ద్వారా మాత్రమే ఇంటర్నెట్ అందుబాటులో ఉంటుంది."</string>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"పాజ్ చేయండి"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"మునుపటి ట్రాక్"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"తర్వాతి ట్రాక్"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"ప్లే చేయండి"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g>ను తెరవండి"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> నుండి <xliff:g id="ARTIST_NAME">%2$s</xliff:g> పాడిన <xliff:g id="SONG_NAME">%1$s</xliff:g>ను ప్లే చేయండి"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 78e138d..b9c8b30 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"ตรวจสอบสิทธิ์ใบหน้าแล้ว"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"ยืนยันแล้ว"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"แตะยืนยันเพื่อดำเนินการให้เสร็จสมบูรณ์"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"ปลดล็อกด้วยใบหน้าแล้ว กดไอคอนปลดล็อกเพื่อดำเนินการต่อ"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"ตรวจสอบสิทธิ์แล้ว"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"ใช้ PIN"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"ใช้รูปแบบ"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"แตะอีกครั้งเพื่อเปิด"</string>
<string name="tap_again" msgid="1315420114387908655">"แตะอีกครั้ง"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"เลื่อนขึ้นเพื่อเปิด"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"กดไอคอนปลดล็อกเพื่อเปิด"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"ปลดล็อกด้วยใบหน้าแล้ว กดไอคอนปลดล็อกเพื่อเปิด"</string>
<string name="keyguard_retry" msgid="886802522584053523">"เลื่อนขึ้นเพื่อลองอีกครั้ง"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"ปลดล็อกเพื่อใช้ NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"องค์กรของคุณเป็นเจ้าของอุปกรณ์นี้"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"คุณต้องการอยู่ในเซสชันต่อไปไหม"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"เริ่มต้นใหม่"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ใช่ ดำเนินการต่อ"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"ต้องการเพิ่มผู้ใช้ใหม่ใช่ไหม"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"เมื่อคุณเพิ่มผู้ใช้ใหม่ ผู้ใช้ดังกล่าวจะต้องตั้งค่าพื้นที่ของตนเอง\n\nผู้ใช้ทุกคนสามารถอัปเดตแอปสำหรับผู้ใช้รายอื่นทุกคนได้"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"ถึงขีดจำกัดผู้ใช้แล้ว"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">คุณเพิ่มผู้ใช้ได้สูงสุด <xliff:g id="COUNT">%d</xliff:g> คน</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"หยุดชั่วคราว"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"แทร็กก่อนหน้า"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"เพลงถัดไป"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"เล่น"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"เปิด <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"เปิดเพลง <xliff:g id="SONG_NAME">%1$s</xliff:g> ของ <xliff:g id="ARTIST_NAME">%2$s</xliff:g> จาก <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 9721b75..85efeda 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Gusto mo bang ipagpatuloy ang iyong session?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Magsimulang muli"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Oo, magpatuloy"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Magdagdag ng bagong user?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Kapag nagdagdag ka ng bagong user, kailangang i-set up ng taong iyon ang kanyang espasyo.\n\nAng sinumang user ay maaaring mag-update ng mga app para sa lahat ng iba pang user."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Naabot na ang limitasyon sa user"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Maaari kang magdagdag ng hanggang <xliff:g id="COUNT">%d</xliff:g> user.</item>
@@ -454,7 +462,7 @@
<string name="enable_demo_mode" msgid="3180345364745966431">"I-enable ang demo mode"</string>
<string name="show_demo_mode" msgid="3677956462273059726">"Ipakita ang demo mode"</string>
<string name="status_bar_ethernet" msgid="5690979758988647484">"Ethernet"</string>
- <string name="status_bar_alarm" msgid="87160847643623352">"Alarma"</string>
+ <string name="status_bar_alarm" msgid="87160847643623352">"Alarm"</string>
<string name="wallet_title" msgid="5369767670735827105">"Wallet"</string>
<string name="wallet_empty_state_label" msgid="7776761245237530394">"I-set up para makapagsagawa ng mas mabibilis, mas secure na pagbili gamit ang telepono mo"</string>
<string name="wallet_app_button_label" msgid="7123784239111190992">"Ipakita lahat"</string>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"I-pause"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Nakaraang track"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Susunod na track"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"I-play"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Buksan ang <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"I-play ang <xliff:g id="SONG_NAME">%1$s</xliff:g> ni/ng <xliff:g id="ARTIST_NAME">%2$s</xliff:g> mula sa <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index dfbdcb9..fca9a0a 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -91,7 +91,7 @@
<string name="screenrecord_name" msgid="2596401223859996572">"Ekran Kaydedicisi"</string>
<string name="screenrecord_background_processing_label" msgid="7244617554884238898">"Ekran kaydı işleniyor"</string>
<string name="screenrecord_channel_description" msgid="4147077128486138351">"Ekran kaydı oturumu için devam eden bildirim"</string>
- <string name="screenrecord_start_label" msgid="1750350278888217473">"Kayıt Başlatılsın mı?"</string>
+ <string name="screenrecord_start_label" msgid="1750350278888217473">"Kayıt başlatılsın mı?"</string>
<string name="screenrecord_description" msgid="1123231719680353736">"Kayıt sırasında Android Sistemi, ekranınızda görünen veya cihazınızda oynatılan hassas bilgileri yakalayabilir. Buna şifreler, ödeme bilgileri, fotoğraflar, mesajlar ve sesler dahildir."</string>
<string name="screenrecord_audio_label" msgid="6183558856175159629">"Ses kaydet"</string>
<string name="screenrecord_device_audio_label" msgid="9016927171280567791">"Cihaz sesi"</string>
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Yüz kimliği doğrulandı"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Onaylandı"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tamamlamak için Onayla\'ya dokunun"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Kilit, yüzünüzle açıldı. Kilit açma simgesine basın."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Kimliği Doğrulandı"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN kullan"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Deseni kullan"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Açmak için tekrar dokunun"</string>
<string name="tap_again" msgid="1315420114387908655">"Tekrar dokunun"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Açmak için yukarı kaydırın"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Açmak için Kilit açma simgesine basın"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Kilit, yüzünüzle açıldı. Kilit açma simgesine basın."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Tekrar denemek için yukarı kaydırın"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC\'yi kullanmak için kilidi açın"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Bu cihaz, kuruluşunuza ait"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Oturumunuza devam etmek istiyor musunuz?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Baştan başla"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Evet, devam et"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Yeni kullanıcı eklensin mi?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Yeni bir kullanıcı eklediğinizde, bu kişinin kendi alanını ayarlaması gerekir.\n\nHerhangi bir kullanıcı, diğer tüm kullanıcılar için uygulamaları güncelleyebilir."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Kullanıcı sınırına ulaşıldı"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">En fazla <xliff:g id="COUNT">%d</xliff:g> kullanıcı ekleyebilirsiniz.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Duraklat"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Önceki parça"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Sonraki parça"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Oynat"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> uygulamasını aç"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> uygulamasından <xliff:g id="ARTIST_NAME">%2$s</xliff:g>, <xliff:g id="SONG_NAME">%1$s</xliff:g> şarkısını çal"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 5fb6759..aeaec2b 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Обличчя автентифіковано"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Підтверджено"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Щоб завершити, натисніть \"Підтвердити\""</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Розблоковано (фейсконтроль). Натисніть значок розблокування."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Автентифіковано"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Ввести PIN-код"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Намалювати ключ"</string>
@@ -315,10 +314,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Торкніться знову, щоб відкрити"</string>
<string name="tap_again" msgid="1315420114387908655">"Натисніть знову"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Проведіть пальцем угору, щоб відкрити"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Щоб відкрити, натисніть значок розблокування."</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Розблоковано (фейсконтроль). Натисніть значок розблокування."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Проведіть пальцем угору, щоб повторити спробу"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Розблокуйте екран, щоб скористатись NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Цей пристрій належить вашій організації"</string>
@@ -345,6 +342,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Продовжити сеанс?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Почати знову"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Так, продовжити"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Додати нового користувача?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Користувач має налаштувати свій профіль після створення.\n\nБудь-який користувач пристрою може оновлювати додатки для решти користувачів."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Ви досягли ліміту користувачів"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Можна додати до <xliff:g id="COUNT">%d</xliff:g> користувача.</item>
@@ -820,6 +825,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Призупинити"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Попередня композиція"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Наступна композиція"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Відтворення"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Відкрити додаток <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Увімкнути пісню \"<xliff:g id="SONG_NAME">%1$s</xliff:g>\", яку виконує <xliff:g id="ARTIST_NAME">%2$s</xliff:g>, у додатку <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index bd9bb2f..92bc68a 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"چہرے کی تصدیق ہو گئی"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"تصدیق شدہ"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"مکمل کرنے کیلئے \'تصدیق کریں\' تھپتھپائیں"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"چہرے سے انلاک کیا گیا۔ جاری رکھنے کیلئے انلاک آئیکن دبائیں۔"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"تصدیق کردہ"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN استعمال کریں"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"پیٹرن کا استعمال کریں"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"کھولنے کیلئے دوبارہ تھپتھپائیں"</string>
<string name="tap_again" msgid="1315420114387908655">"دوبارہ تھپتھپائیں"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"کھولنے کے لیے اوپر سوائپ کريں"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"کھولنے کیلئے انلاک آئیکن دبائیں"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"چہرے سے انلاک کیا گیا۔ کھولنے کیلئے انلاک آئیکن دبائیں۔"</string>
<string name="keyguard_retry" msgid="886802522584053523">"دوبارہ کوشش کرنے کے لیے اوپر سوائپ کريں"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC استعمال کرنے کیلئے غیر مقفل کریں"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"یہ آلہ آپ کی تنظیم کا ہے"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"کیا آپ اپنا سیشن جاری رکھنا چاہتے ہیں؟"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"دوبارہ شروع کریں"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"ہاں، جاری رکھیں"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"نیا صارف شامل کریں؟"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"جب آپ ایک نیا صارف شامل کرتے ہیں تو اس شخص کو اپنی جگہ کو ترتیب دینے کی ضرورت ہوتی ہے۔\n\nکوئی بھی صارف دیگر سبھی صارفین کیلئے ایپس کو اپ ڈیٹ کر سکتا ہے۔"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"صارف کی حد مکمل ہو گئی"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">صرف <xliff:g id="COUNT">%d</xliff:g> صارفین بنائے جا سکتے ہیں۔</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"روکیں"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"پچھلا ٹریک"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"اگلا ٹریک"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"چلائیں"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> کھولیں"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> سے <xliff:g id="ARTIST_NAME">%2$s</xliff:g> کا <xliff:g id="SONG_NAME">%1$s</xliff:g> چلائیں"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 9b6295d..54a36d8 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Yuzingiz aniqlandi"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Tasdiqlangan"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Tasdiqlash uchun tegining"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Yuz orqali ochilgan. Davom etish uchun ochish belgisini bosing."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Tasdiqlandi"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"PIN kod kiritish"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Grafik kalitdan foydalanish"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Ochish uchun yana bosing"</string>
<string name="tap_again" msgid="1315420114387908655">"Yana bosing"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Ochish uchun tepaga suring"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Ochish uchun ochish belgisini bosing"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Yuz orqali ochilgan. Ochish uchun ochish belgisini bosing."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Qayta urinish uchun tepaga suring"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC ishlatish uchun qurilma qulfini oching"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Bu qurilma tashkilotingizga tegishli"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Seansni davom ettirmoqchimisiz?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Boshidan boshlansin"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Ha, davom ettirilsin"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Foydalanuvchi qo‘shilsinmi?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Yangi profil qo‘shilgach, uni sozlash lozim.\n\nQurilmaning istalgan foydalanuvchisi ilovalarni barcha hisoblar uchun yangilashi mumkin."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Limitga yetib keldi"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> tagacha foydalanuvchi qo‘shish mumkin.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Pauza"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Avvalgi trek"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Keyingi trek"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Ijro"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ilovasini ochish"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g> ilovasida ijro etish: <xliff:g id="SONG_NAME">%1$s</xliff:g> – <xliff:g id="ARTIST_NAME">%2$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 508fdb1..551c6c2 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -341,6 +341,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Bạn có muốn tiếp tục phiên của mình không?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Bắt đầu lại"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Có, tiếp tục"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Thêm người dùng mới?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Khi bạn thêm người dùng mới, họ cần thiết lập không gian của mình.\n\nMọi người dùng đều có thể cập nhật ứng dụng cho tất cả người dùng khác."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Đã đạt đến giới hạn người dùng"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">Bạn có thể thêm tối đa <xliff:g id="COUNT">%d</xliff:g> người dùng.</item>
@@ -770,7 +778,7 @@
<string name="accessibility_control_change_unfavorite" msgid="6997408061750740327">"bỏ yêu thích"</string>
<string name="accessibility_control_move" msgid="8980344493796647792">"Di chuyển tới vị trí số <xliff:g id="NUMBER">%d</xliff:g>"</string>
<string name="controls_favorite_default_title" msgid="967742178688938137">"Các tùy chọn điều khiển"</string>
- <string name="controls_favorite_subtitle" msgid="6481675111056961083">"Chọn các chế độ điều khiển sẽ truy cập từ trình đơn Cài đặt nhanh"</string>
+ <string name="controls_favorite_subtitle" msgid="6481675111056961083">"Chọn các tuỳ chọn điều khiển để truy cập từ trình đơn Cài đặt nhanh"</string>
<string name="controls_favorite_rearrange" msgid="5616952398043063519">"Giữ và kéo để sắp xếp lại các tùy chọn điều khiển"</string>
<string name="controls_favorite_removed" msgid="5276978408529217272">"Đã xóa tất cả tùy chọn điều khiển"</string>
<string name="controls_favorite_toast_no_changes" msgid="7094494210840877931">"Chưa lưu các thay đổi"</string>
@@ -808,6 +816,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Tạm dừng"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Bản nhạc trước"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Bản nhạc tiếp theo"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Phát"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Mở <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Phát <xliff:g id="SONG_NAME">%1$s</xliff:g> của <xliff:g id="ARTIST_NAME">%2$s</xliff:g> trên <xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index fdee02f..5de85dd 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"面孔身份验证成功"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"已确认"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"点按“确认”即可完成"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"已通过面孔识别解锁。按下解锁图标即可继续。"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"已经过身份验证"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"使用 PIN 码"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"使用图案"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"再次点按即可打开"</string>
<string name="tap_again" msgid="1315420114387908655">"请再点按一次"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"向上滑动即可打开"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"按下解锁图标即可打开"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"已通过面孔识别解锁。按下解锁图标即可打开。"</string>
<string name="keyguard_retry" msgid="886802522584053523">"向上滑动即可重试"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"需要解锁才能使用 NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"此设备归贵单位所有"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"要继续您的会话吗?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"重新开始"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"是,继续"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"要添加新用户吗?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"当您添加新用户时,该用户必须设置自己的空间。\n\n任何用户均可为其他所有用户更新应用。"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"已达到用户数上限"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">您最多可以添加 <xliff:g id="COUNT">%d</xliff:g> 位用户。</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"暂停"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"上一首"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"下一首"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"播放"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"打开<xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"通过<xliff:g id="APP_LABEL">%3$s</xliff:g>播放<xliff:g id="ARTIST_NAME">%2$s</xliff:g>的《<xliff:g id="SONG_NAME">%1$s</xliff:g>》"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index d20a9a0..cbb2960 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -338,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"您要繼續您的工作階段嗎?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"重新開始"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"是的,請繼續"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"新增使用者?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"新增的使用者需要自行設定個人空間。\n\n任何使用者均可為所有其他使用者更新應用程式。"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"已達到使用者上限"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">您可以加入多達 <xliff:g id="COUNT">%d</xliff:g> 個使用者。</item>
@@ -805,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"暫停"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"上一首曲目"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"下一首曲目"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"播放"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"開啟 <xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"在 <xliff:g id="APP_LABEL">%3$s</xliff:g> 播放 <xliff:g id="ARTIST_NAME">%2$s</xliff:g> 的《<xliff:g id="SONG_NAME">%1$s</xliff:g>》"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 6e64ce3..05c41dd 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"臉孔驗證成功"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"確認完畢"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"輕觸 [確認] 完成驗證設定"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"裝置已透過人臉解鎖,按下「解鎖」圖示即可繼續操作。"</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"已通過驗證"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"使用 PIN 碼"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"使用解鎖圖案"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"再次輕觸即可開啟"</string>
<string name="tap_again" msgid="1315420114387908655">"再輕觸一次"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"向上滑動即可開啟"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"按下「解鎖」圖示即可開啟"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"裝置已透過人臉解鎖,按下「解鎖」圖示即可開啟。"</string>
<string name="keyguard_retry" msgid="886802522584053523">"向上滑動即可重試"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"如要使用 NFC,請先解鎖"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"這部裝置的擁有者為貴機構"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"你要繼續這個工作階段嗎?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"重新開始"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"是,繼續"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"要新增使用者嗎?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"新增的使用者需要自行設定個人空間。\n\n任何使用者皆可為其他所有使用者更新應用程式。"</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"已達使用者數量上限"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="other">最多可新增 <xliff:g id="COUNT">%d</xliff:g> 位使用者。</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"暫停"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"上一首"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"下一首"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"播放"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"開啟「<xliff:g id="APP_LABEL">%1$s</xliff:g>」"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"透過「<xliff:g id="APP_LABEL">%3$s</xliff:g>」播放<xliff:g id="ARTIST_NAME">%2$s</xliff:g>的〈<xliff:g id="SONG_NAME">%1$s</xliff:g>〉"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index f4b62e7..f20b556 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -135,8 +135,7 @@
<string name="biometric_dialog_face_icon_description_authenticated" msgid="2242167416140740920">"Ubuso bufakazelwe ubuqiniso"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="7918067993953940778">"Kuqinisekisiwe"</string>
<string name="biometric_dialog_tap_confirm" msgid="9166350738859143358">"Thepha okuthi Qinisekisa ukuze uqedele"</string>
- <!-- no translation found for biometric_dialog_tap_confirm_with_face (1092050545851021991) -->
- <skip />
+ <string name="biometric_dialog_tap_confirm_with_face" msgid="1092050545851021991">"Ivulwe ngobuso. Cindezela isithonjana sokuvula ukuze uqhubeke."</string>
<string name="biometric_dialog_authenticated" msgid="7337147327545272484">"Kugunyaziwe"</string>
<string name="biometric_dialog_use_pin" msgid="8385294115283000709">"Sebenzisa iphinikhodi"</string>
<string name="biometric_dialog_use_pattern" msgid="2315593393167211194">"Sebenzisa iphethini"</string>
@@ -311,10 +310,8 @@
<string name="notification_tap_again" msgid="4477318164947497249">"Thepha futhi ukuze uvule"</string>
<string name="tap_again" msgid="1315420114387908655">"Thepha futhi"</string>
<string name="keyguard_unlock" msgid="8031975796351361601">"Swayiphela phezulu ukuze uvule"</string>
- <!-- no translation found for keyguard_unlock_press (9140109453735019209) -->
- <skip />
- <!-- no translation found for keyguard_face_successful_unlock_press (25520941264602588) -->
- <skip />
+ <string name="keyguard_unlock_press" msgid="9140109453735019209">"Cindezela isithonjana sokuvula ukuze uvule"</string>
+ <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Ivulwe ngobuso. Cindezela isithonjana sokuvula ukuze uvule."</string>
<string name="keyguard_retry" msgid="886802522584053523">"Swayiphela phezulu ukuze uzame futhi"</string>
<string name="require_unlock_for_nfc" msgid="1305686454823018831">"Vula ukuze usebenzise i-NFC"</string>
<string name="do_disclosure_generic" msgid="4896482821974707167">"Le divayisi eyenhlangano yakho"</string>
@@ -341,6 +338,14 @@
<string name="guest_wipe_session_message" msgid="3393823610257065457">"Ingabe ufuna ukuqhubeka ngesikhathi sakho?"</string>
<string name="guest_wipe_session_wipe" msgid="8056836584445473309">"Qala phansi"</string>
<string name="guest_wipe_session_dontwipe" msgid="3211052048269304205">"Yebo, qhubeka"</string>
+ <!-- no translation found for guest_notification_app_name (2110425506754205509) -->
+ <skip />
+ <!-- no translation found for guest_notification_session_active (5567273684713471450) -->
+ <skip />
+ <string name="user_add_user_title" msgid="4172327541504825032">"Engeza umsebenzisi omusha?"</string>
+ <string name="user_add_user_message_short" msgid="2599370307878014791">"Uma ungeza umsebenzisi omusha, loyo muntu udinga ukusetha isikhala sakhe.\n\nNoma yimuphi umsebenzisi angabuyekeza izinhlelo zokusebenza kubo bonke abasebenzisi."</string>
+ <!-- no translation found for user_add_user_message_guest_remove (5589286604543355007) -->
+ <skip />
<string name="user_limit_reached_title" msgid="2429229448830346057">"Kufinyelelwe kumkhawulo womsebenzisi"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="2573535787802908398">
<item quantity="one">Ungangeza kufikela kubasebenzisi abangu-<xliff:g id="COUNT">%d</xliff:g>.</item>
@@ -808,6 +813,8 @@
<string name="controls_media_button_pause" msgid="8614887780950376258">"Misa"</string>
<string name="controls_media_button_prev" msgid="8126822360056482970">"Ithrekhi yangaphambilini"</string>
<string name="controls_media_button_next" msgid="6662636627525947610">"Ithrekhi elandelayo"</string>
+ <!-- no translation found for controls_media_button_connecting (3138354625847598095) -->
+ <skip />
<string name="controls_media_smartspace_rec_title" msgid="1699818353932537407">"Dlala"</string>
<string name="controls_media_smartspace_rec_description" msgid="4136242327044070732">"Vula i-<xliff:g id="APP_LABEL">%1$s</xliff:g>"</string>
<string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"Dlala i-<xliff:g id="SONG_NAME">%1$s</xliff:g> ka-<xliff:g id="ARTIST_NAME">%2$s</xliff:g> kusuka ku-<xliff:g id="APP_LABEL">%3$s</xliff:g>"</string>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 101db83..d148403 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -37,10 +37,10 @@
<!-- Size of the nav bar edge panels, should be greater to the
edge sensitivity + the drag threshold -->
- <dimen name="navigation_edge_panel_width">70dp</dimen>
+ <dimen name="navigation_edge_panel_width">105dp</dimen>
<!-- Padding at the end of the navigation panel to allow the arrow not to be clipped off -->
<dimen name="navigation_edge_panel_padding">8dp</dimen>
- <dimen name="navigation_edge_panel_height">96dp</dimen>
+ <dimen name="navigation_edge_panel_height">268dp</dimen>
<!-- The threshold to drag to trigger the edge action -->
<dimen name="navigation_edge_action_drag_threshold">16dp</dimen>
<!-- The threshold to progress back animation for edge swipe -->
@@ -474,6 +474,7 @@
<dimen name="qs_brightness_margin_top">8dp</dimen>
<dimen name="qs_brightness_margin_bottom">24dp</dimen>
<dimen name="qqs_layout_margin_top">16dp</dimen>
+ <dimen name="qqs_layout_padding_bottom">24dp</dimen>
<dimen name="qs_customize_internal_side_paddings">8dp</dimen>
<dimen name="qs_icon_size">20dp</dimen>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 7cd2158..2806ce8 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -1083,6 +1083,10 @@
<item name="android:textDirection">locale</item>
</style>
+ <style name="FgsManagerAppLabel" parent="TextAppearance.Dialog.Body">
+ <item name="android:textDirection">locale</item>
+ </style>
+
<style name="FgsManagerAppDuration">
<item name="android:fontFamily">?android:attr/textAppearanceSmall</item>
<item name="android:textDirection">locale</item>
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/smartspace/ILauncherUnlockAnimationController.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/system/smartspace/ILauncherUnlockAnimationController.aidl
index 366193c..b2295b9 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/smartspace/ILauncherUnlockAnimationController.aidl
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/smartspace/ILauncherUnlockAnimationController.aidl
@@ -30,7 +30,7 @@
// Play a full unlock animation from 0f to 1f. This is used when System UI is unlocking from a
// single action, such as biometric auth, and doesn't need to control individual frames.
- oneway void playUnlockAnimation(boolean unlocked, long duration);
+ oneway void playUnlockAnimation(boolean unlocked, long duration, long startDelay);
// Set the selected page on Launcher's smartspace.
oneway void setSmartspaceSelectedPage(int selectedPage);
diff --git a/packages/SystemUI/src/com/android/keyguard/BouncerPanelExpansionCalculator.kt b/packages/SystemUI/src/com/android/keyguard/BouncerPanelExpansionCalculator.kt
index 1b2ea3b..a08c900 100644
--- a/packages/SystemUI/src/com/android/keyguard/BouncerPanelExpansionCalculator.kt
+++ b/packages/SystemUI/src/com/android/keyguard/BouncerPanelExpansionCalculator.kt
@@ -23,7 +23,7 @@
* Scale the alpha/position of the host view.
*/
@JvmStatic
- fun getHostViewScaledExpansion(fraction: Float): Float {
+ fun showBouncerProgress(fraction: Float): Float {
return when {
fraction >= 0.9f -> 1f
fraction < 0.6 -> 0f
@@ -35,7 +35,7 @@
* Scale the alpha/tint of the back scrim.
*/
@JvmStatic
- fun getBackScrimScaledExpansion(fraction: Float): Float {
+ fun aboutToShowBouncerProgress(fraction: Float): Float {
return MathUtils.constrain((fraction - 0.9f) / 0.1f, 0f, 1f)
}
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
index b3cf927..04c9a45 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java
@@ -130,6 +130,24 @@
}
};
+ private final KeyguardUnlockAnimationController.KeyguardUnlockAnimationListener
+ mKeyguardUnlockAnimationListener =
+ new KeyguardUnlockAnimationController.KeyguardUnlockAnimationListener() {
+ @Override
+ public void onSmartspaceSharedElementTransitionStarted() {
+ // The smartspace needs to be able to translate out of bounds in order to
+ // end up where the launcher's smartspace is, while its container is being
+ // swiped off the top of the screen.
+ setClipChildrenForUnlock(false);
+ }
+
+ @Override
+ public void onUnlockAnimationFinished() {
+ // For performance reasons, reset this once the unlock animation ends.
+ setClipChildrenForUnlock(true);
+ }
+ };
+
@Inject
public KeyguardClockSwitchController(
KeyguardClockSwitch keyguardClockSwitch,
@@ -162,22 +180,6 @@
mUiExecutor = uiExecutor;
mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
mDumpManager = dumpManager;
- mKeyguardUnlockAnimationController.addKeyguardUnlockAnimationListener(
- new KeyguardUnlockAnimationController.KeyguardUnlockAnimationListener() {
- @Override
- public void onSmartspaceSharedElementTransitionStarted() {
- // The smartspace needs to be able to translate out of bounds in order to
- // end up where the launcher's smartspace is, while its container is being
- // swiped off the top of the screen.
- setClipChildrenForUnlock(false);
- }
-
- @Override
- public void onUnlockAnimationFinished() {
- // For performance reasons, reset this once the unlock animation ends.
- setClipChildrenForUnlock(true);
- }
- });
}
/**
@@ -272,6 +274,9 @@
);
updateDoubleLineClock();
+
+ mKeyguardUnlockAnimationController.addKeyguardUnlockAnimationListener(
+ mKeyguardUnlockAnimationListener);
}
int getNotificationIconAreaHeight() {
@@ -287,6 +292,9 @@
mView.setClockPlugin(null, mStatusBarStateController.getState());
mSecureSettings.unregisterContentObserver(mDoubleLineClockObserver);
+
+ mKeyguardUnlockAnimationController.removeKeyguardUnlockAnimationListener(
+ mKeyguardUnlockAnimationListener);
}
/**
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java
index 8c3e066..239b4789 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardHostViewController.java
@@ -327,7 +327,7 @@
* @param fraction amount of the screen that should show.
*/
public void setExpansion(float fraction) {
- float scaledFraction = BouncerPanelExpansionCalculator.getHostViewScaledExpansion(fraction);
+ float scaledFraction = BouncerPanelExpansionCalculator.showBouncerProgress(fraction);
mView.setAlpha(MathUtils.constrain(1 - scaledFraction, 0f, 1f));
mView.setTranslationY(scaledFraction * mTranslationY);
}
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
index 807ff21..a1428f3 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java
@@ -353,6 +353,8 @@
mSourceBounds.setEmpty();
updateSystemUIStateIfNeeded();
mContext.unregisterComponentCallbacks(this);
+ // Notify source bounds empty when magnification is deleted.
+ mWindowMagnifierCallback.onSourceBoundsChanged(mDisplayId, new Rect());
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
index b2673e9..233f364 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java
@@ -56,7 +56,9 @@
import com.android.internal.widget.LockPatternUtils;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
+import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.keyguard.WakefulnessLifecycle;
+import com.android.systemui.util.concurrency.DelayableExecutor;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -110,6 +112,8 @@
@ContainerState private int mContainerState = STATE_UNKNOWN;
private final Set<Integer> mFailedModalities = new HashSet<Integer>();
+ private final @Background DelayableExecutor mBackgroundExecutor;
+
// Non-null only if the dialog is in the act of dismissing and has not sent the reason yet.
@Nullable @AuthDialogCallback.DismissedReason private Integer mPendingCallbackReason;
// HAT received from LockSettingsService when credential is verified.
@@ -192,7 +196,7 @@
return this;
}
- public AuthContainerView build(int[] sensorIds,
+ public AuthContainerView build(@Background DelayableExecutor bgExecutor, int[] sensorIds,
@Nullable List<FingerprintSensorPropertiesInternal> fpProps,
@Nullable List<FaceSensorPropertiesInternal> faceProps,
@NonNull WakefulnessLifecycle wakefulnessLifecycle,
@@ -200,7 +204,7 @@
@NonNull LockPatternUtils lockPatternUtils) {
mConfig.mSensorIds = sensorIds;
return new AuthContainerView(mConfig, fpProps, faceProps, wakefulnessLifecycle,
- userManager, lockPatternUtils, new Handler(Looper.getMainLooper()));
+ userManager, lockPatternUtils, new Handler(Looper.getMainLooper()), bgExecutor);
}
}
@@ -253,7 +257,8 @@
@NonNull WakefulnessLifecycle wakefulnessLifecycle,
@NonNull UserManager userManager,
@NonNull LockPatternUtils lockPatternUtils,
- @NonNull Handler mainHandler) {
+ @NonNull Handler mainHandler,
+ @NonNull @Background DelayableExecutor bgExecutor) {
super(config.mContext);
mConfig = config;
@@ -277,6 +282,7 @@
mBackgroundView = mFrameLayout.findViewById(R.id.background);
mPanelView = mFrameLayout.findViewById(R.id.panel);
mPanelController = new AuthPanelController(mContext, mPanelView);
+ mBackgroundExecutor = bgExecutor;
// Inflate biometric view only if necessary.
if (Utils.isBiometricAllowed(mConfig.mPromptInfo)) {
@@ -384,6 +390,7 @@
mCredentialView.setPromptInfo(mConfig.mPromptInfo);
mCredentialView.setPanelController(mPanelController, animatePanel);
mCredentialView.setShouldAnimateContents(animateContents);
+ mCredentialView.setBackgroundExecutor(mBackgroundExecutor);
mFrameLayout.addView(mCredentialView);
}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
index aaf18b3..b05bc24 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
@@ -64,11 +64,13 @@
import com.android.systemui.CoreStartable;
import com.android.systemui.assist.ui.DisplayUtils;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.doze.DozeReceiver;
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.concurrency.Execution;
import java.util.ArrayList;
@@ -139,6 +141,7 @@
private boolean mAllAuthenticatorsRegistered;
@NonNull private final UserManager mUserManager;
@NonNull private final LockPatternUtils mLockPatternUtils;
+ private final @Background DelayableExecutor mBackgroundExecutor;
@VisibleForTesting
final TaskStackListener mTaskStackListener = new TaskStackListener() {
@@ -507,13 +510,15 @@
@NonNull UserManager userManager,
@NonNull LockPatternUtils lockPatternUtils,
@NonNull StatusBarStateController statusBarStateController,
- @Main Handler handler) {
+ @Main Handler handler,
+ @Background DelayableExecutor bgExecutor) {
super(context);
mExecution = execution;
mWakefulnessLifecycle = wakefulnessLifecycle;
mUserManager = userManager;
mLockPatternUtils = lockPatternUtils;
mHandler = handler;
+ mBackgroundExecutor = bgExecutor;
mCommandQueue = commandQueue;
mActivityTaskManager = activityTaskManager;
mFingerprintManager = fingerprintManager;
@@ -839,6 +844,7 @@
// Create a new dialog but do not replace the current one yet.
final AuthDialog newDialog = buildDialog(
+ mBackgroundExecutor,
promptInfo,
requireConfirmation,
userId,
@@ -934,9 +940,9 @@
}
}
- protected AuthDialog buildDialog(PromptInfo promptInfo, boolean requireConfirmation,
- int userId, int[] sensorIds, String opPackageName,
- boolean skipIntro, long operationId, long requestId,
+ protected AuthDialog buildDialog(@Background DelayableExecutor bgExecutor,
+ PromptInfo promptInfo, boolean requireConfirmation, int userId, int[] sensorIds,
+ String opPackageName, boolean skipIntro, long operationId, long requestId,
@BiometricMultiSensorMode int multiSensorConfig,
@NonNull WakefulnessLifecycle wakefulnessLifecycle,
@NonNull UserManager userManager,
@@ -951,8 +957,8 @@
.setOperationId(operationId)
.setRequestId(requestId)
.setMultiSensorConfig(multiSensorConfig)
- .build(sensorIds, mFpProps, mFaceProps, wakefulnessLifecycle, userManager,
- lockPatternUtils);
+ .build(bgExecutor, sensorIds, mFpProps, mFaceProps, wakefulnessLifecycle,
+ userManager, lockPatternUtils);
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
index ed84a37..4fa835e 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthCredentialView.java
@@ -53,6 +53,8 @@
import com.android.internal.widget.VerifyCredentialResponse;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
+import com.android.systemui.dagger.qualifiers.Background;
+import com.android.systemui.util.concurrency.DelayableExecutor;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -99,6 +101,8 @@
protected int mEffectiveUserId;
protected ErrorTimer mErrorTimer;
+ protected @Background DelayableExecutor mBackgroundExecutor;
+
interface Callback {
void onCredentialMatched(byte[] attestation);
}
@@ -217,6 +221,10 @@
mContainerView = containerView;
}
+ void setBackgroundExecutor(@Background DelayableExecutor bgExecutor) {
+ mBackgroundExecutor = bgExecutor;
+ }
+
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
@@ -377,27 +385,33 @@
}
private void showLastAttemptBeforeWipeDialog() {
- final AlertDialog alertDialog = new AlertDialog.Builder(mContext)
- .setTitle(R.string.biometric_dialog_last_attempt_before_wipe_dialog_title)
- .setMessage(
- getLastAttemptBeforeWipeMessage(getUserTypeForWipe(), mCredentialType))
- .setPositiveButton(android.R.string.ok, null)
- .create();
- alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL);
- alertDialog.show();
+ mBackgroundExecutor.execute(() -> {
+ final AlertDialog alertDialog = new AlertDialog.Builder(mContext)
+ .setTitle(R.string.biometric_dialog_last_attempt_before_wipe_dialog_title)
+ .setMessage(
+ getLastAttemptBeforeWipeMessage(getUserTypeForWipe(), mCredentialType))
+ .setPositiveButton(android.R.string.ok, null)
+ .create();
+ alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL);
+ mHandler.post(alertDialog::show);
+ });
}
private void showNowWipingDialog() {
- final AlertDialog alertDialog = new AlertDialog.Builder(mContext)
- .setMessage(getNowWipingMessage(getUserTypeForWipe()))
- .setPositiveButton(
- com.android.settingslib.R.string.failed_attempts_now_wiping_dialog_dismiss,
- null /* OnClickListener */)
- .setOnDismissListener(
- dialog -> mContainerView.animateAway(AuthDialogCallback.DISMISSED_ERROR))
- .create();
- alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL);
- alertDialog.show();
+ mBackgroundExecutor.execute(() -> {
+ String nowWipingMessage = getNowWipingMessage(getUserTypeForWipe());
+ final AlertDialog alertDialog = new AlertDialog.Builder(mContext)
+ .setMessage(nowWipingMessage)
+ .setPositiveButton(
+ com.android.settingslib.R.string.failed_attempts_now_wiping_dialog_dismiss,
+ null /* OnClickListener */)
+ .setOnDismissListener(
+ dialog -> mContainerView.animateAway(
+ AuthDialogCallback.DISMISSED_ERROR))
+ .create();
+ alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL);
+ mHandler.post(alertDialog::show);
+ });
}
private @UserType int getUserTypeForWipe() {
@@ -412,6 +426,7 @@
}
}
+ // This should not be called on the main thread to avoid making an IPC.
private String getLastAttemptBeforeWipeMessage(
@UserType int userType, @Utils.CredentialType int credentialType) {
switch (userType) {
@@ -442,6 +457,7 @@
}
}
+ // This should not be called on the main thread to avoid making an IPC.
private String getLastAttemptBeforeWipeProfileMessage(
@Utils.CredentialType int credentialType) {
return mDevicePolicyManager.getResources().getString(
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
index 33126b3..76c1dbc 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthRippleController.kt
@@ -145,6 +145,7 @@
val lightRevealScrim = centralSurfaces.lightRevealScrim
if (statusBarStateController.isDozing || biometricUnlockController.isWakeAndUnlock) {
circleReveal?.let {
+ lightRevealScrim?.revealAmount = 0f
lightRevealScrim?.revealEffect = it
startLightRevealScrimOnKeyguardFadingAway = true
}
@@ -168,7 +169,8 @@
startDelay = keyguardStateController.keyguardFadingAwayDelay
addUpdateListener { animator ->
if (lightRevealScrim.revealEffect != circleReveal) {
- // if something else took over the reveal, let's do nothing.
+ // if something else took over the reveal, let's cancel ourselves
+ cancel()
return@addUpdateListener
}
lightRevealScrim.revealAmount = animator.animatedValue as Float
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
index 5d131f2..f5f07c8 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java
@@ -25,6 +25,7 @@
import android.util.MathUtils;
import android.view.MotionEvent;
+import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.R;
import com.android.systemui.animation.ActivityLaunchAnimator;
@@ -71,7 +72,7 @@
private float mTransitionToFullShadeProgress;
private float mLastDozeAmount;
private long mLastUdfpsBouncerShowTime = -1;
- private float mStatusBarExpansion;
+ private float mPanelExpansionFraction;
private boolean mLaunchTransitionFadingAway;
private boolean mIsLaunchingActivity;
private float mActivityLaunchProgress;
@@ -188,7 +189,7 @@
pw.println("mQsExpanded=" + mQsExpanded);
pw.println("mIsBouncerVisible=" + mIsBouncerVisible);
pw.println("mInputBouncerHiddenAmount=" + mInputBouncerHiddenAmount);
- pw.println("mStatusBarExpansion=" + mStatusBarExpansion);
+ pw.println("mPanelExpansionFraction=" + mPanelExpansionFraction);
pw.println("unpausedAlpha=" + mView.getUnpausedAlpha());
pw.println("mUdfpsRequested=" + mUdfpsRequested);
pw.println("mView.mUdfpsRequested=" + mView.mUdfpsRequested);
@@ -324,14 +325,16 @@
*/
@Override
public void updateAlpha() {
- // fade icon on transitions to showing the status bar, but if mUdfpsRequested, then
- // the keyguard is occluded by some application - so instead use the input bouncer
- // hidden amount to determine the fade
- float expansion = mUdfpsRequested ? mInputBouncerHiddenAmount : mStatusBarExpansion;
+ // Fade icon on transitions to showing the status bar or bouncer, but if mUdfpsRequested,
+ // then the keyguard is occluded by some application - so instead use the input bouncer
+ // hidden amount to determine the fade.
+ float expansion = mUdfpsRequested ? mInputBouncerHiddenAmount : mPanelExpansionFraction;
+
int alpha = mShowingUdfpsBouncer ? 255
: (int) MathUtils.constrain(
MathUtils.map(.5f, .9f, 0f, 255f, expansion),
0f, 255f);
+
if (!mShowingUdfpsBouncer) {
alpha *= (1.0f - mTransitionToFullShadeProgress);
@@ -471,7 +474,9 @@
@Override
public void onPanelExpansionChanged(
float fraction, boolean expanded, boolean tracking) {
- mStatusBarExpansion = fraction;
+ mPanelExpansionFraction =
+ mKeyguardViewManager.bouncerIsInTransit() ? BouncerPanelExpansionCalculator
+ .aboutToShowBouncerProgress(fraction) : fraction;
updateAlpha();
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/ActionReceiver.kt b/packages/SystemUI/src/com/android/systemui/broadcast/ActionReceiver.kt
index 4315cb0..ca36375 100644
--- a/packages/SystemUI/src/com/android/systemui/broadcast/ActionReceiver.kt
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/ActionReceiver.kt
@@ -39,6 +39,13 @@
*
* This class has no sync controls, so make sure to only make modifications from the background
* thread.
+ *
+ * This class takes the following actions:
+ * * [registerAction]: action to register this receiver (with the proper filter) with [Context].
+ * * [unregisterAction]: action to unregister this receiver with [Context].
+ * * [testPendingRemovalAction]: action to check if a particular [BroadcastReceiver] registered
+ * with [BroadcastDispatcher] has been unregistered and is pending removal. See
+ * [PendingRemovalStore].
*/
class ActionReceiver(
private val action: String,
@@ -46,7 +53,8 @@
private val registerAction: BroadcastReceiver.(IntentFilter) -> Unit,
private val unregisterAction: BroadcastReceiver.() -> Unit,
private val bgExecutor: Executor,
- private val logger: BroadcastDispatcherLogger
+ private val logger: BroadcastDispatcherLogger,
+ private val testPendingRemovalAction: (BroadcastReceiver, Int) -> Boolean
) : BroadcastReceiver(), Dumpable {
companion object {
@@ -106,7 +114,8 @@
// Immediately return control to ActivityManager
bgExecutor.execute {
receiverDatas.forEach {
- if (it.filter.matchCategories(intent.categories) == null) {
+ if (it.filter.matchCategories(intent.categories) == null &&
+ !testPendingRemovalAction(it.receiver, userId)) {
it.executor.execute {
it.receiver.pendingResult = pendingResult
it.receiver.onReceive(context, intent)
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt b/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
index 1c27e32..b7aebc1 100644
--- a/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/BroadcastDispatcher.kt
@@ -63,13 +63,14 @@
* Broadcast handling may be asynchronous *without* calling goAsync(), as it's running within sysui
* and doesn't need to worry about being killed.
*/
-open class BroadcastDispatcher constructor (
+open class BroadcastDispatcher @JvmOverloads constructor (
private val context: Context,
private val bgLooper: Looper,
private val bgExecutor: Executor,
private val dumpManager: DumpManager,
private val logger: BroadcastDispatcherLogger,
- private val userTracker: UserTracker
+ private val userTracker: UserTracker,
+ private val removalPendingStore: PendingRemovalStore = PendingRemovalStore(logger)
) : Dumpable {
// Only modify in BG thread
@@ -167,6 +168,7 @@
* @param receiver The receiver to unregister. It will be unregistered for all users.
*/
open fun unregisterReceiver(receiver: BroadcastReceiver) {
+ removalPendingStore.tagForRemoval(receiver, UserHandle.USER_ALL)
handler.obtainMessage(MSG_REMOVE_RECEIVER, receiver).sendToTarget()
}
@@ -177,13 +179,21 @@
* @param user The user associated to the registered [receiver]. It can be [UserHandle.ALL].
*/
open fun unregisterReceiverForUser(receiver: BroadcastReceiver, user: UserHandle) {
+ removalPendingStore.tagForRemoval(receiver, user.identifier)
handler.obtainMessage(MSG_REMOVE_RECEIVER_FOR_USER, user.identifier, 0, receiver)
.sendToTarget()
}
@VisibleForTesting
protected open fun createUBRForUser(userId: Int) =
- UserBroadcastDispatcher(context, userId, bgLooper, bgExecutor, logger)
+ UserBroadcastDispatcher(
+ context,
+ userId,
+ bgLooper,
+ bgExecutor,
+ logger,
+ removalPendingStore
+ )
override fun dump(pw: PrintWriter, args: Array<out String>) {
pw.println("Broadcast dispatcher:")
@@ -193,6 +203,8 @@
ipw.println("User ${receiversByUser.keyAt(index)}")
receiversByUser.valueAt(index).dump(ipw, args)
}
+ ipw.println("Pending removal:")
+ removalPendingStore.dump(ipw, args)
ipw.decreaseIndent()
}
@@ -223,10 +235,20 @@
for (it in 0 until receiversByUser.size()) {
receiversByUser.valueAt(it).unregisterReceiver(msg.obj as BroadcastReceiver)
}
+ removalPendingStore.clearPendingRemoval(
+ msg.obj as BroadcastReceiver,
+ UserHandle.USER_ALL
+ )
}
MSG_REMOVE_RECEIVER_FOR_USER -> {
- receiversByUser.get(msg.arg1)?.unregisterReceiver(msg.obj as BroadcastReceiver)
+ val userId = if (msg.arg1 == UserHandle.USER_CURRENT) {
+ userTracker.userId
+ } else {
+ msg.arg1
+ }
+ receiversByUser.get(userId)?.unregisterReceiver(msg.obj as BroadcastReceiver)
+ removalPendingStore.clearPendingRemoval(msg.obj as BroadcastReceiver, userId)
}
else -> super.handleMessage(msg)
}
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/PendingRemovalStore.kt b/packages/SystemUI/src/com/android/systemui/broadcast/PendingRemovalStore.kt
new file mode 100644
index 0000000..ebf4983
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/PendingRemovalStore.kt
@@ -0,0 +1,58 @@
+package com.android.systemui.broadcast
+
+import android.content.BroadcastReceiver
+import android.os.UserHandle
+import android.util.SparseSetArray
+import androidx.annotation.GuardedBy
+import com.android.systemui.Dumpable
+import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger
+import com.android.systemui.util.indentIfPossible
+import java.io.PrintWriter
+
+/**
+ * Store information about requests for unregistering receivers from [BroadcastDispatcher], before
+ * they have been completely removed from the system.
+ *
+ * This helps make unregistering a receiver a *sync* operation.
+ */
+class PendingRemovalStore(
+ private val logger: BroadcastDispatcherLogger
+) : Dumpable {
+ @GuardedBy("pendingRemoval")
+ private val pendingRemoval: SparseSetArray<BroadcastReceiver> = SparseSetArray()
+
+ fun tagForRemoval(broadcastReceiver: BroadcastReceiver, userId: Int) {
+ logger.logTagForRemoval(userId, broadcastReceiver)
+ synchronized(pendingRemoval) {
+ pendingRemoval.add(userId, broadcastReceiver)
+ }
+ }
+
+ fun isPendingRemoval(broadcastReceiver: BroadcastReceiver, userId: Int): Boolean {
+ return synchronized(pendingRemoval) {
+ pendingRemoval.contains(userId, broadcastReceiver) ||
+ pendingRemoval.contains(UserHandle.USER_ALL, broadcastReceiver)
+ }
+ }
+
+ fun clearPendingRemoval(broadcastReceiver: BroadcastReceiver, userId: Int) {
+ synchronized(pendingRemoval) {
+ pendingRemoval.remove(userId, broadcastReceiver)
+ }
+ logger.logClearedAfterRemoval(userId, broadcastReceiver)
+ }
+
+ override fun dump(pw: PrintWriter, args: Array<out String>) {
+ synchronized(pendingRemoval) {
+ pw.indentIfPossible {
+ val size = pendingRemoval.size()
+ for (i in 0 until size) {
+ val user = pendingRemoval.keyAt(i)
+ print(user)
+ print("->")
+ println(pendingRemoval.get(user))
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt b/packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt
index 24ce238..6b15188 100644
--- a/packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/UserBroadcastDispatcher.kt
@@ -20,12 +20,12 @@
import android.content.Context
import android.os.Handler
import android.os.Looper
-import android.os.Message
import android.os.UserHandle
import android.util.ArrayMap
import android.util.ArraySet
import android.util.Log
import androidx.annotation.VisibleForTesting
+import androidx.annotation.WorkerThread
import com.android.internal.util.Preconditions
import com.android.systemui.Dumpable
import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger
@@ -34,8 +34,6 @@
import java.util.concurrent.Executor
import java.util.concurrent.atomic.AtomicInteger
-private const val MSG_REGISTER_RECEIVER = 0
-private const val MSG_UNREGISTER_RECEIVER = 1
private const val TAG = "UserBroadcastDispatcher"
private const val DEBUG = false
@@ -50,7 +48,8 @@
private val userId: Int,
private val bgLooper: Looper,
private val bgExecutor: Executor,
- private val logger: BroadcastDispatcherLogger
+ private val logger: BroadcastDispatcherLogger,
+ private val removalPendingStore: PendingRemovalStore
) : Dumpable {
companion object {
@@ -60,16 +59,6 @@
val index = AtomicInteger(0)
}
- private val bgHandler = object : Handler(bgLooper) {
- override fun handleMessage(msg: Message) {
- when (msg.what) {
- MSG_REGISTER_RECEIVER -> handleRegisterReceiver(msg.obj as ReceiverData, msg.arg1)
- MSG_UNREGISTER_RECEIVER -> handleUnregisterReceiver(msg.obj as BroadcastReceiver)
- else -> Unit
- }
- }
- }
-
// Used for key in actionsToActionsReceivers
internal data class ReceiverProperties(
val action: String,
@@ -77,6 +66,8 @@
val permission: String?
)
+ private val bgHandler = Handler(bgLooper)
+
// Only modify in BG thread
@VisibleForTesting
internal val actionsToActionsReceivers = ArrayMap<ReceiverProperties, ActionReceiver>()
@@ -92,19 +83,21 @@
/**
* Register a [ReceiverData] for this user.
*/
+ @WorkerThread
fun registerReceiver(receiverData: ReceiverData, flags: Int) {
- bgHandler.obtainMessage(MSG_REGISTER_RECEIVER, flags, 0, receiverData).sendToTarget()
+ handleRegisterReceiver(receiverData, flags)
}
/**
* Unregister a given [BroadcastReceiver] for this user.
*/
+ @WorkerThread
fun unregisterReceiver(receiver: BroadcastReceiver) {
- bgHandler.obtainMessage(MSG_UNREGISTER_RECEIVER, receiver).sendToTarget()
+ handleUnregisterReceiver(receiver)
}
private fun handleRegisterReceiver(receiverData: ReceiverData, flags: Int) {
- Preconditions.checkState(bgHandler.looper.isCurrentThread,
+ Preconditions.checkState(bgLooper.isCurrentThread,
"This method should only be called from BG thread")
if (DEBUG) Log.w(TAG, "Register receiver: ${receiverData.receiver}")
receiverToActions
@@ -151,12 +144,13 @@
}
},
bgExecutor,
- logger
+ logger,
+ removalPendingStore::isPendingRemoval
)
}
private fun handleUnregisterReceiver(receiver: BroadcastReceiver) {
- Preconditions.checkState(bgHandler.looper.isCurrentThread,
+ Preconditions.checkState(bgLooper.isCurrentThread,
"This method should only be called from BG thread")
if (DEBUG) Log.w(TAG, "Unregister receiver: $receiver")
receiverToActions.getOrDefault(receiver, mutableSetOf()).forEach {
diff --git a/packages/SystemUI/src/com/android/systemui/broadcast/logging/BroadcastDispatcherLogger.kt b/packages/SystemUI/src/com/android/systemui/broadcast/logging/BroadcastDispatcherLogger.kt
index 8da6519..5b3a982 100644
--- a/packages/SystemUI/src/com/android/systemui/broadcast/logging/BroadcastDispatcherLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/broadcast/logging/BroadcastDispatcherLogger.kt
@@ -87,6 +87,26 @@
})
}
+ fun logTagForRemoval(user: Int, receiver: BroadcastReceiver) {
+ val receiverString = receiver.toString()
+ log(DEBUG, {
+ int1 = user
+ str1 = receiverString
+ }, {
+ "Receiver $str1 tagged for removal from user $int1"
+ })
+ }
+
+ fun logClearedAfterRemoval(user: Int, receiver: BroadcastReceiver) {
+ val receiverString = receiver.toString()
+ log(DEBUG, {
+ int1 = user
+ str1 = receiverString
+ }, {
+ "Receiver $str1 has been completely removed for user $int1"
+ })
+ }
+
fun logReceiverUnregistered(user: Int, receiver: BroadcastReceiver) {
val receiverString = receiver.toString()
log(INFO, {
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
index fb1af8b..74949d0 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
@@ -16,7 +16,7 @@
package com.android.systemui.dreams;
-import static com.android.keyguard.BouncerPanelExpansionCalculator.getBackScrimScaledExpansion;
+import static com.android.keyguard.BouncerPanelExpansionCalculator.aboutToShowBouncerProgress;
import static com.android.keyguard.BouncerPanelExpansionCalculator.getDreamAlphaScaledExpansion;
import static com.android.keyguard.BouncerPanelExpansionCalculator.getDreamYPositionScaledExpansion;
import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
@@ -217,19 +217,19 @@
mBlurUtils.applyBlur(mView.getViewRootImpl(),
(int) mBlurUtils.blurRadiusOfRatio(
- 1 - getBackScrimScaledExpansion(bouncerHideAmount)), false);
+ 1 - aboutToShowBouncerProgress(bouncerHideAmount)), false);
}
private static float getAlpha(int position, float expansion) {
return Interpolators.LINEAR_OUT_SLOW_IN.getInterpolation(
position == POSITION_TOP ? getDreamAlphaScaledExpansion(expansion)
- : getBackScrimScaledExpansion(expansion + 0.03f));
+ : aboutToShowBouncerProgress(expansion + 0.03f));
}
private float getTranslationY(int position, float expansion) {
final float fraction = Interpolators.LINEAR_OUT_SLOW_IN.getInterpolation(
position == POSITION_TOP ? getDreamYPositionScaledExpansion(expansion)
- : getBackScrimScaledExpansion(expansion + 0.03f));
+ : aboutToShowBouncerProgress(expansion + 0.03f));
return MathUtils.lerp(-mDreamOverlayMaxTranslationY, 0, fraction);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java b/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
index aa28c54..517fce1 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
@@ -144,9 +144,8 @@
private void setPanelExpansion(float expansion) {
mCurrentExpansion = expansion;
-
- mCentralSurfaces.setBouncerShowing(expansion != KeyguardBouncer.EXPANSION_HIDDEN);
-
+ mCentralSurfaces.setBouncerShowingOverDream(
+ mCurrentExpansion != KeyguardBouncer.EXPANSION_HIDDEN);
mStatusBarKeyguardViewManager.onPanelExpansionChanged(mCurrentExpansion, false, true);
}
diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
index 0819f30..44580aa 100644
--- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java
+++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java
@@ -149,7 +149,7 @@
/***************************************/
// 900 - media
public static final BooleanFlag MEDIA_TAP_TO_TRANSFER = new BooleanFlag(900, true);
- public static final BooleanFlag MEDIA_SESSION_ACTIONS = new BooleanFlag(901, true);
+ public static final BooleanFlag MEDIA_SESSION_ACTIONS = new BooleanFlag(901, false);
public static final BooleanFlag MEDIA_NEARBY_DEVICES = new BooleanFlag(903, true);
public static final BooleanFlag MEDIA_MUTE_AWAIT = new BooleanFlag(904, true);
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
index 35f29b9..a8c2862 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardUnlockAnimationController.kt
@@ -23,6 +23,7 @@
import android.graphics.Matrix
import android.graphics.Rect
import android.os.Handler
+import android.provider.Settings
import android.util.Log
import android.view.RemoteAnimationTarget
import android.view.SyncRtSurfaceTransactionApplier
@@ -94,6 +95,20 @@
const val UNLOCK_ANIMATION_DURATION_MS = 200L
/**
+ * How long the in-window launcher icon animation takes. This is used if the launcher is underneath
+ * the lock screen and supports in-window animations.
+ *
+ * This animation will take place entirely within the Launcher window. We can safely unlock the
+ * device, end remote animations, etc. even if this is still running.
+ */
+const val LAUNCHER_ICONS_ANIMATION_DURATION_MS = 633L
+
+/**
+ * How long to wait for the shade to get out of the way before starting the canned unlock animation.
+ */
+const val CANNED_UNLOCK_START_DELAY = 100L
+
+/**
* Duration for the alpha animation on the surface behind. This plays to fade in the surface during
* a swipe to unlock (and to fade it back out if the swipe is cancelled).
*/
@@ -119,7 +134,7 @@
*/
@SysUISingleton
class KeyguardUnlockAnimationController @Inject constructor(
- context: Context,
+ private val context: Context,
private val keyguardStateController: KeyguardStateController,
private val
keyguardViewMediator: Lazy<KeyguardViewMediator>,
@@ -374,6 +389,10 @@
listeners.add(listener)
}
+ fun removeKeyguardUnlockAnimationListener(listener: KeyguardUnlockAnimationListener) {
+ listeners.remove(listener)
+ }
+
/**
* Called from [KeyguardViewMediator] to tell us that the RemoteAnimation on the surface behind
* the keyguard has started successfully. We can use these parameters to directly manipulate the
@@ -483,23 +502,34 @@
* transition if possible.
*/
private fun unlockToLauncherWithInWindowAnimations() {
- unlockingToLauncherWithInWindowAnimations = true
-
// See if we can do the smartspace transition, and if so, do it!
if (prepareForSmartspaceTransition()) {
animateSmartspaceToDestination()
listeners.forEach { it.onSmartspaceSharedElementTransitionStarted() }
}
- // Tell the launcher to prepare for the animation by setting its views invisible and
- // syncing the selected smartspace pages.
- launcherUnlockController?.prepareForUnlock(
- unlockingWithSmartspaceTransition /* willAnimateSmartspace */,
- (lockscreenSmartspace as BcSmartspaceDataPlugin.SmartspaceView?)?.selectedPage ?: -1)
+ val startDelay = Settings.Secure.getLong(
+ context.contentResolver, "unlock_start_delay", CANNED_UNLOCK_START_DELAY)
+ val duration = Settings.Secure.getLong(
+ context.contentResolver, "unlock_duration", LAUNCHER_ICONS_ANIMATION_DURATION_MS)
- // Begin the animation.
+ unlockingToLauncherWithInWindowAnimations = true
+ prepareLauncherWorkspaceForUnlockAnimation()
+
+ // Begin the animation, waiting for the shade to animate out.
launcherUnlockController?.playUnlockAnimation(
- true /* unlocked */, UNLOCK_ANIMATION_DURATION_MS)
+ true /* unlocked */,
+ duration /* duration */,
+ startDelay /* startDelay */)
+
+ handler.postDelayed({
+ applyParamsToSurface(
+ SyncRtSurfaceTransactionApplier.SurfaceParams.Builder(
+ surfaceBehindRemoteAnimationTarget!!.leash)
+ .withAlpha(1f)
+ .build())
+ }, startDelay)
+
if (!unlockingWithSmartspaceTransition) {
// If we are not unlocking with the smartspace transition, wait for the unlock animation
// to end and then finish the remote animation. If we are using the smartspace
@@ -509,9 +539,18 @@
false /* cancelled */)
}, UNLOCK_ANIMATION_DURATION_MS)
}
+ }
- // Wait a moment, then show the launcher surface.
- setSurfaceBehindAppearAmount(1f)
+ /**
+ * Asks Launcher to prepare the workspace to be unlocked. This sets up the animation and makes
+ * the page invisible.
+ */
+ private fun prepareLauncherWorkspaceForUnlockAnimation() {
+ // Tell the launcher to prepare for the animation by setting its views invisible and
+ // syncing the selected smartspace pages.
+ launcherUnlockController?.prepareForUnlock(
+ unlockingWithSmartspaceTransition /* willAnimateSmartspace */,
+ (lockscreenSmartspace as BcSmartspaceDataPlugin.SmartspaceView?)?.selectedPage ?: -1)
}
/**
@@ -615,20 +654,18 @@
}
if (unlockingToLauncherWithInWindowAnimations) {
- // If we're using the in-window launcher animations, and haven't yet applied alpha = 1f
- // to the launcher surface, do that now so we can see the launcher animations.
- if (surfaceBehindParams?.alpha?.let { it < 1f } != false) {
- applyParamsToSurface(
- SyncRtSurfaceTransactionApplier.SurfaceParams.Builder(
- surfaceBehindRemoteAnimationTarget!!.leash)
- .withAlpha(1f)
- .build())
- }
-
// If we aren't using the canned unlock animation (which would be setting the unlock
// amount in its update listener), do it here.
if (!isPlayingCannedUnlockAnimation()) {
launcherUnlockController?.setUnlockAmount(amount)
+
+ if (surfaceBehindParams?.alpha?.let { it < 1f } != false) {
+ applyParamsToSurface(
+ SyncRtSurfaceTransactionApplier.SurfaceParams.Builder(
+ surfaceBehindRemoteAnimationTarget!!.leash)
+ .withAlpha(1f)
+ .build())
+ }
}
} else {
// Otherwise, animate in the surface's scale/transltion.
@@ -743,9 +780,10 @@
!keyguardViewMediator.get().requestedShowSurfaceBehindKeyguard()) {
// We passed the threshold, and we're not yet showing the surface behind the
// keyguard. Animate it in.
- if (canPerformInWindowLauncherAnimations()) {
- launcherUnlockController?.setUnlockAmount(0f)
+ if (!unlockingToLauncherWithInWindowAnimations &&
+ canPerformInWindowLauncherAnimations()) {
unlockingToLauncherWithInWindowAnimations = true
+ prepareLauncherWorkspaceForUnlockAnimation()
}
keyguardViewMediator.get().showSurfaceBehindKeyguard()
fadeInSurfaceBehind()
@@ -928,7 +966,11 @@
* the device.
*/
fun canPerformInWindowLauncherAnimations(): Boolean {
- return isNexusLauncherUnderneath() && launcherUnlockController != null
+ return isNexusLauncherUnderneath() &&
+ launcherUnlockController != null &&
+ // Temporarily disable for foldables since foldable launcher has two first pages,
+ // which breaks the in-window animation.
+ !isFoldable(context)
}
/**
@@ -969,5 +1011,9 @@
.runningTask?.topActivity?.className?.equals(
QuickStepContract.LAUNCHER_ACTIVITY_CLASS_NAME) ?: false
}
+
+ fun isFoldable(context: Context): Boolean {
+ return context.resources.getIntArray(R.array.config_foldedDeviceStates).isNotEmpty()
+ }
}
}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
index 542bd56..8e81831 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaCarouselController.kt
@@ -228,7 +228,8 @@
it.mUid,
surfaces = intArrayOf(
SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
- SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN),
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN,
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY),
rank = MediaPlayerData.getMediaPlayerIndex(key))
/* ktlint-disable max-line-length */
}
@@ -251,7 +252,8 @@
it.mUid,
surfaces = intArrayOf(
SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
- SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN),
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN,
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY),
rank = index,
receivedLatencyMillis = receivedSmartspaceCardLatency)
/* ktlint-disable max-line-length */
@@ -307,7 +309,8 @@
it.mUid,
surfaces = intArrayOf(
SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
- SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN),
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN,
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY),
rank = index,
receivedLatencyMillis = (systemClock.currentTimeMillis() - data.headphoneConnectionTimeMillis).toInt())
/* ktlint-disable max-line-length */
@@ -322,7 +325,8 @@
it.mUid,
surfaces = intArrayOf(
SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE,
- SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN),
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN,
+ SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY),
rank = MediaPlayerData.getMediaPlayerIndex(key),
receivedLatencyMillis = (systemClock.currentTimeMillis() - data.headphoneConnectionTimeMillis).toInt())
/* ktlint-disable max-line-length */
@@ -504,6 +508,11 @@
dismissMediaData: Boolean = true,
dismissRecommendation: Boolean = true
) {
+ if (key == MediaPlayerData.smartspaceMediaKey()) {
+ MediaPlayerData.smartspaceMediaData?.let {
+ logger.logRecommendationRemoved(it.packageName, it.instanceId)
+ }
+ }
val removed = MediaPlayerData.removeMediaPlayer(key)
removed?.apply {
mediaCarouselScrollHandler.onPrePlayerRemoved(removed)
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
index 547d13c..c956783 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java
@@ -331,6 +331,7 @@
});
mRecommendationViewHolder.getSettings().setOnClickListener(v -> {
if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
+ mLogger.logLongPressSettings(mUid, mPackageName, mInstanceId);
mActivityStarter.startActivity(SETTINGS_INTENT, true /* dismissShade */);
}
});
@@ -940,6 +941,8 @@
mSmartspaceId = SmallHash.hash(data.getTargetId());
mBackgroundColor = data.getBackgroundColor();
+ mPackageName = data.getPackageName();
+ mInstanceId = data.getInstanceId();
TransitionLayout recommendationCard = mRecommendationViewHolder.getRecommendations();
recommendationCard.setBackgroundTintList(ColorStateList.valueOf(mBackgroundColor));
@@ -1068,6 +1071,7 @@
mRecommendationViewHolder.getDismiss().setOnClickListener(v -> {
if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
+ mLogger.logLongPressDismiss(mUid, mPackageName, mInstanceId);
logSmartspaceCardReported(
761 // SMARTSPACE_CARD_DISMISS
);
@@ -1204,6 +1208,11 @@
view.setOnClickListener(v -> {
if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
+ if (interactedSubcardRank == -1) {
+ mLogger.logRecommendationCardTap(mPackageName, mInstanceId);
+ } else {
+ mLogger.logRecommendationItemTap(mPackageName, mInstanceId, interactedSubcardRank);
+ }
logSmartspaceCardReported(SMARTSPACE_CARD_CLICK_EVENT,
interactedSubcardRank,
getSmartspaceSubCardCardinality());
@@ -1270,6 +1279,8 @@
return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__SHADE;
} else if (currentEndLocation == MediaHierarchyManager.LOCATION_LOCKSCREEN) {
return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__LOCKSCREEN;
+ } else if (currentEndLocation == MediaHierarchyManager.LOCATION_DREAM_OVERLAY) {
+ return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DREAM_OVERLAY;
}
return SysUiStatsLog.SMART_SPACE_CARD_REPORTED__DISPLAY_SURFACE__DEFAULT_SURFACE;
}
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt
index 80a407b..647d3ef 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt
@@ -60,7 +60,8 @@
private val broadcastSender: BroadcastSender,
private val lockscreenUserManager: NotificationLockscreenUserManager,
@Main private val executor: Executor,
- private val systemClock: SystemClock
+ private val systemClock: SystemClock,
+ private val logger: MediaUiEventLogger
) : MediaDataManager.Listener {
private val userTracker: CurrentUserTracker
private val _listeners: MutableSet<MediaDataManager.Listener> = mutableSetOf()
@@ -151,6 +152,8 @@
Log.d(TAG, "reactivating $lastActiveKey instead of smartspace")
reactivatedKey = lastActiveKey
val mediaData = sorted.get(lastActiveKey)!!.copy(active = true)
+ logger.logRecommendationActivated(mediaData.appUid, mediaData.packageName,
+ mediaData.instanceId)
listeners.forEach {
it.onMediaDataLoaded(lastActiveKey, lastActiveKey, mediaData,
receivedSmartspaceCardLatency =
@@ -167,6 +170,8 @@
Log.d(TAG, "Invalid recommendation data. Skip showing the rec card")
return
}
+ logger.logRecommendationAdded(smartspaceMediaData.packageName,
+ smartspaceMediaData.instanceId)
listeners.forEach { it.onSmartspaceMediaDataLoaded(key, data, shouldPrioritizeMutable) }
}
@@ -197,7 +202,9 @@
if (smartspaceMediaData.isActive) {
smartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
- targetId = smartspaceMediaData.targetId, isValid = smartspaceMediaData.isValid)
+ targetId = smartspaceMediaData.targetId,
+ isValid = smartspaceMediaData.isValid,
+ instanceId = smartspaceMediaData.instanceId)
}
listeners.forEach { it.onSmartspaceMediaDataRemoved(key, immediately) }
}
@@ -252,9 +259,12 @@
broadcastSender.sendBroadcast(dismissIntent)
}
smartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
- targetId = smartspaceMediaData.targetId, isValid = smartspaceMediaData.isValid)
+ targetId = smartspaceMediaData.targetId,
+ isValid = smartspaceMediaData.isValid,
+ instanceId = smartspaceMediaData.instanceId)
+ mediaDataManager.dismissSmartspaceRecommendation(smartspaceMediaData.targetId,
+ delay = 0L)
}
- mediaDataManager.dismissSmartspaceRecommendation(smartspaceMediaData.targetId, delay = 0L)
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
index 9a2977d..0ad15fa 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt
@@ -103,8 +103,17 @@
appUid = Process.INVALID_UID)
@VisibleForTesting
-internal val EMPTY_SMARTSPACE_MEDIA_DATA = SmartspaceMediaData("INVALID", false, false,
- "INVALID", null, emptyList(), null, 0, 0)
+internal val EMPTY_SMARTSPACE_MEDIA_DATA = SmartspaceMediaData(
+ targetId = "INVALID",
+ isActive = false,
+ isValid = false,
+ packageName = "INVALID",
+ cardAction = null,
+ recommendations = emptyList(),
+ dismissIntent = null,
+ backgroundColor = 0,
+ headphoneConnectionTimeMillis = 0,
+ instanceId = InstanceId.fakeInstanceId(-1))
fun isMediaNotification(sbn: StatusBarNotification): Boolean {
return sbn.notification.isMediaNotification()
@@ -532,14 +541,16 @@
* connection session.
*/
fun dismissSmartspaceRecommendation(key: String, delay: Long) {
- if (smartspaceMediaData.targetId != key) {
+ if (smartspaceMediaData.targetId != key || !smartspaceMediaData.isValid) {
+ // If this doesn't match, or we've already invalidated the data, no action needed
return
}
if (DEBUG) Log.d(TAG, "Dismissing Smartspace media target")
if (smartspaceMediaData.isActive) {
smartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
- targetId = smartspaceMediaData.targetId)
+ targetId = smartspaceMediaData.targetId,
+ instanceId = smartspaceMediaData.instanceId)
}
foregroundExecutor.executeDelayed(
{ notifySmartspaceMediaDataRemoved(
@@ -1035,7 +1046,8 @@
Log.d(TAG, "Set Smartspace media to be inactive for the data update")
}
smartspaceMediaData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
- targetId = smartspaceMediaData.targetId)
+ targetId = smartspaceMediaData.targetId,
+ instanceId = smartspaceMediaData.instanceId)
notifySmartspaceMediaDataRemoved(smartspaceMediaData.targetId, immediately = false)
}
1 -> {
@@ -1214,15 +1226,24 @@
.getParcelable(EXTRAS_SMARTSPACE_DISMISS_INTENT_KEY) as Intent?
}
packageName(target)?.let {
- return SmartspaceMediaData(target.smartspaceTargetId, isActive, true, it,
- target.baseAction, target.iconGrid,
- dismissIntent, 0, target.creationTimeMillis)
+ return SmartspaceMediaData(
+ targetId = target.smartspaceTargetId,
+ isActive = isActive,
+ isValid = true,
+ packageName = it,
+ cardAction = target.baseAction,
+ recommendations = target.iconGrid,
+ dismissIntent = dismissIntent,
+ backgroundColor = 0,
+ headphoneConnectionTimeMillis = target.creationTimeMillis,
+ instanceId = logger.getNewInstanceId())
}
return EMPTY_SMARTSPACE_MEDIA_DATA
.copy(targetId = target.smartspaceTargetId,
isActive = isActive,
dismissIntent = dismissIntent,
- headphoneConnectionTimeMillis = target.creationTimeMillis)
+ headphoneConnectionTimeMillis = target.creationTimeMillis,
+ instanceId = logger.getNewInstanceId())
}
private fun packageName(target: SmartspaceTarget): String? {
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaUiEventLogger.kt b/packages/SystemUI/src/com/android/systemui/media/MediaUiEventLogger.kt
index 3eba3b5..52f5cc5 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaUiEventLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaUiEventLogger.kt
@@ -151,6 +151,31 @@
}
logger.log(event)
}
+
+ fun logRecommendationAdded(packageName: String, instanceId: InstanceId) {
+ logger.logWithInstanceId(MediaUiEvent.MEDIA_RECOMMENDATION_ADDED, 0, packageName,
+ instanceId)
+ }
+
+ fun logRecommendationRemoved(packageName: String, instanceId: InstanceId) {
+ logger.logWithInstanceId(MediaUiEvent.MEDIA_RECOMMENDATION_REMOVED, 0, packageName,
+ instanceId)
+ }
+
+ fun logRecommendationActivated(uid: Int, packageName: String, instanceId: InstanceId) {
+ logger.logWithInstanceId(MediaUiEvent.MEDIA_RECOMMENDATION_ACTIVATED, uid, packageName,
+ instanceId)
+ }
+
+ fun logRecommendationItemTap(packageName: String, instanceId: InstanceId, position: Int) {
+ logger.logWithInstanceIdAndPosition(MediaUiEvent.MEDIA_RECOMMENDATION_ITEM_TAP, 0,
+ packageName, instanceId, position)
+ }
+
+ fun logRecommendationCardTap(packageName: String, instanceId: InstanceId) {
+ logger.logWithInstanceId(MediaUiEvent.MEDIA_RECOMMENDATION_CARD_TAP, 0, packageName,
+ instanceId)
+ }
}
enum class MediaUiEvent(val metricId: Int) : UiEventLogger.UiEventEnum {
@@ -233,7 +258,22 @@
MEDIA_CAROUSEL_LOCATION_LOCKSCREEN(1039),
@UiEvent(doc = "The media carousel moved to the dream state")
- MEDIA_CAROUSEL_LOCATION_DREAM(1040);
+ MEDIA_CAROUSEL_LOCATION_DREAM(1040),
+
+ @UiEvent(doc = "A media recommendation card was added to the media carousel")
+ MEDIA_RECOMMENDATION_ADDED(1041),
+
+ @UiEvent(doc = "A media recommendation card was removed from the media carousel")
+ MEDIA_RECOMMENDATION_REMOVED(1042),
+
+ @UiEvent(doc = "An existing media control was made active as a recommendation")
+ MEDIA_RECOMMENDATION_ACTIVATED(1043),
+
+ @UiEvent(doc = "User tapped on an item in a media recommendation card")
+ MEDIA_RECOMMENDATION_ITEM_TAP(1044),
+
+ @UiEvent(doc = "User tapped on a media recommendation card")
+ MEDIA_RECOMMENDATION_CARD_TAP(1045);
override fun getId() = metricId
}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/media/SmartspaceMediaData.kt b/packages/SystemUI/src/com/android/systemui/media/SmartspaceMediaData.kt
index 066a6fb..e161ea7 100644
--- a/packages/SystemUI/src/com/android/systemui/media/SmartspaceMediaData.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/SmartspaceMediaData.kt
@@ -18,6 +18,7 @@
import android.app.smartspace.SmartspaceAction
import android.content.Intent
+import com.android.internal.logging.InstanceId
/** State of a Smartspace media recommendations view. */
data class SmartspaceMediaData(
@@ -56,5 +57,9 @@
/**
* The timestamp in milliseconds that headphone is connected.
*/
- val headphoneConnectionTimeMillis: Long
+ val headphoneConnectionTimeMillis: Long,
+ /**
+ * Instance ID for [MediaUiEventLogger]
+ */
+ val instanceId: InstanceId
)
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
index 3cffd02..fc10397 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
@@ -88,8 +88,11 @@
@Override
int getStopButtonVisibility() {
- boolean isActiveRemoteDevice = mMediaOutputController.isActiveRemoteDevice(
- mMediaOutputController.getCurrentConnectedMediaDevice());
+ boolean isActiveRemoteDevice = false;
+ if (mMediaOutputController.getCurrentConnectedMediaDevice() != null) {
+ isActiveRemoteDevice = mMediaOutputController.isActiveRemoteDevice(
+ mMediaOutputController.getCurrentConnectedMediaDevice());
+ }
boolean isBroadCastSupported = isBroadcastSupported();
return (isActiveRemoteDevice || isBroadCastSupported) ? View.VISIBLE : View.GONE;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
index e639128..cc37ef4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/FgsManagerController.kt
@@ -228,6 +228,10 @@
synchronized(lock) {
if (dialog == null) {
+ runningServiceTokens.keys.forEach {
+ it.updateUiControl()
+ }
+
val dialog = SystemUIDialog(context)
dialog.setTitle(R.string.fgs_manager_dialog_title)
@@ -396,10 +400,20 @@
val userId: Int,
val packageName: String
) {
- val uiControl: UIControl by lazy {
- val uid = packageManager.getPackageUidAsUser(packageName, userId)
+ val uid by lazy { packageManager.getPackageUidAsUser(packageName, userId) }
- when (activityManager.getBackgroundRestrictionExemptionReason(uid)) {
+ private var uiControlInitialized = false
+ var uiControl: UIControl = UIControl.NORMAL
+ get() {
+ if (!uiControlInitialized) {
+ updateUiControl()
+ }
+ return field
+ }
+ private set
+
+ fun updateUiControl() {
+ uiControl = when (activityManager.getBackgroundRestrictionExemptionReason(uid)) {
PowerExemptionManager.REASON_SYSTEM_UID,
PowerExemptionManager.REASON_DEVICE_DEMO_MODE -> UIControl.HIDE_ENTRY
@@ -412,6 +426,7 @@
PowerExemptionManager.REASON_SYSTEM_MODULE -> UIControl.HIDE_BUTTON
else -> UIControl.NORMAL
}
+ uiControlInitialized = true
}
override fun equals(other: Any?): Boolean {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
index f87f81e..a64b670 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java
@@ -610,7 +610,7 @@
view.setVisibility((View.VISIBLE));
}
float alpha = mQSPanelController.bouncerInTransit()
- ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress)
+ ? BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(progress)
: ShadeInterpolation.getContentAlpha(progress);
view.setAlpha(alpha);
}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index 9fbdd3c..9de132f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -364,7 +364,7 @@
setPaddingRelative(getPaddingStart(),
paddingTop,
getPaddingEnd(),
- getPaddingEnd());
+ getPaddingBottom());
}
void addOnConfigurationChangedListener(OnConfigurationChangedListener listener) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
index 7e0410c..dd99db4 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSSecurityFooter.java
@@ -143,9 +143,10 @@
@Inject
QSSecurityFooter(@Named(QS_SECURITY_FOOTER_VIEW) View rootView,
- UserTracker userTracker, @Main Handler mainHandler, ActivityStarter activityStarter,
- SecurityController securityController, DialogLaunchAnimator dialogLaunchAnimator,
- @Background Looper bgLooper, BroadcastDispatcher broadcastDispatcher) {
+ UserTracker userTracker, @Main Handler mainHandler,
+ ActivityStarter activityStarter, SecurityController securityController,
+ DialogLaunchAnimator dialogLaunchAnimator, @Background Looper bgLooper,
+ BroadcastDispatcher broadcastDispatcher) {
super(rootView);
mFooterText = mView.findViewById(R.id.footer_text);
mPrimaryFooterIcon = mView.findViewById(R.id.primary_footer_icon);
@@ -493,21 +494,23 @@
private void createDialog() {
mShouldUseSettingsButton.set(false);
- final View view = createDialogView();
- mMainHandler.post(() -> {
- mDialog = new SystemUIDialog(mContext, 0); // Use mContext theme
- mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getPositiveButton(), this);
- mDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
- mShouldUseSettingsButton.get() ? getSettingsButton() : getNegativeButton(),
- this);
+ mHandler.post(() -> {
+ String settingsButtonText = getSettingsButton();
+ final View view = createDialogView();
+ mMainHandler.post(() -> {
+ mDialog = new SystemUIDialog(mContext, 0); // Use mContext theme
+ mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ mDialog.setButton(DialogInterface.BUTTON_POSITIVE, getPositiveButton(), this);
+ mDialog.setButton(DialogInterface.BUTTON_NEGATIVE, mShouldUseSettingsButton.get()
+ ? settingsButtonText : getNegativeButton(), this);
- mDialog.setView(view);
- if (mView.isAggregatedVisible()) {
- mDialogLaunchAnimator.showFromView(mDialog, mView);
- } else {
- mDialog.show();
- }
+ mDialog.setView(view);
+ if (mView.isAggregatedVisible()) {
+ mDialogLaunchAnimator.showFromView(mDialog, mView);
+ } else {
+ mDialog.show();
+ }
+ });
});
}
@@ -650,6 +653,7 @@
}
}
+ // This should not be called on the main thread to avoid making an IPC.
@VisibleForTesting
String getSettingsButton() {
return mDpm.getResources().getString(
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
index 3c95da8..112b1e8 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java
@@ -71,7 +71,11 @@
@Override
protected void updatePadding() {
- // QS Panel is setting a top padding by default, which we don't need.
+ int bottomPadding = getResources().getDimensionPixelSize(R.dimen.qqs_layout_padding_bottom);
+ setPaddingRelative(getPaddingStart(),
+ getPaddingTop(),
+ getPaddingEnd(),
+ bottomPadding);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 61f49e0..83138f0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -896,21 +896,8 @@
}
}
- private void showTryFingerprintMsg(int msgId, String a11yString) {
- if (mKeyguardUpdateMonitor.isUdfpsSupported()) {
- // if udfps available, there will always be a tappable affordance to unlock
- // For example, the lock icon
- if (mKeyguardBypassController.getUserHasDeviceEntryIntent()) {
- showBiometricMessage(R.string.keyguard_unlock_press);
- } else if (msgId == FaceManager.FACE_ERROR_LOCKOUT_PERMANENT) {
- // since face is locked out, simply show "try fingerprint"
- showBiometricMessage(R.string.keyguard_try_fingerprint);
- } else {
- showBiometricMessage(R.string.keyguard_face_failed_use_fp);
- }
- } else {
- showBiometricMessage(R.string.keyguard_try_fingerprint);
- }
+ private void showFaceFailedTryFingerprintMsg(int msgId, String a11yString) {
+ showBiometricMessage(R.string.keyguard_face_failed_use_fp);
// Although we suppress face auth errors visually, we still announce them for a11y
if (!TextUtils.isEmpty(a11yString)) {
@@ -1002,7 +989,7 @@
} else if (mScreenLifecycle.getScreenState() == SCREEN_ON) {
if (biometricSourceType == BiometricSourceType.FACE
&& shouldSuppressFaceMsgAndShowTryFingerprintMsg()) {
- showTryFingerprintMsg(msgId, helpString);
+ showFaceFailedTryFingerprintMsg(msgId, helpString);
return;
}
showBiometricMessage(helpString);
@@ -1022,7 +1009,7 @@
&& shouldSuppressFaceMsgAndShowTryFingerprintMsg()
&& !mStatusBarKeyguardViewManager.isBouncerShowing()
&& mScreenLifecycle.getScreenState() == SCREEN_ON) {
- showTryFingerprintMsg(msgId, errString);
+ showFaceFailedTryFingerprintMsg(msgId, errString);
return;
}
if (msgId == FaceManager.FACE_ERROR_TIMEOUT) {
@@ -1031,10 +1018,10 @@
if (!mStatusBarKeyguardViewManager.isBouncerShowing()
&& mKeyguardUpdateMonitor.isUdfpsEnrolled()
&& mKeyguardUpdateMonitor.isFingerprintDetectionRunning()) {
- showTryFingerprintMsg(msgId, errString);
+ showFaceFailedTryFingerprintMsg(msgId, errString);
} else if (mStatusBarKeyguardViewManager.isShowingAlternateAuth()) {
mStatusBarKeyguardViewManager.showBouncerMessage(
- mContext.getResources().getString(R.string.keyguard_unlock_press),
+ mContext.getResources().getString(R.string.keyguard_try_fingerprint),
mInitialTextColorState
);
} else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/LightRevealScrim.kt b/packages/SystemUI/src/com/android/systemui/statusbar/LightRevealScrim.kt
index 9a932ba..270bdc7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/LightRevealScrim.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/LightRevealScrim.kt
@@ -11,6 +11,7 @@
import android.graphics.PorterDuffXfermode
import android.graphics.RadialGradient
import android.graphics.Shader
+import android.os.Trace
import android.util.AttributeSet
import android.util.MathUtils.lerp
import android.view.View
@@ -222,6 +223,8 @@
revealEffect.setRevealAmountOnScrim(value, this)
updateScrimOpaque()
+ Trace.traceCounter(Trace.TRACE_TAG_APP, "light_reveal_amount",
+ (field * 100).toInt())
invalidate()
}
}
@@ -355,8 +358,8 @@
}
override fun onDraw(canvas: Canvas?) {
- if (canvas == null || revealGradientWidth <= 0 || revealGradientHeight <= 0
- || revealAmount == 0f) {
+ if (canvas == null || revealGradientWidth <= 0 || revealGradientHeight <= 0 ||
+ revealAmount == 0f) {
if (revealAmount < 1f) {
canvas?.drawColor(revealGradientEndColor)
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
index eefa10b..a1dbf0c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java
@@ -468,6 +468,7 @@
*/
protected int mState; // TODO: remove this. Just use StatusBarStateController
protected boolean mBouncerShowing;
+ private boolean mBouncerShowingOverDream;
private final PhoneStatusBarPolicy mIconPolicy;
@@ -3251,9 +3252,13 @@
}
public boolean onBackPressed() {
- boolean isScrimmedBouncer = mScrimController.getState() == ScrimState.BOUNCER_SCRIMMED;
- if (mStatusBarKeyguardViewManager.onBackPressed(isScrimmedBouncer /* hideImmediately */)) {
- if (isScrimmedBouncer) {
+ final boolean isScrimmedBouncer =
+ mScrimController.getState() == ScrimState.BOUNCER_SCRIMMED;
+ final boolean isBouncerOverDream = isBouncerShowingOverDream();
+
+ if (mStatusBarKeyguardViewManager.onBackPressed(
+ isScrimmedBouncer || isBouncerOverDream /* hideImmediately */)) {
+ if (isScrimmedBouncer || isBouncerOverDream) {
mStatusBarStateController.setLeaveOpenOnKeyguardHide(false);
} else {
mNotificationPanelViewController.expandWithoutQs();
@@ -3275,7 +3280,8 @@
if (mNotificationPanelViewController.closeUserSwitcherIfOpen()) {
return true;
}
- if (mState != StatusBarState.KEYGUARD && mState != StatusBarState.SHADE_LOCKED) {
+ if (mState != StatusBarState.KEYGUARD && mState != StatusBarState.SHADE_LOCKED
+ && !isBouncerOverDream) {
if (mNotificationPanelViewController.canPanelBeCollapsed()) {
mShadeController.animateCollapsePanels();
}
@@ -3467,7 +3473,19 @@
mStatusBarHideIconsForBouncerManager.setBouncerShowingAndTriggerUpdate(bouncerShowing);
mCommandQueue.recomputeDisableFlags(mDisplayId, true /* animate */);
updateScrimController();
- updateNotificationPanelTouchState();
+ if (!mBouncerShowing) {
+ updatePanelExpansionForKeyguard();
+ }
+ }
+
+ /**
+ * Sets whether the bouncer over dream is showing. Note that the bouncer over dream is handled
+ * independently of the rest of the notification panel. As a result, setting this state via
+ * {@link #setBouncerShowing(boolean)} leads to unintended side effects from states modified
+ * behind the dream.
+ */
+ public void setBouncerShowingOverDream(boolean bouncerShowingOverDream) {
+ mBouncerShowingOverDream = bouncerShowingOverDream;
}
/**
@@ -3612,13 +3630,10 @@
* collapse the panel after we expanded it, and thus we would end up with a blank
* Keyguard.
*/
- public void updateNotificationPanelTouchState() {
+ void updateNotificationPanelTouchState() {
boolean goingToSleepWithoutAnimation = isGoingToSleep()
&& !mDozeParameters.shouldControlScreenOff();
- boolean bouncerShowingOverDream = isBouncerShowing()
- && mDreamOverlayStateController.isOverlayActive();
- boolean disabled = bouncerShowingOverDream
- || (!mDeviceInteractive && !mDozeServiceHost.isPulsing())
+ boolean disabled = (!mDeviceInteractive && !mDozeServiceHost.isPulsing())
|| goingToSleepWithoutAnimation;
mNotificationPanelViewController.setTouchAndAnimationDisabled(disabled);
mNotificationIconAreaController.setAnimationsEnabled(!disabled);
@@ -4146,7 +4161,7 @@
}
public boolean isBouncerShowingOverDream() {
- return isBouncerShowing() && mDreamOverlayStateController.isOverlayActive();
+ return mBouncerShowingOverDream;
}
/**
@@ -4405,8 +4420,7 @@
@Override
public void onDozeAmountChanged(float linear, float eased) {
if (mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)
- && !(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)
- && !mBiometricUnlockController.isWakeAndUnlock()) {
+ && !(mLightRevealScrim.getRevealEffect() instanceof CircleReveal)) {
mLightRevealScrim.setRevealAmount(1f - linear);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
index 829cd3a..a19d5f1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
@@ -31,6 +31,8 @@
import android.util.Log;
import android.util.MathUtils;
+import android.util.Log;
+
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -291,6 +293,11 @@
}
public void updateControlScreenOff() {
+ Log.i("TEST", "Display needs blanking?" + getDisplayNeedsBlanking());
+ Log.i("TEST", "Should control screen off?" + shouldControlUnlockedScreenOff());
+ Log.i("TEST", "alwaysOn?" + getAlwaysOn());
+ Log.i("TEST", "keyguard showing?" + mKeyguardShowing);
+ Log.i("TEST", "Flag enabled? " + mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS));
if (!getDisplayNeedsBlanking()) {
final boolean controlScreenOff =
getAlwaysOn() && (mKeyguardShowing || shouldControlUnlockedScreenOff());
@@ -299,6 +306,17 @@
}
/**
+ * Whether we're capable of controlling the screen off animation if we want to. This isn't
+ * possible if AOD isn't even enabled or if the flag is disabled, or if the display needs
+ * blanking.
+ */
+ public boolean canControlUnlockedScreenOff() {
+ return getAlwaysOn()
+ && mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)
+ && !getDisplayNeedsBlanking();
+ }
+
+ /**
* Whether we want to control the screen off animation when the device is unlocked. If we do,
* we'll animate in AOD before turning off the screen, rather than simply fading to black and
* then abruptly showing AOD.
@@ -308,8 +326,7 @@
* disabled for a11y.
*/
public boolean shouldControlUnlockedScreenOff() {
- return canControlUnlockedScreenOff()
- && mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation();
+ return mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation();
}
public boolean shouldDelayKeyguardShow() {
@@ -341,16 +358,6 @@
return getAlwaysOn() && mKeyguardShowing;
}
- /**
- * Whether we're capable of controlling the screen off animation if we want to. This isn't
- * possible if AOD isn't even enabled or if the flag is disabled.
- */
- public boolean canControlUnlockedScreenOff() {
- return getAlwaysOn()
- && mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)
- && !getDisplayNeedsBlanking();
- }
-
private boolean getBoolean(String propName, int resId) {
return SystemProperties.getBoolean(propName, mResources.getBoolean(resId));
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index 8deaa34..a6b5c4d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -338,6 +338,7 @@
private boolean mAnimateNextPositionUpdate;
private float mQuickQsHeaderHeight;
private ScreenOffAnimationController mScreenOffAnimationController;
+ private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
private int mTrackingPointer;
private VelocityTracker mQsVelocityTracker;
@@ -745,7 +746,8 @@
KeyguardUnlockAnimationController keyguardUnlockAnimationController,
NotificationListContainer notificationListContainer,
PanelEventsEmitter panelEventsEmitter,
- NotificationStackSizeCalculator notificationStackSizeCalculator) {
+ NotificationStackSizeCalculator notificationStackSizeCalculator,
+ UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
super(view,
falsingManager,
dozeLog,
@@ -846,6 +848,7 @@
mAuthController = authController;
mLockIconViewController = lockIconViewController;
mScreenOffAnimationController = screenOffAnimationController;
+ mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
mRemoteInputManager = remoteInputManager;
int currentMode = navigationModeController.addListener(
@@ -901,7 +904,7 @@
onTrackingStopped(false);
instantCollapse();
} else {
- fling(0f, false, 0.7f, false);
+ fling(0f, false, 1f, false);
}
}
}
@@ -1251,6 +1254,10 @@
}
}
+ private boolean shouldAvoidChangingNotificationsCount() {
+ return mHintAnimationRunning || mUnlockedScreenOffAnimationController.isAnimationPlaying();
+ }
+
public void setKeyguardIndicationController(KeyguardIndicationController indicationController) {
mKeyguardIndicationController = indicationController;
mKeyguardIndicationController.setIndicationArea(mKeyguardBottomArea);
@@ -4733,7 +4740,7 @@
int oldTop, int oldRight, int oldBottom) {
DejankUtils.startDetectingBlockingIpcs("NVP#onLayout");
super.onLayoutChange(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom);
- updateMaxDisplayedNotifications(true);
+ updateMaxDisplayedNotifications(!shouldAvoidChangingNotificationsCount());
setIsFullWidth(mNotificationStackScrollLayoutController.getWidth() == mView.getWidth());
// Update Clock Pivot
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowControllerImpl.java
index 56c74bf..24660b2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationShadeWindowControllerImpl.java
@@ -288,7 +288,7 @@
final boolean keyguardOrAod = state.mKeyguardShowing
|| (state.mDozing && mDozeParameters.getAlwaysOn());
if ((keyguardOrAod && !state.mBackdropShowing && !state.mLightRevealScrimOpaque)
- || mKeyguardViewMediator.isAnimatingBetweenKeyguardAndSurfaceBehindOrWillBe()) {
+ || mKeyguardViewMediator.isAnimatingBetweenKeyguardAndSurfaceBehind()) {
// Show the wallpaper if we're on keyguard/AOD and the wallpaper is not occluded by a
// solid backdrop. Also, show it if we are currently animating between the
// keyguard and the surface behind the keyguard - we want to use the wallpaper as a
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
index c850755..af1c9e8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
@@ -418,14 +418,14 @@
expand = false;
} else if (onKeyguard) {
expand = true;
- } else if (mCentralSurfaces.isBouncerShowingOverDream()) {
- expand = false;
} else if (mKeyguardStateController.isKeyguardFadingAway()) {
// If we're in the middle of dismissing the keyguard, don't expand due to the
// cancelled gesture. Gesture cancellation during an unlock is expected in some
// situations, such keeping your finger down while swiping to unlock to an app
// that is locked in landscape (the rotation will cancel the touch event).
expand = false;
+ } else if (mCentralSurfaces.isBouncerShowingOverDream()) {
+ expand = false;
} else {
// If we get a cancel, put the shade back to the state it was in when the
// gesture started
@@ -799,7 +799,7 @@
mExpandedFraction = Math.min(1f,
maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
mAmbientState.setExpansionFraction(mStatusBarKeyguardViewManager.bouncerIsInTransit()
- ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(mExpandedFraction)
+ ? BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(mExpandedFraction)
: mExpandedFraction);
onHeightUpdated(mExpandedHeight);
updatePanelExpansionAndVisibility();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 26ffdf2..290df3e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -292,9 +292,7 @@
mIconController.setIconVisibility(mSlotHotspot, mHotspot.isHotspotEnabled());
// managed profile
- mIconController.setIcon(mSlotManagedProfile, R.drawable.stat_sys_managed_profile_status,
- getManagedProfileAccessibilityString());
- mIconController.setIconVisibility(mSlotManagedProfile, mManagedProfileIconVisible);
+ updateManagedProfile();
// data saver
mIconController.setIcon(mSlotDataSaver, R.drawable.stat_sys_data_saver,
@@ -521,7 +519,7 @@
}
private void updateManagedProfile() {
- // getLastResumedActivityUserId needds to acquire the AM lock, which may be contended in
+ // getLastResumedActivityUserId needs to acquire the AM lock, which may be contended in
// some cases. Since it doesn't really matter here whether it's updated in this frame
// or in the next one, we call this method from our UI offload thread.
mUiBgExecutor.execute(() -> {
@@ -529,6 +527,7 @@
try {
userId = ActivityTaskManager.getService().getLastResumedActivityUserId();
boolean isManagedProfile = mUserManager.isManagedProfile(userId);
+ String accessibilityString = getManagedProfileAccessibilityString();
mHandler.post(() -> {
final boolean showIcon;
if (isManagedProfile && (!mKeyguardStateController.isShowing()
@@ -536,7 +535,7 @@
showIcon = true;
mIconController.setIcon(mSlotManagedProfile,
R.drawable.stat_sys_managed_profile_status,
- getManagedProfileAccessibilityString());
+ accessibilityString);
} else {
showIcon = false;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index fd6503a..cc2ff3f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -790,7 +790,7 @@
if (mBouncerHiddenFraction != KeyguardBouncer.EXPANSION_HIDDEN) {
final float interpolatedFraction =
- BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(
+ BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(
mBouncerHiddenFraction);
mBehindAlpha = MathUtils.lerp(mDefaultScrimAlpha, mBehindAlpha,
interpolatedFraction);
@@ -1076,7 +1076,7 @@
private float getInterpolatedFraction() {
if (mStatusBarKeyguardViewManager.bouncerIsInTransit()) {
return BouncerPanelExpansionCalculator
- .getBackScrimScaledExpansion(mPanelExpansionFraction);
+ .aboutToShowBouncerProgress(mPanelExpansionFraction);
}
return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt
index c11d450..935f87d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt
@@ -17,6 +17,7 @@
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.KeyguardViewMediator
import com.android.systemui.keyguard.WakefulnessLifecycle
+import com.android.systemui.statusbar.CircleReveal
import com.android.systemui.statusbar.LightRevealScrim
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.statusbar.StatusBarStateControllerImpl
@@ -59,8 +60,14 @@
private val powerManager: PowerManager,
private val handler: Handler = Handler()
) : WakefulnessLifecycle.Observer, ScreenOffAnimation {
-
private lateinit var mCentralSurfaces: CentralSurfaces
+ /**
+ * Whether or not [initialize] has been called to provide us with the StatusBar,
+ * NotificationPanelViewController, and LightRevealSrim so that we can run the unlocked screen
+ * off animation.
+ */
+ private var initialized = false
+
private lateinit var lightRevealScrim: LightRevealScrim
private var animatorDurationScale = 1f
@@ -79,7 +86,9 @@
duration = LIGHT_REVEAL_ANIMATION_DURATION
interpolator = Interpolators.LINEAR
addUpdateListener {
- lightRevealScrim.revealAmount = it.animatedValue as Float
+ if (lightRevealScrim.revealEffect !is CircleReveal) {
+ lightRevealScrim.revealAmount = it.animatedValue as Float
+ }
if (lightRevealScrim.isScrimAlmostOccludes &&
interactionJankMonitor.isInstrumenting(CUJ_SCREEN_OFF)) {
// ends the instrument when the scrim almost occludes the screen.
@@ -89,9 +98,9 @@
}
addListener(object : AnimatorListenerAdapter() {
override fun onAnimationCancel(animation: Animator?) {
- lightRevealScrim.revealAmount = 1f
- lightRevealAnimationPlaying = false
- interactionJankMonitor.cancel(CUJ_SCREEN_OFF)
+ if (lightRevealScrim.revealEffect !is CircleReveal) {
+ lightRevealScrim.revealAmount = 1f
+ }
}
override fun onAnimationEnd(animation: Animator?) {
@@ -116,6 +125,7 @@
centralSurfaces: CentralSurfaces,
lightRevealScrim: LightRevealScrim
) {
+ this.initialized = true
this.lightRevealScrim = lightRevealScrim
this.mCentralSurfaces = centralSurfaces
@@ -262,6 +272,18 @@
* on the current state of the device.
*/
fun shouldPlayUnlockedScreenOffAnimation(): Boolean {
+ // If we haven't been initialized yet, we don't have a StatusBar/LightRevealScrim yet, so we
+ // can't perform the animation.
+ if (!initialized) {
+ return false
+ }
+
+ // If the device isn't in a state where we can control unlocked screen off (no AOD enabled,
+ // power save, etc.) then we shouldn't try to do so.
+ if (!dozeParameters.get().canControlUnlockedScreenOff()) {
+ return false
+ }
+
// If we explicitly already decided not to play the screen off animation, then never change
// our mind.
if (decidedToAnimateGoingToSleep == false) {
@@ -304,7 +326,7 @@
}
override fun shouldDelayDisplayDozeTransition(): Boolean =
- dozeParameters.get().shouldControlUnlockedScreenOff()
+ shouldPlayUnlockedScreenOffAnimation()
/**
* Whether we're doing the light reveal animation or we're done with that and animating in the
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UserAvatarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UserAvatarView.java
index c404cf6..1b93c16 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UserAvatarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UserAvatarView.java
@@ -137,4 +137,8 @@
mDrawable.setIconDrawable(d);
mDrawable.setBadgeIfManagedUser(getContext(), userId);
}
+
+ public boolean isEmpty() {
+ return mDrawable.isEmpty();
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
index e8bf89a..2a9048a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java
@@ -29,6 +29,7 @@
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardConstants;
import com.android.keyguard.KeyguardVisibilityHelper;
@@ -36,7 +37,6 @@
import com.android.settingslib.drawable.CircleFramedDrawable;
import com.android.systemui.R;
import com.android.systemui.dagger.qualifiers.Main;
-import com.android.systemui.keyguard.ScreenLifecycle;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.user.UserSwitchDialogController;
@@ -68,7 +68,6 @@
private final Context mContext;
private Resources mResources;
private final UserSwitcherController mUserSwitcherController;
- private final ScreenLifecycle mScreenLifecycle;
private UserSwitcherController.BaseUserAdapter mAdapter;
private final KeyguardStateController mKeyguardStateController;
private final FalsingManager mFalsingManager;
@@ -77,8 +76,10 @@
private final KeyguardVisibilityHelper mKeyguardVisibilityHelper;
private final UserSwitchDialogController mUserSwitchDialogController;
private final UiEventLogger mUiEventLogger;
- private UserAvatarView mUserAvatarView;
+ @VisibleForTesting
+ UserAvatarView mUserAvatarView;
UserSwitcherController.UserRecord mCurrentUser;
+ private boolean mIsKeyguardShowing;
// State info for the user switch and keyguard
private int mBarState;
@@ -87,8 +88,6 @@
new StatusBarStateController.StateListener() {
@Override
public void onStateChanged(int newState) {
- if (DEBUG) Log.d(TAG, String.format("onStateChanged: newState=%d", newState));
-
boolean goingToFullShade = mStatusBarStateController.goingToFullShade();
boolean keyguardFadingAway = mKeyguardStateController.isKeyguardFadingAway();
int oldState = mBarState;
@@ -102,12 +101,34 @@
}
};
- private ConfigurationController.ConfigurationListener
- mConfigurationListener = new ConfigurationController.ConfigurationListener() {
+ private ConfigurationController.ConfigurationListener mConfigurationListener =
+ new ConfigurationController.ConfigurationListener() {
@Override
public void onUiModeChanged() {
- updateView(true);
+ // Force update when dark theme toggled. Otherwise, icon will not update
+ // until it is clicked
+ if (mIsKeyguardShowing) {
+ updateView();
+ }
+ }
+ };
+
+ private final KeyguardStateController.Callback mKeyguardStateCallback =
+ new KeyguardStateController.Callback() {
+ @Override
+ public void onUnlockedChanged() {
+ updateKeyguardShowing(false /* forceViewUpdate */);
+ }
+
+ @Override
+ public void onKeyguardShowingChanged() {
+ updateKeyguardShowing(false /* forceViewUpdate */);
+ }
+
+ @Override
+ public void onKeyguardFadingAwayChanged() {
+ updateKeyguardShowing(false /* forceViewUpdate */);
}
};
@@ -116,7 +137,6 @@
FrameLayout view,
Context context,
@Main Resources resources,
- ScreenLifecycle screenLifecycle,
UserSwitcherController userSwitcherController,
KeyguardStateController keyguardStateController,
FalsingManager falsingManager,
@@ -130,7 +150,6 @@
if (DEBUG) Log.d(TAG, "New KeyguardQsUserSwitchController");
mContext = context;
mResources = resources;
- mScreenLifecycle = screenLifecycle;
mUserSwitcherController = userSwitcherController;
mKeyguardStateController = keyguardStateController;
mFalsingManager = falsingManager;
@@ -188,7 +207,10 @@
mDataSetObserver.onChanged();
mStatusBarStateController.addCallback(mStatusBarStateListener);
mConfigurationController.addCallback(mConfigurationListener);
- updateView(true /* forceUpdate */);
+ mKeyguardStateController.addCallback(mKeyguardStateCallback);
+ // Force update when view attached in case configuration changed while the view was detached
+ updateCurrentUser();
+ updateKeyguardShowing(true /* forceViewUpdate */);
}
@Override
@@ -198,15 +220,48 @@
mAdapter.unregisterDataSetObserver(mDataSetObserver);
mStatusBarStateController.removeCallback(mStatusBarStateListener);
mConfigurationController.removeCallback(mConfigurationListener);
+ mKeyguardStateController.removeCallback(mKeyguardStateCallback);
}
public final DataSetObserver mDataSetObserver = new DataSetObserver() {
@Override
public void onChanged() {
- updateView(false /* forceUpdate */);
+ boolean userChanged = updateCurrentUser();
+ if (userChanged || (mIsKeyguardShowing && mUserAvatarView.isEmpty())) {
+ updateView();
+ }
}
};
+ private void clearAvatar() {
+ if (DEBUG) Log.d(TAG, "clearAvatar");
+ mUserAvatarView.setAvatar(null);
+ }
+
+ /**
+ * @param forceViewUpdate whether view should be updated regardless of whether
+ * keyguard-showing state changed
+ */
+ @VisibleForTesting
+ void updateKeyguardShowing(boolean forceViewUpdate) {
+ boolean wasKeyguardShowing = mIsKeyguardShowing;
+ mIsKeyguardShowing = mKeyguardStateController.isShowing()
+ || mKeyguardStateController.isKeyguardGoingAway();
+ if (wasKeyguardShowing == mIsKeyguardShowing && !forceViewUpdate) {
+ return;
+ }
+ if (DEBUG) {
+ Log.d(TAG, "updateKeyguardShowing:"
+ + " mIsKeyguardShowing=" + mIsKeyguardShowing
+ + " forceViewUpdate=" + forceViewUpdate);
+ }
+ if (mIsKeyguardShowing) {
+ updateView();
+ } else {
+ clearAvatar();
+ }
+ }
+
/**
* @return true if the current user has changed
*/
@@ -223,31 +278,22 @@
return mCurrentUser == null && previousUser != null;
}
- /**
- * @param forceUpdate whether to update view even if current user did not change
- */
- private void updateView(boolean forceUpdate) {
- if (!updateCurrentUser() && !forceUpdate) {
- return;
- }
-
- String contentDescription = null;
- if (mCurrentUser != null && mCurrentUser.info != null && !TextUtils.isEmpty(
- mCurrentUser.info.name)) {
+ private String getContentDescription() {
+ if (mCurrentUser != null && mCurrentUser.info != null
+ && !TextUtils.isEmpty(mCurrentUser.info.name)) {
// If we know the current user's name, have TalkBack to announce "Signed in as [user
// name]" when the icon is selected
- contentDescription = mContext.getString(R.string.accessibility_quick_settings_user,
- mCurrentUser.info.name);
+ return mContext.getString(
+ R.string.accessibility_quick_settings_user, mCurrentUser.info.name);
} else {
// As a fallback, have TalkBack announce "Switch user"
- contentDescription = mContext.getString(
- R.string.accessibility_multi_user_switch_switcher);
+ return mContext.getString(R.string.accessibility_multi_user_switch_switcher);
}
+ }
- if (!TextUtils.equals(mUserAvatarView.getContentDescription(), contentDescription)) {
- mUserAvatarView.setContentDescription(contentDescription);
- }
-
+ private void updateView() {
+ if (DEBUG) Log.d(TAG, "updateView");
+ mUserAvatarView.setContentDescription(getContentDescription());
int userId = mCurrentUser != null ? mCurrentUser.resolveId() : UserHandle.USER_NULL;
mUserAvatarView.setDrawableWithBadge(getCurrentUserIcon().mutate(), userId);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
index 006edca..ea423ce 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
@@ -264,8 +264,12 @@
super.onEnd(animation);
if (animation.getTypeMask() == WindowInsets.Type.ime()) {
mEntry.mRemoteEditImeAnimatingAway = false;
- mEntry.mRemoteEditImeVisible =
- mEditText.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
+ WindowInsets editTextRootWindowInsets = mEditText.getRootWindowInsets();
+ if (editTextRootWindowInsets == null) {
+ Log.w(TAG, "onEnd called on detached view", new Exception());
+ }
+ mEntry.mRemoteEditImeVisible = editTextRootWindowInsets != null
+ && editTextRootWindowInsets.isVisible(WindowInsets.Type.ime());
if (!mEntry.mRemoteEditImeVisible && !mEditText.mShowImeOnInputConnection) {
mController.removeRemoteInput(mEntry, mToken);
}
diff --git a/packages/SystemUI/src/com/android/systemui/util/condition/Monitor.java b/packages/SystemUI/src/com/android/systemui/util/condition/Monitor.java
index d3c6e9a..313d56f 100644
--- a/packages/SystemUI/src/com/android/systemui/util/condition/Monitor.java
+++ b/packages/SystemUI/src/com/android/systemui/util/condition/Monitor.java
@@ -18,6 +18,7 @@
import android.util.Log;
+import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.statusbar.policy.CallbackController;
import org.jetbrains.annotations.NotNull;
@@ -60,21 +61,13 @@
};
@Inject
- public Monitor(Executor executor, Set<Condition> conditions, Set<Callback> callbacks) {
+ public Monitor(@Main Executor executor, Set<Condition> conditions) {
mConditions = new HashSet<>();
mExecutor = executor;
if (conditions != null) {
mConditions.addAll(conditions);
}
-
- if (callbacks == null) {
- return;
- }
-
- for (Callback callback : callbacks) {
- addCallbackLocked(callback);
- }
}
private void updateConditionMetState() {
diff --git a/packages/SystemUI/src/com/android/systemui/util/condition/dagger/MonitorComponent.java b/packages/SystemUI/src/com/android/systemui/util/condition/dagger/MonitorComponent.java
index fc67973..8e739d6 100644
--- a/packages/SystemUI/src/com/android/systemui/util/condition/dagger/MonitorComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/util/condition/dagger/MonitorComponent.java
@@ -34,8 +34,7 @@
*/
@Subcomponent.Factory
interface Factory {
- MonitorComponent create(@BindsInstance Set<Condition> conditions,
- @BindsInstance Set<Monitor.Callback> callbacks);
+ MonitorComponent create(@BindsInstance Set<Condition> conditions);
}
/**
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/BouncerPanelExpansionCalculatorTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/BouncerPanelExpansionCalculatorTest.kt
index 6266bf1..f8fdd8d 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/BouncerPanelExpansionCalculatorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/keyguard/BouncerPanelExpansionCalculatorTest.kt
@@ -29,29 +29,29 @@
class BouncerPanelExpansionCalculatorTest : SysuiTestCase() {
@Test
fun testGetHostViewScaledExpansion() {
- assertThat(BouncerPanelExpansionCalculator.getHostViewScaledExpansion(1f))
+ assertThat(BouncerPanelExpansionCalculator.showBouncerProgress(1f))
.isEqualTo(1f)
- assertThat(BouncerPanelExpansionCalculator.getHostViewScaledExpansion(0.9f))
+ assertThat(BouncerPanelExpansionCalculator.showBouncerProgress(0.9f))
.isEqualTo(1f)
- assertThat(BouncerPanelExpansionCalculator.getHostViewScaledExpansion(0.59f))
+ assertThat(BouncerPanelExpansionCalculator.showBouncerProgress(0.59f))
.isEqualTo(0f)
- assertThat(BouncerPanelExpansionCalculator.getHostViewScaledExpansion(0f))
+ assertThat(BouncerPanelExpansionCalculator.showBouncerProgress(0f))
.isEqualTo(0f)
assertEquals(BouncerPanelExpansionCalculator
- .getHostViewScaledExpansion(0.8f), 2f / 3f, 0.01f)
+ .showBouncerProgress(0.8f), 2f / 3f, 0.01f)
}
@Test
fun testGetBackScrimScaledExpansion() {
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(1f))
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(1f))
.isEqualTo(1f)
assertEquals(BouncerPanelExpansionCalculator
- .getBackScrimScaledExpansion(0.95f), 1f / 2f, 0.01f)
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(0.9f))
+ .aboutToShowBouncerProgress(0.95f), 1f / 2f, 0.01f)
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(0.9f))
.isEqualTo(0f)
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(0.5f))
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(0.5f))
.isEqualTo(0f)
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(0f))
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(0f))
.isEqualTo(0f)
}
@@ -63,9 +63,9 @@
.getKeyguardClockScaledExpansion(0.8f), 1f / 3f, 0.01f)
assertThat(BouncerPanelExpansionCalculator.getKeyguardClockScaledExpansion(0.7f))
.isEqualTo(0f)
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(0.5f))
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(0.5f))
.isEqualTo(0f)
- assertThat(BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(0f))
+ assertThat(BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(0f))
.isEqualTo(0f)
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java
index ee150ca..18ba7dc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationControllerTest.java
@@ -293,6 +293,22 @@
}
@Test
+ public void deleteWindowMagnification_notifySourceBoundsChanged() {
+ mInstrumentation.runOnMainSync(
+ () -> mWindowMagnificationController.enableWindowMagnificationInternal(Float.NaN,
+ Float.NaN,
+ Float.NaN));
+
+ mInstrumentation.runOnMainSync(
+ () -> mWindowMagnificationController.deleteWindowMagnification());
+
+ // The first time is for notifying magnification enabled and the second time is for
+ // notifying magnification disabled.
+ verify(mWindowMagnifierCallback, times(2)).onSourceBoundsChanged(
+ (eq(mContext.getDisplayId())), any());
+ }
+
+ @Test
public void moveMagnifier_schedulesFrame() {
mInstrumentation.runOnMainSync(() -> {
mWindowMagnificationController.enableWindowMagnificationInternal(Float.NaN, Float.NaN,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
index 666c9e4..2341928 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthContainerViewTest.kt
@@ -40,6 +40,9 @@
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.keyguard.WakefulnessLifecycle
+import com.android.systemui.util.concurrency.DelayableExecutor
+import com.android.systemui.util.concurrency.FakeExecutor
+import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
import org.junit.After
import org.junit.Rule
@@ -314,7 +317,8 @@
wakefulnessLifecycle,
userManager,
lockPatternUtils,
- Handler(TestableLooper.get(this).looper)
+ Handler(TestableLooper.get(this).looper),
+ FakeExecutor(FakeSystemClock())
)
if (addToView) {
@@ -331,10 +335,11 @@
wakefulnessLifecycle: WakefulnessLifecycle,
userManager: UserManager,
lockPatternUtils: LockPatternUtils,
- mainHandler: Handler
+ mainHandler: Handler,
+ bgExecutor: DelayableExecutor
) : AuthContainerView(
config, fpProps, faceProps,
- wakefulnessLifecycle, userManager, lockPatternUtils, mainHandler
+ wakefulnessLifecycle, userManager, lockPatternUtils, mainHandler, bgExecutor
) {
override fun postOnAnimation(runnable: Runnable) {
runnable.run()
diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthControllerTest.java
index 190228d..4858ab5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthControllerTest.java
@@ -80,8 +80,11 @@
import com.android.systemui.keyguard.WakefulnessLifecycle;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.util.concurrency.DelayableExecutor;
import com.android.systemui.util.concurrency.Execution;
import com.android.systemui.util.concurrency.FakeExecution;
+import com.android.systemui.util.concurrency.FakeExecutor;
+import com.android.systemui.util.time.FakeSystemClock;
import org.junit.Before;
import org.junit.Rule;
@@ -156,6 +159,7 @@
private Execution mExecution;
private TestableLooper mTestableLooper;
private Handler mHandler;
+ private DelayableExecutor mBackgroundExecutor;
private TestableAuthController mAuthController;
@Before
@@ -164,6 +168,7 @@
mExecution = new FakeExecution();
mTestableLooper = TestableLooper.get(this);
mHandler = new Handler(mTestableLooper.getLooper());
+ mBackgroundExecutor = new FakeExecutor(new FakeSystemClock());
when(mContextSpy.getPackageManager()).thenReturn(mPackageManager);
when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE))
@@ -759,11 +764,12 @@
super(context, execution, commandQueue, activityTaskManager, windowManager,
fingerprintManager, faceManager, udfpsControllerFactory,
sidefpsControllerFactory, mDisplayManager, mWakefulnessLifecycle,
- mUserManager, mLockPatternUtils, statusBarStateController, mHandler);
+ mUserManager, mLockPatternUtils, statusBarStateController, mHandler,
+ mBackgroundExecutor);
}
@Override
- protected AuthDialog buildDialog(PromptInfo promptInfo,
+ protected AuthDialog buildDialog(DelayableExecutor bgExecutor, PromptInfo promptInfo,
boolean requireConfirmation, int userId, int[] sensorIds,
String opPackageName, boolean skipIntro, long operationId, long requestId,
@BiometricManager.BiometricMultiSensorMode int multiSensorConfig,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/broadcast/ActionReceiverTest.kt b/packages/SystemUI/tests/src/com/android/systemui/broadcast/ActionReceiverTest.kt
index e95eb4e..f5990be 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/broadcast/ActionReceiverTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/broadcast/ActionReceiverTest.kt
@@ -42,6 +42,7 @@
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito
+import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
@@ -81,6 +82,8 @@
@Mock
private lateinit var unregisterFunction: BroadcastReceiver.() -> Unit
@Mock
+ private lateinit var isPendingRemovalFunction: (BroadcastReceiver, Int) -> Boolean
+ @Mock
private lateinit var receiver1: BroadcastReceiver
@Mock
private lateinit var receiver2: BroadcastReceiver
@@ -98,13 +101,16 @@
MockitoAnnotations.initMocks(this)
executor = FakeExecutor(FakeSystemClock())
+ `when`(isPendingRemovalFunction(any(), anyInt())).thenReturn(false)
+
actionReceiver = ActionReceiver(
ACTION1,
USER.identifier,
registerFunction,
unregisterFunction,
executor,
- logger
+ logger,
+ isPendingRemovalFunction
)
}
@@ -249,6 +255,20 @@
verify(logger).logBroadcastDispatched(anyInt(), eq(ACTION1), sameNotNull(receiver1))
}
+ @Test
+ fun testBroadcastNotDispatchingOnPendingRemoval() {
+ `when`(isPendingRemovalFunction(receiver1, USER.identifier)).thenReturn(true)
+
+ val receiverData = ReceiverData(receiver1, IntentFilter(ACTION1), directExecutor, USER)
+
+ actionReceiver.addReceiverData(receiverData)
+
+ val intent = Intent(ACTION1)
+ actionReceiver.onReceive(mContext, intent)
+ executor.runAllReady()
+ verify(receiver1, never()).onReceive(any(), eq(intent))
+ }
+
@Test(expected = IllegalStateException::class)
fun testBroadcastWithWrongAction_throwsException() {
actionReceiver.onReceive(mContext, Intent(ACTION2))
diff --git a/packages/SystemUI/tests/src/com/android/systemui/broadcast/BroadcastDispatcherTest.kt b/packages/SystemUI/tests/src/com/android/systemui/broadcast/BroadcastDispatcherTest.kt
index a1d1933..7795d2c 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/broadcast/BroadcastDispatcherTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/broadcast/BroadcastDispatcherTest.kt
@@ -41,6 +41,8 @@
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.`when`
+import org.mockito.Mockito.anyInt
+import org.mockito.Mockito.inOrder
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
@@ -85,6 +87,8 @@
private lateinit var logger: BroadcastDispatcherLogger
@Mock
private lateinit var userTracker: UserTracker
+ @Mock
+ private lateinit var removalPendingStore: PendingRemovalStore
private lateinit var executor: Executor
@@ -108,6 +112,7 @@
mock(DumpManager::class.java),
logger,
userTracker,
+ removalPendingStore,
mapOf(0 to mockUBRUser0, 1 to mockUBRUser1))
// These should be valid filters
@@ -325,6 +330,57 @@
broadcastDispatcher.registerReceiver(broadcastReceiver, testFilter)
}
+ @Test
+ fun testTaggedReceiverForRemovalImmediately_allUsers() {
+ broadcastDispatcher.unregisterReceiver(broadcastReceiver)
+
+ verify(removalPendingStore).tagForRemoval(broadcastReceiver, UserHandle.USER_ALL)
+ verify(removalPendingStore, never()).clearPendingRemoval(eq(broadcastReceiver), anyInt())
+ }
+
+ @Test
+ fun testTaggedReceiverForRemovalImmediately_singleUser() {
+ val user = 0
+ broadcastDispatcher.unregisterReceiverForUser(broadcastReceiver, UserHandle.of(user))
+
+ verify(removalPendingStore).tagForRemoval(broadcastReceiver, user)
+ verify(removalPendingStore, never()).clearPendingRemoval(eq(broadcastReceiver), anyInt())
+ }
+
+ @Test
+ fun testUnregisterReceiverClearsPendingRemovalAfterRemoving_allUsers() {
+ broadcastDispatcher.registerReceiver(broadcastReceiver, intentFilter, null, user0)
+ broadcastDispatcher.registerReceiver(broadcastReceiver, intentFilter, null, user1)
+
+ broadcastDispatcher.unregisterReceiver(broadcastReceiver)
+
+ testableLooper.processAllMessages()
+
+ val inOrderUser0 = inOrder(mockUBRUser0, removalPendingStore)
+ inOrderUser0.verify(mockUBRUser0).unregisterReceiver(broadcastReceiver)
+ inOrderUser0.verify(removalPendingStore)
+ .clearPendingRemoval(broadcastReceiver, UserHandle.USER_ALL)
+
+ val inOrderUser1 = inOrder(mockUBRUser1, removalPendingStore)
+ inOrderUser1.verify(mockUBRUser1).unregisterReceiver(broadcastReceiver)
+ inOrderUser1.verify(removalPendingStore)
+ .clearPendingRemoval(broadcastReceiver, UserHandle.USER_ALL)
+ }
+
+ @Test
+ fun testUnregisterReceiverclearPendingRemovalAfterRemoving_singleUser() {
+ broadcastDispatcher.registerReceiver(broadcastReceiver, intentFilter, null, user1)
+
+ broadcastDispatcher.unregisterReceiverForUser(broadcastReceiver, user1)
+
+ testableLooper.processAllMessages()
+
+ val inOrderUser1 = inOrder(mockUBRUser1, removalPendingStore)
+ inOrderUser1.verify(mockUBRUser1).unregisterReceiver(broadcastReceiver)
+ inOrderUser1.verify(removalPendingStore)
+ .clearPendingRemoval(broadcastReceiver, user1.identifier)
+ }
+
private fun setUserMock(mockContext: Context, user: UserHandle) {
`when`(mockContext.user).thenReturn(user)
`when`(mockContext.userId).thenReturn(user.identifier)
@@ -337,8 +393,17 @@
dumpManager: DumpManager,
logger: BroadcastDispatcherLogger,
userTracker: UserTracker,
+ removalPendingStore: PendingRemovalStore,
var mockUBRMap: Map<Int, UserBroadcastDispatcher>
- ) : BroadcastDispatcher(context, bgLooper, executor, dumpManager, logger, userTracker) {
+ ) : BroadcastDispatcher(
+ context,
+ bgLooper,
+ executor,
+ dumpManager,
+ logger,
+ userTracker,
+ removalPendingStore
+ ) {
override fun createUBRForUser(userId: Int): UserBroadcastDispatcher {
return mockUBRMap.getOrDefault(userId, mock(UserBroadcastDispatcher::class.java))
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/broadcast/PendingRemovalStoreTest.kt b/packages/SystemUI/tests/src/com/android/systemui/broadcast/PendingRemovalStoreTest.kt
new file mode 100644
index 0000000..43d2cb8
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/broadcast/PendingRemovalStoreTest.kt
@@ -0,0 +1,81 @@
+package com.android.systemui.broadcast
+
+import android.content.BroadcastReceiver
+import android.os.UserHandle
+import android.testing.AndroidTestingRunner
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.android.systemui.broadcast.logging.BroadcastDispatcherLogger
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito.verify
+import org.mockito.MockitoAnnotations
+
+@RunWith(AndroidTestingRunner::class)
+@SmallTest
+class PendingRemovalStoreTest : SysuiTestCase() {
+
+ @Mock
+ private lateinit var logger: BroadcastDispatcherLogger
+ @Mock
+ private lateinit var receiverOne: BroadcastReceiver
+ @Mock
+ private lateinit var receiverTwo: BroadcastReceiver
+
+ private lateinit var store: PendingRemovalStore
+
+ @Before
+ fun setUp() {
+ MockitoAnnotations.initMocks(this)
+
+ store = PendingRemovalStore(logger)
+ }
+
+ @Test
+ fun testTagForRemoval_logged() {
+ val user = 10
+ store.tagForRemoval(receiverOne, 10)
+
+ verify(logger).logTagForRemoval(user, receiverOne)
+ }
+
+ @Test
+ fun testClearedPendingRemoval_logged() {
+ val user = UserHandle.USER_ALL
+ store.clearPendingRemoval(receiverOne, user)
+
+ verify(logger).logClearedAfterRemoval(user, receiverOne)
+ }
+
+ @Test
+ fun testTaggedReceiverMarkedAsPending_specificUser() {
+ val user = 10
+ store.tagForRemoval(receiverOne, user)
+
+ assertThat(store.isPendingRemoval(receiverOne, user)).isTrue()
+ assertThat(store.isPendingRemoval(receiverOne, user + 1)).isFalse()
+ assertThat(store.isPendingRemoval(receiverOne, UserHandle.USER_ALL)).isFalse()
+ }
+
+ @Test
+ fun testTaggedReceiverMarkedAsPending_allUsers() {
+ val user = 10
+ store.tagForRemoval(receiverOne, UserHandle.USER_ALL)
+
+ assertThat(store.isPendingRemoval(receiverOne, user)).isTrue()
+ assertThat(store.isPendingRemoval(receiverOne, user + 1)).isTrue()
+ assertThat(store.isPendingRemoval(receiverOne, UserHandle.USER_ALL)).isTrue()
+ }
+
+ @Test
+ fun testOnlyBlockCorrectReceiver() {
+ val user = 10
+ store.tagForRemoval(receiverOne, user)
+
+ assertThat(store.isPendingRemoval(receiverOne, user)).isTrue()
+ assertThat(store.isPendingRemoval(receiverTwo, user)).isFalse()
+ }
+}
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/broadcast/UserBroadcastDispatcherTest.kt b/packages/SystemUI/tests/src/com/android/systemui/broadcast/UserBroadcastDispatcherTest.kt
index 116b81d..39e4467 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/broadcast/UserBroadcastDispatcherTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/broadcast/UserBroadcastDispatcherTest.kt
@@ -68,6 +68,8 @@
private lateinit var mockContext: Context
@Mock
private lateinit var logger: BroadcastDispatcherLogger
+ @Mock
+ private lateinit var removalPendingStore: PendingRemovalStore
private lateinit var testableLooper: TestableLooper
private lateinit var userBroadcastDispatcher: UserBroadcastDispatcher
@@ -84,7 +86,13 @@
fakeExecutor = FakeExecutor(FakeSystemClock())
userBroadcastDispatcher = object : UserBroadcastDispatcher(
- mockContext, USER_ID, testableLooper.looper, mock(Executor::class.java), logger) {
+ mockContext,
+ USER_ID,
+ testableLooper.looper,
+ mock(Executor::class.java),
+ logger,
+ removalPendingStore
+ ) {
override fun createActionReceiver(
action: String,
permission: String?,
@@ -216,7 +224,8 @@
USER_ID,
testableLooper.looper,
fakeExecutor,
- logger
+ logger,
+ removalPendingStore
)
uBR.registerReceiver(
ReceiverData(
@@ -243,7 +252,8 @@
USER_ID,
testableLooper.looper,
fakeExecutor,
- logger
+ logger,
+ removalPendingStore
)
uBR.registerReceiver(
ReceiverData(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayContainerViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayContainerViewControllerTest.java
index 6453c20..d70467d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayContainerViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/DreamOverlayContainerViewControllerTest.java
@@ -177,7 +177,7 @@
final float bouncerHideAmount = 0.05f;
final float scaledFraction =
- BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(bouncerHideAmount);
+ BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(bouncerHideAmount);
bouncerExpansionCaptor.getValue().onExpansionChanged(bouncerHideAmount);
verify(mBlurUtils).blurRadiusOfRatio(1 - scaledFraction);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
index 33fb5a2..535023f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
@@ -160,28 +160,6 @@
2)).isTrue();
}
- /**
- * Ensures {@link CentralSurfaces}
- */
- @Test
- public void testInformBouncerShowingOnExpand() {
- swipeToPosition(1f, Direction.UP, 0);
- verify(mCentralSurfaces).setBouncerShowing(true);
- }
-
- /**
- * Ensures {@link CentralSurfaces}
- */
- @Test
- public void testInformBouncerHidingOnCollapse() {
- // Must swipe up to set initial state.
- swipeToPosition(1f, Direction.UP, 0);
- Mockito.clearInvocations(mCentralSurfaces);
-
- swipeToPosition(0f, Direction.DOWN, 0);
- verify(mCentralSurfaces).setBouncerShowing(false);
- }
-
private enum Direction {
DOWN,
UP,
@@ -442,6 +420,29 @@
verify(mUiEventLogger).log(BouncerSwipeTouchHandler.DreamEvent.DREAM_BOUNCER_FULLY_VISIBLE);
}
+ /**
+ * Ensures {@link CentralSurfaces}
+ */
+ @Test
+ public void testInformBouncerShowingOnExpand() {
+ swipeToPosition(1f, Direction.UP, 0);
+ verify(mCentralSurfaces).setBouncerShowingOverDream(true);
+ }
+
+ /**
+ * Ensures {@link CentralSurfaces}
+ */
+ @Test
+ public void testInformBouncerHidingOnCollapse() {
+ // Must swipe up to set initial state.
+ swipeToPosition(1f, Direction.UP, 0);
+ Mockito.clearInvocations(mCentralSurfaces);
+
+ swipeToPosition(0f, Direction.DOWN, 0);
+ verify(mCentralSurfaces).setBouncerShowingOverDream(false);
+ }
+
+
private void swipeToPosition(float percent, Direction direction, float velocityY) {
Mockito.clearInvocations(mTouchSession);
mTouchHandler.onSessionStart(mTouchSession);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt
index 67fe044..1522ee8 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaCarouselControllerTest.kt
@@ -19,6 +19,7 @@
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import androidx.test.filters.SmallTest
+import com.android.internal.logging.InstanceId
import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingCollector
import com.android.systemui.dagger.qualifiers.Main
@@ -28,6 +29,7 @@
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.DelayableExecutor
+import com.android.systemui.util.mockito.eq
import com.android.systemui.util.time.FakeSystemClock
import junit.framework.Assert.assertEquals
import junit.framework.Assert.assertTrue
@@ -225,4 +227,19 @@
animate = false)
verify(logger).logCarouselPosition(MediaHierarchyManager.LOCATION_DREAM_OVERLAY)
}
+
+ @Test
+ fun testRecommendationRemoved_logged() {
+ val packageName = "smartspace package"
+ val instanceId = InstanceId.fakeInstanceId(123)
+
+ val smartspaceData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
+ packageName = packageName,
+ instanceId = instanceId
+ )
+ MediaPlayerData.addMediaRecommendation(SMARTSPACE_KEY, smartspaceData, panel, true, clock)
+ mediaCarouselController.removePlayer(SMARTSPACE_KEY)
+
+ verify(logger).logRecommendationRemoved(eq(packageName), eq(instanceId!!))
+ }
}
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
index 14db4bf..a58a28e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt
@@ -17,16 +17,22 @@
package com.android.systemui.media
import android.app.PendingIntent
+import android.app.smartspace.SmartspaceAction
+import android.content.Context
import org.mockito.Mockito.`when` as whenever
import android.content.Intent
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
import android.graphics.Color
import android.graphics.drawable.Animatable2
import android.graphics.drawable.AnimatedVectorDrawable
import android.graphics.drawable.GradientDrawable
+import android.graphics.drawable.Icon
import android.graphics.drawable.RippleDrawable
import android.media.MediaMetadata
import android.media.session.MediaSession
import android.media.session.PlaybackState
+import android.os.Bundle
import android.os.Handler
import android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS
import android.testing.AndroidTestingRunner
@@ -67,6 +73,7 @@
import org.mockito.ArgumentMatchers.anyLong
import org.mockito.Mock
import org.mockito.Mockito.any
+import org.mockito.Mockito.anyString
import org.mockito.Mockito.mock
import org.mockito.Mockito.never
import org.mockito.Mockito.reset
@@ -107,6 +114,7 @@
@Mock private lateinit var collapsedSet: ConstraintSet
@Mock private lateinit var mediaOutputDialogFactory: MediaOutputDialogFactory
@Mock private lateinit var mediaCarouselController: MediaCarouselController
+ @Mock private lateinit var mediaCarouselScrollHandler: MediaCarouselScrollHandler
@Mock private lateinit var falsingManager: FalsingManager
@Mock private lateinit var transitionParent: ViewGroup
private lateinit var appIcon: ImageView
@@ -145,6 +153,14 @@
private val clock = FakeSystemClock()
@Mock private lateinit var logger: MediaUiEventLogger
@Mock private lateinit var instanceId: InstanceId
+ @Mock private lateinit var packageManager: PackageManager
+ @Mock private lateinit var applicationInfo: ApplicationInfo
+
+ @Mock private lateinit var recommendationViewHolder: RecommendationViewHolder
+ @Mock private lateinit var smartspaceAction: SmartspaceAction
+ private lateinit var smartspaceData: SmartspaceMediaData
+ @Mock private lateinit var coverContainer: ViewGroup
+ private lateinit var coverItem: ImageView
@JvmField @Rule val mockito = MockitoJUnit.rule()
@@ -155,6 +171,16 @@
whenever(mediaViewController.expandedLayout).thenReturn(expandedSet)
whenever(mediaViewController.collapsedLayout).thenReturn(collapsedSet)
+ // Set up package manager mocks
+ val icon = context.getDrawable(R.drawable.ic_android)
+ whenever(packageManager.getApplicationIcon(anyString())).thenReturn(icon)
+ whenever(packageManager.getApplicationIcon(any(ApplicationInfo::class.java)))
+ .thenReturn(icon)
+ whenever(packageManager.getApplicationInfo(eq(PACKAGE), anyInt()))
+ .thenReturn(applicationInfo)
+ whenever(packageManager.getApplicationLabel(any())).thenReturn(PACKAGE)
+ context.setMockPackageManager(packageManager)
+
player = MediaControlPanel(
context,
bgExecutor,
@@ -170,7 +196,60 @@
clock,
logger
)
+
+ initMediaViewHolderMocks()
+
+ // Create media session
+ val metadataBuilder = MediaMetadata.Builder().apply {
+ putString(MediaMetadata.METADATA_KEY_ARTIST, SESSION_ARTIST)
+ putString(MediaMetadata.METADATA_KEY_TITLE, SESSION_TITLE)
+ }
+ val playbackBuilder = PlaybackState.Builder().apply {
+ setState(PlaybackState.STATE_PAUSED, 6000L, 1f)
+ setActions(PlaybackState.ACTION_PLAY)
+ }
+ session = MediaSession(context, SESSION_KEY).apply {
+ setMetadata(metadataBuilder.build())
+ setPlaybackState(playbackBuilder.build())
+ }
+ session.setActive(true)
+
+ mediaData = MediaTestUtils.emptyMediaData.copy(
+ backgroundColor = BG_COLOR,
+ artist = ARTIST,
+ song = TITLE,
+ packageName = PACKAGE,
+ token = session.sessionToken,
+ device = device,
+ instanceId = instanceId)
+
+ // Set up recommendation view
+ initRecommendationViewHolderMocks()
+
+ // Set valid recommendation data
+ val extras = Bundle()
+ val intent = Intent().apply {
+ putExtras(extras)
+ setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+ }
+ whenever(smartspaceAction.intent).thenReturn(intent)
+ whenever(smartspaceAction.extras).thenReturn(extras)
+ smartspaceData = EMPTY_SMARTSPACE_MEDIA_DATA.copy(
+ packageName = PACKAGE,
+ instanceId = instanceId,
+ recommendations = listOf(smartspaceAction),
+ cardAction = smartspaceAction
+ )
+ }
+
+ /**
+ * Initialize elements in media view holder
+ */
+ private fun initMediaViewHolderMocks() {
whenever(seekBarViewModel.progress).thenReturn(seekBarData)
+ whenever(mediaCarouselController.mediaCarouselScrollHandler)
+ .thenReturn(mediaCarouselScrollHandler)
+ whenever(mediaCarouselScrollHandler.qsExpanded).thenReturn(false)
// Set up mock views for the players
appIcon = ImageView(context)
@@ -218,37 +297,6 @@
action4.id)
}
- initMediaViewHolderMocks()
-
- // Create media session
- val metadataBuilder = MediaMetadata.Builder().apply {
- putString(MediaMetadata.METADATA_KEY_ARTIST, SESSION_ARTIST)
- putString(MediaMetadata.METADATA_KEY_TITLE, SESSION_TITLE)
- }
- val playbackBuilder = PlaybackState.Builder().apply {
- setState(PlaybackState.STATE_PAUSED, 6000L, 1f)
- setActions(PlaybackState.ACTION_PLAY)
- }
- session = MediaSession(context, SESSION_KEY).apply {
- setMetadata(metadataBuilder.build())
- setPlaybackState(playbackBuilder.build())
- }
- session.setActive(true)
-
- mediaData = MediaTestUtils.emptyMediaData.copy(
- backgroundColor = BG_COLOR,
- artist = ARTIST,
- song = TITLE,
- packageName = PACKAGE,
- token = session.sessionToken,
- device = device,
- instanceId = instanceId)
- }
-
- /**
- * Initialize elements in media view holder
- */
- private fun initMediaViewHolderMocks() {
whenever(viewHolder.player).thenReturn(view)
whenever(viewHolder.appIcon).thenReturn(appIcon)
whenever(viewHolder.albumView).thenReturn(albumView)
@@ -297,6 +345,38 @@
whenever(viewHolder.actionsTopBarrier).thenReturn(actionsTopBarrier)
}
+ /**
+ * Initialize elements for the recommendation view holder
+ */
+ private fun initRecommendationViewHolderMocks() {
+ whenever(recommendationViewHolder.recommendations).thenReturn(view)
+ whenever(recommendationViewHolder.cardIcon).thenReturn(appIcon)
+ whenever(recommendationViewHolder.cardText).thenReturn(titleText)
+
+ // Add a recommendation item
+ coverItem = ImageView(context).also { it.setId(R.id.media_cover1) }
+ whenever(coverContainer.id).thenReturn(R.id.media_cover1_container)
+ whenever(recommendationViewHolder.mediaCoverItems).thenReturn(listOf(coverItem))
+ whenever(recommendationViewHolder.mediaCoverContainers).thenReturn(listOf(coverContainer))
+ whenever(recommendationViewHolder.mediaCoverItemsResIds)
+ .thenReturn(listOf(R.id.media_cover1))
+ whenever(recommendationViewHolder.mediaCoverContainersResIds)
+ .thenReturn(listOf(R.id.media_cover1_container))
+
+ // Long press menu
+ whenever(recommendationViewHolder.settings).thenReturn(settings)
+ whenever(recommendationViewHolder.cancel).thenReturn(cancel)
+ whenever(recommendationViewHolder.dismiss).thenReturn(dismiss)
+
+ val actionIcon = Icon.createWithResource(context, R.drawable.ic_android)
+ whenever(smartspaceAction.icon).thenReturn(actionIcon)
+
+ // Needed for card and item action click
+ val mockContext = mock(Context::class.java)
+ whenever(view.context).thenReturn(mockContext)
+ whenever(coverContainer.context).thenReturn(mockContext)
+ }
+
@After
fun tearDown() {
session.release()
@@ -923,6 +1003,67 @@
verify(logger).logSeek(anyInt(), eq(PACKAGE), eq(instanceId))
}
+ @Test
+ fun recommendation_gutsClosed_longPressOpens() {
+ player.attachRecommendation(recommendationViewHolder)
+ player.bindRecommendation(smartspaceData)
+ whenever(mediaViewController.isGutsVisible).thenReturn(false)
+
+ val captor = ArgumentCaptor.forClass(View.OnLongClickListener::class.java)
+ verify(recommendationViewHolder.recommendations).setOnLongClickListener(captor.capture())
+
+ captor.value.onLongClick(recommendationViewHolder.recommendations)
+ verify(mediaViewController).openGuts()
+ verify(logger).logLongPressOpen(anyInt(), eq(PACKAGE), eq(instanceId))
+ }
+
+ @Test
+ fun recommendation_settingsButtonClick_isLogged() {
+ player.attachRecommendation(recommendationViewHolder)
+ player.bindRecommendation(smartspaceData)
+
+ settings.callOnClick()
+ verify(logger).logLongPressSettings(anyInt(), eq(PACKAGE), eq(instanceId))
+
+ val captor = ArgumentCaptor.forClass(Intent::class.java)
+ verify(activityStarter).startActivity(captor.capture(), eq(true))
+
+ assertThat(captor.value.action).isEqualTo(ACTION_MEDIA_CONTROLS_SETTINGS)
+ }
+
+ @Test
+ fun recommendation_dismissButton_isLogged() {
+ player.attachRecommendation(recommendationViewHolder)
+ player.bindRecommendation(smartspaceData)
+
+ dismiss.callOnClick()
+ verify(logger).logLongPressDismiss(anyInt(), eq(PACKAGE), eq(instanceId))
+ }
+
+ @Test
+ fun recommendation_tapOnCard_isLogged() {
+ val captor = ArgumentCaptor.forClass(View.OnClickListener::class.java)
+ player.attachRecommendation(recommendationViewHolder)
+ player.bindRecommendation(smartspaceData)
+
+ verify(recommendationViewHolder.recommendations).setOnClickListener(captor.capture())
+ captor.value.onClick(recommendationViewHolder.recommendations)
+
+ verify(logger).logRecommendationCardTap(eq(PACKAGE), eq(instanceId))
+ }
+
+ @Test
+ fun recommendation_tapOnItem_isLogged() {
+ val captor = ArgumentCaptor.forClass(View.OnClickListener::class.java)
+ player.attachRecommendation(recommendationViewHolder)
+ player.bindRecommendation(smartspaceData)
+
+ verify(coverContainer).setOnClickListener(captor.capture())
+ captor.value.onClick(recommendationViewHolder.recommendations)
+
+ verify(logger).logRecommendationItemTap(eq(PACKAGE), eq(instanceId), eq(0))
+ }
+
private fun getScrubbingChangeListener(): SeekBarViewModel.ScrubbingChangeListener =
withArgCaptor { verify(seekBarViewModel).setScrubbingChangeListener(capture()) }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt
index 3b996d4..1f9490a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt
@@ -20,6 +20,7 @@
import androidx.test.filters.SmallTest
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
+import com.android.internal.logging.InstanceId
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.broadcast.BroadcastSender
@@ -46,7 +47,11 @@
private const val USER_MAIN = 0
private const val USER_GUEST = 10
private const val PACKAGE = "PKG"
+private val INSTANCE_ID = InstanceId.fakeInstanceId(123)!!
+private const val APP_UID = 99
private const val SMARTSPACE_KEY = "SMARTSPACE_KEY"
+private const val SMARTSPACE_PACKAGE = "SMARTSPACE_PKG"
+private val SMARTSPACE_INSTANCE_ID = InstanceId.fakeInstanceId(456)!!
@SmallTest
@RunWith(AndroidTestingRunner::class)
@@ -69,6 +74,8 @@
private lateinit var smartspaceData: SmartspaceMediaData
@Mock
private lateinit var smartspaceMediaRecommendationItem: SmartspaceAction
+ @Mock
+ private lateinit var logger: MediaUiEventLogger
private lateinit var mediaDataFilter: MediaDataFilter
private lateinit var dataMain: MediaData
@@ -79,8 +86,14 @@
fun setup() {
MockitoAnnotations.initMocks(this)
MediaPlayerData.clear()
- mediaDataFilter = MediaDataFilter(context, broadcastDispatcher, broadcastSender,
- lockscreenUserManager, executor, clock)
+ mediaDataFilter = MediaDataFilter(
+ context,
+ broadcastDispatcher,
+ broadcastSender,
+ lockscreenUserManager,
+ executor,
+ clock,
+ logger)
mediaDataFilter.mediaDataManager = mediaDataManager
mediaDataFilter.addListener(listener)
@@ -90,16 +103,19 @@
// Set up test media data
dataMain = MediaTestUtils.emptyMediaData.copy(
userId = USER_MAIN,
- packageName = PACKAGE)
+ packageName = PACKAGE,
+ instanceId = INSTANCE_ID,
+ appUid = APP_UID)
dataGuest = dataMain.copy(userId = USER_GUEST)
`when`(smartspaceData.targetId).thenReturn(SMARTSPACE_KEY)
`when`(smartspaceData.isActive).thenReturn(true)
`when`(smartspaceData.isValid).thenReturn(true)
- `when`(smartspaceData.packageName).thenReturn(PACKAGE)
+ `when`(smartspaceData.packageName).thenReturn(SMARTSPACE_PACKAGE)
`when`(smartspaceData.recommendations).thenReturn(listOf(smartspaceMediaRecommendationItem))
`when`(smartspaceData.headphoneConnectionTimeMillis).thenReturn(
clock.currentTimeMillis() - 100)
+ `when`(smartspaceData.instanceId).thenReturn(SMARTSPACE_INSTANCE_ID)
}
private fun setUser(id: Int) {
@@ -241,6 +257,8 @@
.onSmartspaceMediaDataLoaded(eq(SMARTSPACE_KEY), eq(smartspaceData), eq(true))
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isTrue()
assertThat(mediaDataFilter.hasActiveMedia()).isFalse()
+ verify(logger).logRecommendationAdded(SMARTSPACE_PACKAGE, SMARTSPACE_INSTANCE_ID)
+ verify(logger, never()).logRecommendationActivated(any(), any(), any())
}
@Test
@@ -254,6 +272,8 @@
verify(listener, never()).onSmartspaceMediaDataLoaded(any(), any(), anyBoolean())
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isFalse()
assertThat(mediaDataFilter.hasActiveMedia()).isFalse()
+ verify(logger, never()).logRecommendationAdded(any(), any())
+ verify(logger, never()).logRecommendationActivated(any(), any(), any())
}
@Test
@@ -267,6 +287,8 @@
.onSmartspaceMediaDataLoaded(eq(SMARTSPACE_KEY), eq(smartspaceData), eq(true))
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isTrue()
assertThat(mediaDataFilter.hasActiveMedia()).isFalse()
+ verify(logger).logRecommendationAdded(SMARTSPACE_PACKAGE, SMARTSPACE_INSTANCE_ID)
+ verify(logger, never()).logRecommendationActivated(any(), any(), any())
}
@Test
@@ -281,6 +303,8 @@
verify(listener, never()).onSmartspaceMediaDataLoaded(any(), any(), anyBoolean())
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isFalse()
assertThat(mediaDataFilter.hasActiveMedia()).isFalse()
+ verify(logger, never()).logRecommendationAdded(any(), any())
+ verify(logger, never()).logRecommendationActivated(any(), any(), any())
}
@Test
@@ -302,6 +326,8 @@
verify(listener, never()).onSmartspaceMediaDataLoaded(any(), any(), anyBoolean())
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isFalse()
assertThat(mediaDataFilter.hasActiveMedia()).isFalse()
+ verify(logger, never()).logRecommendationAdded(any(), any())
+ verify(logger, never()).logRecommendationActivated(any(), any(), any())
}
@Test
@@ -324,6 +350,8 @@
assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isFalse()
// Smartspace update shouldn't be propagated for the empty rec list.
verify(listener, never()).onSmartspaceMediaDataLoaded(any(), any(), anyBoolean())
+ verify(logger, never()).logRecommendationAdded(any(), any())
+ verify(logger).logRecommendationActivated(eq(APP_UID), eq(PACKAGE), eq(INSTANCE_ID))
}
@Test
@@ -345,6 +373,8 @@
// Smartspace update should also be propagated but not prioritized.
verify(listener)
.onSmartspaceMediaDataLoaded(eq(SMARTSPACE_KEY), eq(smartspaceData), eq(false))
+ verify(logger).logRecommendationAdded(SMARTSPACE_PACKAGE, SMARTSPACE_INSTANCE_ID)
+ verify(logger).logRecommendationActivated(eq(APP_UID), eq(PACKAGE), eq(INSTANCE_ID))
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
index 68eebed..8582499 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt
@@ -19,6 +19,7 @@
import android.testing.TestableLooper.RunWithLooper
import androidx.media.utils.MediaConstants
import androidx.test.filters.SmallTest
+import com.android.internal.logging.InstanceId
import com.android.systemui.InstanceIdSequenceFake
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
@@ -47,6 +48,7 @@
import org.mockito.Mockito.never
import org.mockito.Mockito.reset
import org.mockito.Mockito.verify
+import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.junit.MockitoJUnit
import org.mockito.Mockito.`when` as whenever
@@ -452,11 +454,22 @@
@Test
fun testOnSmartspaceMediaDataLoaded_hasNewValidMediaTarget_callsListener() {
smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget))
+ verify(logger).getNewInstanceId()
+ val instanceId = instanceIdSequence.lastInstanceId
+
verify(listener).onSmartspaceMediaDataLoaded(
eq(KEY_MEDIA_SMARTSPACE),
- eq(SmartspaceMediaData(KEY_MEDIA_SMARTSPACE, true /* isActive */, true /*isValid */,
- PACKAGE_NAME, mediaSmartspaceBaseAction, listOf(mediaRecommendationItem),
- DISMISS_INTENT, 0, 1234L)),
+ eq(SmartspaceMediaData(
+ targetId = KEY_MEDIA_SMARTSPACE,
+ isActive = true,
+ isValid = true,
+ packageName = PACKAGE_NAME,
+ cardAction = mediaSmartspaceBaseAction,
+ recommendations = listOf(mediaRecommendationItem),
+ dismissIntent = DISMISS_INTENT,
+ backgroundColor = 0,
+ headphoneConnectionTimeMillis = 1234L,
+ instanceId = InstanceId.fakeInstanceId(instanceId))),
eq(false))
}
@@ -464,12 +477,18 @@
fun testOnSmartspaceMediaDataLoaded_hasNewInvalidMediaTarget_callsListener() {
whenever(mediaSmartspaceTarget.iconGrid).thenReturn(listOf())
smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget))
+ verify(logger).getNewInstanceId()
+ val instanceId = instanceIdSequence.lastInstanceId
+
verify(listener).onSmartspaceMediaDataLoaded(
eq(KEY_MEDIA_SMARTSPACE),
- eq(EMPTY_SMARTSPACE_MEDIA_DATA
- .copy(targetId = KEY_MEDIA_SMARTSPACE, isActive = true,
- isValid = false, dismissIntent = DISMISS_INTENT,
- headphoneConnectionTimeMillis = 1234L)),
+ eq(EMPTY_SMARTSPACE_MEDIA_DATA.copy(
+ targetId = KEY_MEDIA_SMARTSPACE,
+ isActive = true,
+ isValid = false,
+ dismissIntent = DISMISS_INTENT,
+ headphoneConnectionTimeMillis = 1234L,
+ instanceId = InstanceId.fakeInstanceId(instanceId))),
eq(false))
}
@@ -484,18 +503,25 @@
whenever(mediaSmartspaceTarget.iconGrid).thenReturn(listOf())
smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget))
+ verify(logger).getNewInstanceId()
+ val instanceId = instanceIdSequence.lastInstanceId
verify(listener).onSmartspaceMediaDataLoaded(
eq(KEY_MEDIA_SMARTSPACE),
- eq(EMPTY_SMARTSPACE_MEDIA_DATA
- .copy(targetId = KEY_MEDIA_SMARTSPACE, isActive = true,
- isValid = false, dismissIntent = null, headphoneConnectionTimeMillis = 1234L)),
+ eq(EMPTY_SMARTSPACE_MEDIA_DATA.copy(
+ targetId = KEY_MEDIA_SMARTSPACE,
+ isActive = true,
+ isValid = false,
+ dismissIntent = null,
+ headphoneConnectionTimeMillis = 1234L,
+ instanceId = InstanceId.fakeInstanceId(instanceId))),
eq(false))
}
@Test
fun testOnSmartspaceMediaDataLoaded_hasNoneMediaTarget_notCallsListener() {
smartspaceMediaDataProvider.onTargetsAvailable(listOf())
+ verify(logger, never()).getNewInstanceId()
verify(listener, never())
.onSmartspaceMediaDataLoaded(anyObject(), anyObject(), anyBoolean())
}
@@ -503,11 +529,14 @@
@Test
fun testOnSmartspaceMediaDataLoaded_hasNoneMediaTarget_callsRemoveListener() {
smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget))
+ verify(logger).getNewInstanceId()
+
smartspaceMediaDataProvider.onTargetsAvailable(listOf())
foregroundExecutor.advanceClockToLast()
foregroundExecutor.runAllReady()
verify(listener).onSmartspaceMediaDataRemoved(eq(KEY_MEDIA_SMARTSPACE), eq(false))
+ verifyNoMoreInteractions(logger)
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
index 829445e..f5d19e2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFragmentTest.java
@@ -214,7 +214,7 @@
assertThat(mQsFragmentView.getAlpha())
.isEqualTo(
- BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(
+ BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(
transitionProgress));
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
index 5f2bbd3..077b41a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java
@@ -126,6 +126,12 @@
setAodEnabledForTest(true);
setShouldControlUnlockedScreenOffForTest(true);
setDisplayNeedsBlankingForTest(false);
+
+ // Default to false here (with one test to make sure that when it returns true, we respect
+ // that). We'll test the specific conditions for this to return true/false in the
+ // UnlockedScreenOffAnimationController's tests.
+ when(mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation())
+ .thenReturn(false);
}
@Test
@@ -174,9 +180,12 @@
*/
@Test
public void testControlUnlockedScreenOffAnimation_dozeAfterScreenOff_false() {
+ mDozeParameters.mKeyguardVisibilityCallback.onKeyguardVisibilityChanged(true);
+
// If AOD is disabled, we shouldn't want to control screen off. Also, let's double check
// that when that value is updated, we called through to PowerManager.
setAodEnabledForTest(false);
+
assertFalse(mDozeParameters.shouldControlScreenOff());
assertTrue(mPowerManagerDozeAfterScreenOff);
@@ -188,7 +197,6 @@
@Test
public void testControlUnlockedScreenOffAnimationDisabled_dozeAfterScreenOff() {
- setShouldControlUnlockedScreenOffForTest(true);
when(mFeatureFlags.isEnabled(Flags.LOCKSCREEN_ANIMATIONS)).thenReturn(false);
assertFalse(mDozeParameters.shouldControlUnlockedScreenOff());
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
index 8f3df09..09773d3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java
@@ -331,6 +331,8 @@
private NotificationListContainer mNotificationListContainer;
@Mock
private NotificationStackSizeCalculator mNotificationStackSizeCalculator;
+ @Mock
+ private UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
private NotificationPanelViewController.PanelEventsEmitter mPanelEventsEmitter;
private Optional<SysUIUnfoldComponent> mSysUIUnfoldComponent = Optional.empty();
private SysuiStatusBarStateController mStatusBarStateController;
@@ -511,7 +513,8 @@
mKeyguardUnlockAnimationController,
mNotificationListContainer,
mPanelEventsEmitter,
- mNotificationStackSizeCalculator);
+ mNotificationStackSizeCalculator,
+ mUnlockedScreenOffAnimationController);
mNotificationPanelViewController.initDependencies(
mCentralSurfaces,
() -> {},
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 509fa3b..69d7932 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -1244,11 +1244,11 @@
float expansion = 0.8f;
float expectedAlpha =
- BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
expansion = 0.2f;
- expectedAlpha = BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ expectedAlpha = BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, expectedAlpha, expansion);
}
@@ -1284,7 +1284,7 @@
// Verify normal behavior after
mScrimController.setUnocclusionAnimationRunning(false);
float expansion = 0.4f;
- float alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ float alpha = 1 - BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
}
@@ -1316,15 +1316,15 @@
mScrimController.transitionTo(ScrimState.KEYGUARD);
float expansion = 0.8f;
- float alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ float alpha = 1 - BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
expansion = 0.4f;
- alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ alpha = 1 - BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
expansion = 0.2f;
- alpha = 1 - BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(expansion);
+ alpha = 1 - BouncerPanelExpansionCalculator.aboutToShowBouncerProgress(expansion);
assertAlphaAfterExpansion(mNotificationsScrim, alpha, expansion);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationControllerTest.kt
index 050563a..0936b77 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationControllerTest.kt
@@ -31,6 +31,7 @@
import com.android.systemui.statusbar.StatusBarStateControllerImpl
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.settings.GlobalSettings
+import junit.framework.Assert.assertFalse
import org.junit.After
import org.junit.Before
import org.junit.Test
@@ -133,7 +134,7 @@
*/
@Test
fun testAodUiShownIfNotInteractive() {
- `when`(dozeParameters.shouldControlUnlockedScreenOff()).thenReturn(true)
+ `when`(dozeParameters.canControlUnlockedScreenOff()).thenReturn(true)
`when`(powerManager.isInteractive).thenReturn(false)
val callbackCaptor = ArgumentCaptor.forClass(Runnable::class.java)
@@ -156,7 +157,7 @@
*/
@Test
fun testAodUiNotShownIfInteractive() {
- `when`(dozeParameters.shouldControlUnlockedScreenOff()).thenReturn(true)
+ `when`(dozeParameters.canControlUnlockedScreenOff()).thenReturn(true)
`when`(powerManager.isInteractive).thenReturn(true)
val callbackCaptor = ArgumentCaptor.forClass(Runnable::class.java)
@@ -167,4 +168,13 @@
verify(notificationPanelViewController, never()).showAodUi()
}
+
+ @Test
+ fun testNoAnimationPlaying_dozeParamsCanNotControlScreenOff() {
+ `when`(dozeParameters.canControlUnlockedScreenOff()).thenReturn(false)
+
+ assertFalse(controller.shouldPlayUnlockedScreenOffAnimation())
+ controller.startAnimation()
+ assertFalse(controller.isAnimationPlaying())
+ }
}
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchControllerTest.kt
index f58403d..b4f3987b 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchControllerTest.kt
@@ -26,13 +26,13 @@
import com.android.internal.logging.UiEventLogger
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
-import com.android.systemui.keyguard.ScreenLifecycle
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.qs.user.UserSwitchDialogController
import com.android.systemui.statusbar.SysuiStatusBarStateController
import com.android.systemui.statusbar.phone.DozeParameters
import com.android.systemui.statusbar.phone.LockscreenGestureLogger
import com.android.systemui.statusbar.phone.ScreenOffAnimationController
+import com.google.common.truth.Truth.assertThat
import org.junit.After
import org.junit.Before
import org.junit.Test
@@ -48,9 +48,6 @@
@RunWith(AndroidTestingRunner::class)
class KeyguardQsUserSwitchControllerTest : SysuiTestCase() {
@Mock
- private lateinit var screenLifecycle: ScreenLifecycle
-
- @Mock
private lateinit var userSwitcherController: UserSwitcherController
@Mock
@@ -93,7 +90,6 @@
view,
context,
context.resources,
- screenLifecycle,
userSwitcherController,
keyguardStateController,
falsingManager,
@@ -108,6 +104,8 @@
testableLooper.processAllMessages()
`when`(userSwitcherController.keyguardStateController).thenReturn(keyguardStateController)
`when`(userSwitcherController.keyguardStateController.isShowing).thenReturn(true)
+ `when`(keyguardStateController.isShowing).thenReturn(true)
+ `when`(keyguardStateController.isKeyguardGoingAway).thenReturn(false)
keyguardQsUserSwitchController.init()
}
@@ -122,4 +120,28 @@
verify(uiEventLogger, times(1))
.log(LockscreenGestureLogger.LockscreenUiEvent.LOCKSCREEN_SWITCH_USER_TAP)
}
+
+ @Test
+ fun testAvatarExistsWhenKeyguardGoingAway() {
+ `when`(keyguardStateController.isShowing).thenReturn(false)
+ `when`(keyguardStateController.isKeyguardGoingAway).thenReturn(true)
+ keyguardQsUserSwitchController.updateKeyguardShowing(true /* forceViewUpdate */)
+ assertThat(keyguardQsUserSwitchController.mUserAvatarView.isEmpty).isFalse()
+ }
+
+ @Test
+ fun testAvatarExistsWhenKeyguardShown() {
+ `when`(keyguardStateController.isShowing).thenReturn(true)
+ `when`(keyguardStateController.isKeyguardGoingAway).thenReturn(false)
+ keyguardQsUserSwitchController.updateKeyguardShowing(true /* forceViewUpdate */)
+ assertThat(keyguardQsUserSwitchController.mUserAvatarView.isEmpty).isFalse()
+ }
+
+ @Test
+ fun testAvatarGoneWhenKeyguardGone() {
+ `when`(keyguardStateController.isShowing).thenReturn(false)
+ `when`(keyguardStateController.isKeyguardGoingAway).thenReturn(false)
+ keyguardQsUserSwitchController.updateKeyguardShowing(true /* forceViewUpdate */)
+ assertThat(keyguardQsUserSwitchController.mUserAvatarView.isEmpty).isTrue()
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/condition/ConditionMonitorTest.java b/packages/SystemUI/tests/src/com/android/systemui/util/condition/ConditionMonitorTest.java
index 5118637..7589616 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/util/condition/ConditionMonitorTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/util/condition/ConditionMonitorTest.java
@@ -65,7 +65,7 @@
mCondition3 = spy(new FakeCondition());
mConditions = new HashSet<>(Arrays.asList(mCondition1, mCondition2, mCondition3));
- mConditionMonitor = new Monitor(mExecutor, mConditions, null /*callbacks*/);
+ mConditionMonitor = new Monitor(mExecutor, mConditions);
}
@Test
@@ -76,8 +76,10 @@
final Monitor monitor = new Monitor(
mExecutor,
- new HashSet<>(Arrays.asList(overridingCondition, regularCondition)),
- new HashSet<>(Arrays.asList(callback)));
+ new HashSet<>(Arrays.asList(overridingCondition, regularCondition)));
+
+ monitor.addCallback(callback);
+ mExecutor.runAllReady();
when(overridingCondition.isOverridingCondition()).thenReturn(true);
when(overridingCondition.isConditionMet()).thenReturn(true);
@@ -123,8 +125,9 @@
final Monitor monitor = new Monitor(
mExecutor,
new HashSet<>(Arrays.asList(overridingCondition, overridingCondition2,
- regularCondition)),
- new HashSet<>(Arrays.asList(callback)));
+ regularCondition)));
+ monitor.addCallback(callback);
+ mExecutor.runAllReady();
when(overridingCondition.isOverridingCondition()).thenReturn(true);
when(overridingCondition.isConditionMet()).thenReturn(true);
@@ -174,8 +177,8 @@
mock(Monitor.Callback.class);
final Condition condition = mock(Condition.class);
when(condition.isConditionMet()).thenReturn(true);
- final Monitor monitor = new Monitor(mExecutor, new HashSet<>(Arrays.asList(condition)),
- new HashSet<>(Arrays.asList(callback1)));
+ final Monitor monitor = new Monitor(mExecutor, new HashSet<>(Arrays.asList(condition)));
+ monitor.addCallback(callback1);
final Monitor.Callback callback2 =
mock(Monitor.Callback.class);
@@ -186,7 +189,7 @@
@Test
public void addCallback_noConditions_reportAllConditionsMet() {
- final Monitor monitor = new Monitor(mExecutor, new HashSet<>(), null /*callbacks*/);
+ final Monitor monitor = new Monitor(mExecutor, new HashSet<>());
final Monitor.Callback callback = mock(Monitor.Callback.class);
monitor.addCallback(callback);
@@ -196,7 +199,7 @@
@Test
public void addCallback_withMultipleInstancesOfTheSameCallback_registerOnlyOne() {
- final Monitor monitor = new Monitor(mExecutor, new HashSet<>(), null /*callbacks*/);
+ final Monitor monitor = new Monitor(mExecutor, new HashSet<>());
final Monitor.Callback callback = mock(Monitor.Callback.class);
// Adds the same instance multiple times.
@@ -212,8 +215,7 @@
@Test
public void removeCallback_shouldNoLongerReceiveUpdate() {
final Condition condition = mock(Condition.class);
- final Monitor monitor = new Monitor(mExecutor, new HashSet<>(Arrays.asList(condition)),
- null);
+ final Monitor monitor = new Monitor(mExecutor, new HashSet<>(Arrays.asList(condition)));
final Monitor.Callback callback =
mock(Monitor.Callback.class);
monitor.addCallback(callback);
diff --git a/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values/config.xml
index c340432..67d405d 100644
--- a/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationCornerOverlay/res/values/config.xml
@@ -44,6 +44,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">48dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values/config.xml
index 928d9df..e08c32f 100644
--- a/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationDoubleOverlay/res/values/config.xml
@@ -56,6 +56,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">48dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml
index 62f0535..68916cc 100644
--- a/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationHoleOverlay/res/values/config.xml
@@ -48,6 +48,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">136px</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values/config.xml
index a9f8b4b..605059b2 100644
--- a/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationNarrowOverlay/res/values/config.xml
@@ -47,6 +47,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">48dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values/config.xml
index be7d0e4..370d730 100644
--- a/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationTallOverlay/res/values/config.xml
@@ -47,6 +47,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">48dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/res/values/config.xml
index cc51ebe..98779f0 100644
--- a/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationWaterfallOverlay/res/values/config.xml
@@ -19,6 +19,12 @@
<string translatable="false" name="config_mainBuiltInDisplayCutout"></string>
<string translatable="false" name="config_mainBuiltInDisplayCutoutRectApproximation"></string>
+ <!-- Height of the status bar in portrait. The height should be
+ Max((status bar content height + waterfall top size), top cutout size) -->
+ <dimen name="status_bar_height_portrait">28dp</dimen>
+ <!-- Max((28 + 20), 0) = 48 -->
+ <dimen name="status_bar_height_landscape">48dp</dimen>
+
<dimen name="waterfall_display_left_edge_size">20dp</dimen>
<dimen name="waterfall_display_top_edge_size">0dp</dimen>
<dimen name="waterfall_display_right_edge_size">20dp</dimen>
diff --git a/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values/config.xml b/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values/config.xml
index 78cc7e0..176f1dc 100644
--- a/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values/config.xml
+++ b/packages/overlays/DisplayCutoutEmulationWideOverlay/res/values/config.xml
@@ -47,6 +47,9 @@
-->
<bool name="config_fillMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">48dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/packages/overlays/NoCutoutOverlay/res/values/config.xml b/packages/overlays/NoCutoutOverlay/res/values/config.xml
index 84b91b8..ed0340b 100644
--- a/packages/overlays/NoCutoutOverlay/res/values/config.xml
+++ b/packages/overlays/NoCutoutOverlay/res/values/config.xml
@@ -25,4 +25,7 @@
by shrinking the display such that it does not overlap the cutout area. -->
<bool name="config_maskMainBuiltInDisplayCutout">true</bool>
+ <!-- Height of the status bar -->
+ <dimen name="status_bar_height_portrait">28dp</dimen>
+ <dimen name="status_bar_height_landscape">28dp</dimen>
</resources>
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 53a3e09..e3226c7 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -94,6 +94,7 @@
import android.os.UserManager;
import android.provider.Settings;
import android.provider.SettingsStringUtil.SettingStringHelper;
+import android.safetycenter.SafetyCenterManager;
import android.text.TextUtils;
import android.text.TextUtils.SimpleStringSplitter;
import android.util.ArraySet;
@@ -414,11 +415,9 @@
mMainHandler = new MainHandler(mContext.getMainLooper());
mActivityTaskManagerService = LocalServices.getService(ActivityTaskManagerInternal.class);
mPackageManager = mContext.getPackageManager();
- PolicyWarningUIController policyWarningUIController;
- if (AccessibilitySecurityPolicy.POLICY_WARNING_ENABLED) {
- policyWarningUIController = new PolicyWarningUIController(mMainHandler, context,
- new PolicyWarningUIController.NotificationController(context));
- }
+ final PolicyWarningUIController policyWarningUIController = new PolicyWarningUIController(
+ mMainHandler, context,
+ new PolicyWarningUIController.NotificationController(context));
mSecurityPolicy = new AccessibilitySecurityPolicy(policyWarningUIController, mContext,
this);
mA11yWindowManager = new AccessibilityWindowManager(mLock, mMainHandler,
@@ -467,6 +466,19 @@
LocalServices.getService(AppWidgetManagerInternal.class));
}
}
+
+ // SafetyCenterService is ready after this phase.
+ if (phase == SystemService.PHASE_THIRD_PARTY_APPS_CAN_START) {
+ setNonA11yToolNotificationToMatchSafetyCenter();
+ }
+ }
+
+ private void setNonA11yToolNotificationToMatchSafetyCenter() {
+ final boolean sendNotification = !mContext.getSystemService(
+ SafetyCenterManager.class).isSafetyCenterEnabled();
+ synchronized (mLock) {
+ mSecurityPolicy.setSendingNonA11yToolNotificationLocked(sendNotification);
+ }
}
AccessibilityUserState getCurrentUserState() {
@@ -722,6 +734,17 @@
}
}
}, UserHandle.ALL, intentFilter, null, null);
+
+ final IntentFilter filter = new IntentFilter();
+ filter.addAction(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED);
+ final BroadcastReceiver receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ setNonA11yToolNotificationToMatchSafetyCenter();
+ }
+ };
+ mContext.registerReceiverAsUser(receiver, UserHandle.ALL, filter, null, mMainHandler,
+ Context.RECEIVER_EXPORTED);
}
// Called only during settings restore; currently supports only the owner user
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java b/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
index bc3ffab..e5e1d02 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilitySecurityPolicy.java
@@ -80,8 +80,6 @@
| AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED
| AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY;
- public static final boolean POLICY_WARNING_ENABLED = true;
-
/**
* Methods that should find their way into separate modules, but are still in AMS
* TODO (b/111889696): Refactoring UserState to AccessibilityUserManager.
@@ -106,6 +104,7 @@
private AppWidgetManagerInternal mAppWidgetService;
private AccessibilityWindowManager mAccessibilityWindowManager;
private int mCurrentUserId = UserHandle.USER_NULL;
+ private boolean mSendNonA11yToolNotificationEnabled = false;
/**
* Constructor for AccessibilityManagerService.
@@ -119,7 +118,25 @@
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
mPolicyWarningUIController = policyWarningUIController;
- mPolicyWarningUIController.setAccessibilityPolicyManager(this);
+ }
+
+ /**
+ * Enables sending the notification for non-AccessibilityTool services with the given state.
+ *
+ */
+ public void setSendingNonA11yToolNotificationLocked(boolean enable) {
+ if (enable == mSendNonA11yToolNotificationEnabled) {
+ return;
+ }
+
+ mSendNonA11yToolNotificationEnabled = enable;
+ mPolicyWarningUIController.enableSendingNonA11yToolNotification(enable);
+ if (enable) {
+ for (int i = 0; i < mNonA11yCategoryServices.size(); i++) {
+ final ComponentName service = mNonA11yCategoryServices.valueAt(i);
+ mPolicyWarningUIController.onNonA11yCategoryServiceBound(mCurrentUserId, service);
+ }
+ }
}
/**
@@ -725,9 +742,6 @@
*/
public void onBoundServicesChangedLocked(int userId,
ArrayList<AccessibilityServiceConnection> boundServices) {
- if (!POLICY_WARNING_ENABLED) {
- return;
- }
if (mAccessibilityUserManager.getCurrentUserIdLocked() != userId) {
return;
}
@@ -742,7 +756,9 @@
if (mNonA11yCategoryServices.contains(service)) {
mNonA11yCategoryServices.remove(service);
} else {
- mPolicyWarningUIController.onNonA11yCategoryServiceBound(userId, service);
+ if (mSendNonA11yToolNotificationEnabled) {
+ mPolicyWarningUIController.onNonA11yCategoryServiceBound(userId, service);
+ }
}
}
}
@@ -763,14 +779,11 @@
* @param enabledServices The enabled services
*/
public void onSwitchUserLocked(int userId, Set<ComponentName> enabledServices) {
- if (!POLICY_WARNING_ENABLED) {
- return;
- }
if (mCurrentUserId == userId) {
return;
}
-
- mPolicyWarningUIController.onSwitchUserLocked(userId, enabledServices);
+ mPolicyWarningUIController.onSwitchUser(userId,
+ new ArraySet<>(enabledServices));
for (int i = 0; i < mNonA11yCategoryServices.size(); i++) {
mPolicyWarningUIController.onNonA11yCategoryServiceUnbound(mCurrentUserId,
@@ -786,15 +799,11 @@
* @param userId The user id
* @param enabledServices The enabled services
*/
- public void onEnabledServicesChangedLocked(int userId,
- Set<ComponentName> enabledServices) {
- if (!POLICY_WARNING_ENABLED) {
- return;
- }
+ public void onEnabledServicesChangedLocked(int userId, Set<ComponentName> enabledServices) {
if (mAccessibilityUserManager.getCurrentUserIdLocked() != userId) {
return;
}
-
- mPolicyWarningUIController.onEnabledServicesChangedLocked(userId, enabledServices);
+ mPolicyWarningUIController.onEnabledServicesChanged(userId,
+ new ArraySet<>(enabledServices));
}
}
diff --git a/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java b/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
index 7c12ece..af81645 100644
--- a/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
+++ b/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
@@ -53,6 +53,7 @@
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.util.ImageUtils;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
@@ -96,24 +97,23 @@
filter.addAction(ACTION_DISMISS_NOTIFICATION);
mContext.registerReceiver(mNotificationController, filter,
Manifest.permission.MANAGE_ACCESSIBILITY, mMainHandler, Context.RECEIVER_EXPORTED);
-
- }
-
- protected void setAccessibilityPolicyManager(
- AccessibilitySecurityPolicy accessibilitySecurityPolicy) {
- mNotificationController.setAccessibilityPolicyManager(accessibilitySecurityPolicy);
}
/**
* Updates enabled accessibility services and notified accessibility services after switching
* to another user.
*
- * @param enabledServices The current enabled services
+ * @param enabledServices the current enabled services
*/
- public void onSwitchUserLocked(int userId, Set<ComponentName> enabledServices) {
+ public void onSwitchUser(int userId, Set<ComponentName> enabledServices) {
+ mMainHandler.sendMessage(
+ obtainMessage(this::onSwitchUserInternal, userId, enabledServices));
+ }
+
+ private void onSwitchUserInternal(int userId, Set<ComponentName> enabledServices) {
mEnabledA11yServices.clear();
mEnabledA11yServices.addAll(enabledServices);
- mMainHandler.sendMessage(obtainMessage(mNotificationController::onSwitchUser, userId));
+ mNotificationController.onSwitchUser(userId);
}
/**
@@ -122,10 +122,14 @@
* setting {@link Settings.Secure#ENABLED_ACCESSIBILITY_SERVICES} changed.
*
* @param userId The user id
- * @param enabledServices The enabled services
+ * @param enabledServices The enabled services set
*/
- public void onEnabledServicesChangedLocked(int userId,
- Set<ComponentName> enabledServices) {
+ public void onEnabledServicesChanged(int userId, Set<ComponentName> enabledServices) {
+ mMainHandler.sendMessage(
+ obtainMessage(this::onEnabledServicesChangedInternal, userId, enabledServices));
+ }
+
+ void onEnabledServicesChangedInternal(int userId, Set<ComponentName> enabledServices) {
final ArraySet<ComponentName> disabledServices = new ArraySet<>(mEnabledA11yServices);
disabledServices.removeAll(enabledServices);
mEnabledA11yServices.clear();
@@ -187,6 +191,18 @@
return intent;
}
+ /**
+ * Enables to send the notification for non-Accessibility services.
+ */
+ public void enableSendingNonA11yToolNotification(boolean enable) {
+ mMainHandler.sendMessage(
+ obtainMessage(this::enableSendingNonA11yToolNotificationInternal, enable));
+ }
+
+ private void enableSendingNonA11yToolNotificationInternal(boolean enable) {
+ mNotificationController.setSendingNotification(enable);
+ }
+
/** A sub class to handle notifications and settings on the main thread. */
@MainThread
public static class NotificationController extends BroadcastReceiver {
@@ -194,22 +210,19 @@
/** All accessibility services which are notified to the user by the policy warning rule. */
private final ArraySet<ComponentName> mNotifiedA11yServices = new ArraySet<>();
+ /** The component name of sent notifications. */
+ private final List<ComponentName> mSentA11yServiceNotification = new ArrayList<>();
private final NotificationManager mNotificationManager;
private final Context mContext;
private int mCurrentUserId;
- private AccessibilitySecurityPolicy mAccessibilitySecurityPolicy;
+ private boolean mSendNotification;
public NotificationController(Context context) {
mContext = context;
mNotificationManager = mContext.getSystemService(NotificationManager.class);
}
- protected void setAccessibilityPolicyManager(
- AccessibilitySecurityPolicy accessibilitySecurityPolicy) {
- mAccessibilitySecurityPolicy = accessibilitySecurityPolicy;
- }
-
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
@@ -238,15 +251,18 @@
}
mNotificationManager.cancel(componentName.flattenToShortString(),
NOTE_A11Y_VIEW_AND_CONTROL_ACCESS);
+ mSentA11yServiceNotification.remove(componentName);
onNotificationCanceled(userId, componentName);
} else if (ACTION_DISMISS_NOTIFICATION.equals(action)) {
+ mSentA11yServiceNotification.remove(componentName);
onNotificationCanceled(userId, componentName);
}
}
protected void onSwitchUser(int userId) {
- mCurrentUserId = userId;
+ cancelSentNotifications();
mNotifiedA11yServices.clear();
+ mCurrentUserId = userId;
mNotifiedA11yServices.addAll(readNotifiedServiceList(userId));
}
@@ -258,10 +274,11 @@
}
private boolean trySendNotification(int userId, ComponentName componentName) {
- if (!AccessibilitySecurityPolicy.POLICY_WARNING_ENABLED) {
+ if (userId != mCurrentUserId) {
return false;
}
- if (userId != mCurrentUserId) {
+
+ if (!mSendNotification) {
return false;
}
@@ -344,6 +361,7 @@
mNotificationManager.notify(serviceComponentName.flattenToShortString(),
NOTE_A11Y_VIEW_AND_CONTROL_ACCESS,
notificationBuilder.build());
+ mSentA11yServiceNotification.add(serviceComponentName);
}
private ArraySet<ComponentName> readNotifiedServiceList(int userId) {
@@ -393,5 +411,15 @@
return accessibilityManager.getEnabledAccessibilityServiceList(
AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
}
+
+ private void cancelSentNotifications() {
+ mSentA11yServiceNotification.forEach(componentName -> mNotificationManager.cancel(
+ componentName.flattenToShortString(), NOTE_A11Y_VIEW_AND_CONTROL_ACCESS));
+ mSentA11yServiceNotification.clear();
+ }
+
+ void setSendingNotification(boolean enable) {
+ mSendNotification = enable;
+ }
}
}
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
index ecc45eb..6cfbfb8 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
@@ -356,13 +356,6 @@
mSpecAnimationBridge, spec, animationCallback);
mControllerCtx.getHandler().sendMessage(m);
}
-
- final boolean lastMagnificationActivated = mMagnificationActivated;
- mMagnificationActivated = spec.scale > 1.0f;
- if (mMagnificationActivated != lastMagnificationActivated) {
- mMagnificationInfoChangedCallback.onFullScreenMagnificationActivationState(
- mDisplayId, mMagnificationActivated);
- }
}
/**
@@ -376,9 +369,17 @@
@GuardedBy("mLock")
void onMagnificationChangedLocked() {
+ final float scale = getScale();
+ final boolean lastMagnificationActivated = mMagnificationActivated;
+ mMagnificationActivated = scale > 1.0f;
+ if (mMagnificationActivated != lastMagnificationActivated) {
+ mMagnificationInfoChangedCallback.onFullScreenMagnificationActivationState(
+ mDisplayId, mMagnificationActivated);
+ }
+
final MagnificationConfig config = new MagnificationConfig.Builder()
.setMode(MAGNIFICATION_MODE_FULLSCREEN)
- .setScale(getScale())
+ .setScale(scale)
.setCenterX(getCenterX())
.setCenterY(getCenterY()).build();
mMagnificationInfoChangedCallback.onFullScreenMagnificationChanged(mDisplayId,
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
index b263fb3..bb286e6 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
@@ -16,6 +16,7 @@
package com.android.server.accessibility.magnification;
+import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN;
import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW;
import static android.content.pm.PackageManager.FEATURE_WINDOW_MAGNIFICATION;
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL;
@@ -111,6 +112,15 @@
@GuardedBy("mLock")
private final SparseLongArray mFullScreenModeEnabledTimeArray = new SparseLongArray();
+ /**
+ * The transitioning magnification modes on the displays. The controller notifies
+ * magnification change depending on the target config mode.
+ * If the target mode is null, it means the config mode of the display is not
+ * transitioning.
+ */
+ @GuardedBy("mLock")
+ private final SparseArray<Integer> mTransitionModes = new SparseArray();
+
@GuardedBy("mLock")
private final SparseArray<WindowManagerInternal.AccessibilityControllerInternal
.UiChangesForAccessibilityCallbacks> mAccessibilityCallbacksDelegateArray =
@@ -213,6 +223,7 @@
final PointF currentCenter = getCurrentMagnificationCenterLocked(displayId, targetMode);
final DisableMagnificationCallback animationCallback =
getDisableMagnificationEndRunnableLocked(displayId);
+
if (currentCenter == null && animationCallback == null) {
transitionCallBack.onResult(displayId, true);
return;
@@ -233,6 +244,9 @@
transitionCallBack.onResult(displayId, true);
return;
}
+
+ setTransitionState(displayId, targetMode);
+
final FullScreenMagnificationController screenMagnificationController =
getFullScreenMagnificationController();
final WindowMagnificationManager windowMagnificationMgr = getWindowMagnificationMgr();
@@ -286,26 +300,51 @@
Slog.w(TAG, "Discard previous animation request");
animationCallback.setExpiredAndRemoveFromListLocked();
}
-
final FullScreenMagnificationController screenMagnificationController =
getFullScreenMagnificationController();
final WindowMagnificationManager windowMagnificationMgr = getWindowMagnificationMgr();
final float targetScale = Float.isNaN(config.getScale())
? getTargetModeScaleFromCurrentMagnification(displayId, targetMode)
: config.getScale();
- if (targetMode == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) {
- screenMagnificationController.reset(displayId, false);
- windowMagnificationMgr.enableWindowMagnification(displayId,
- targetScale, magnificationCenter.x, magnificationCenter.y,
- animate ? STUB_ANIMATION_CALLBACK : null, id);
- } else if (targetMode == ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN) {
- windowMagnificationMgr.disableWindowMagnification(displayId, false, null);
- if (!screenMagnificationController.isRegistered(displayId)) {
- screenMagnificationController.register(displayId);
+ try {
+ setTransitionState(displayId, targetMode);
+
+ if (targetMode == MAGNIFICATION_MODE_WINDOW) {
+ screenMagnificationController.reset(displayId, false);
+ windowMagnificationMgr.enableWindowMagnification(displayId,
+ targetScale, magnificationCenter.x, magnificationCenter.y,
+ animate ? STUB_ANIMATION_CALLBACK : null, id);
+ } else if (targetMode == MAGNIFICATION_MODE_FULLSCREEN) {
+ windowMagnificationMgr.disableWindowMagnification(displayId, false, null);
+ if (!screenMagnificationController.isRegistered(displayId)) {
+ screenMagnificationController.register(displayId);
+ }
+ screenMagnificationController.setScaleAndCenter(displayId, targetScale,
+ magnificationCenter.x, magnificationCenter.y, animate,
+ id);
}
- screenMagnificationController.setScaleAndCenter(displayId, targetScale,
- magnificationCenter.x, magnificationCenter.y, animate,
- id);
+ } finally {
+ // Reset transition state after enabling target mode.
+ setTransitionState(displayId, null);
+ }
+ }
+ }
+
+ /**
+ * Sets magnification config mode transition state. Called when the mode transition starts and
+ * ends. If the targetMode and the display id are null, it resets all
+ * the transition state.
+ *
+ * @param displayId The logical display id
+ * @param targetMode The transition target mode. It is not transitioning, if the target mode
+ * is set null
+ */
+ private void setTransitionState(Integer displayId, Integer targetMode) {
+ synchronized (mLock) {
+ if (targetMode == null && displayId == null) {
+ mTransitionModes.clear();
+ } else {
+ mTransitionModes.put(displayId, targetMode);
}
}
}
@@ -413,18 +452,57 @@
@Override
public void onSourceBoundsChanged(int displayId, Rect bounds) {
- final MagnificationConfig config = new MagnificationConfig.Builder()
- .setMode(MAGNIFICATION_MODE_WINDOW)
- .setScale(getWindowMagnificationMgr().getScale(displayId))
- .setCenterX(bounds.exactCenterX())
- .setCenterY(bounds.exactCenterY()).build();
- mAms.notifyMagnificationChanged(displayId, new Region(bounds), config);
+ if (shouldNotifyMagnificationChange(displayId, MAGNIFICATION_MODE_WINDOW)) {
+ final MagnificationConfig config = new MagnificationConfig.Builder()
+ .setMode(MAGNIFICATION_MODE_WINDOW)
+ .setScale(getWindowMagnificationMgr().getScale(displayId))
+ .setCenterX(bounds.exactCenterX())
+ .setCenterY(bounds.exactCenterY()).build();
+ mAms.notifyMagnificationChanged(displayId, new Region(bounds), config);
+ }
}
@Override
public void onFullScreenMagnificationChanged(int displayId, @NonNull Region region,
@NonNull MagnificationConfig config) {
- mAms.notifyMagnificationChanged(displayId, region, config);
+ if (shouldNotifyMagnificationChange(displayId, MAGNIFICATION_MODE_FULLSCREEN)) {
+ mAms.notifyMagnificationChanged(displayId, region, config);
+ }
+ }
+
+ /**
+ * Should notify magnification change for the given display under the conditions below
+ *
+ * <ol>
+ * <li> 1. No mode transitioning and the change mode is active. </li>
+ * <li> 2. No mode transitioning and all the modes are inactive. </li>
+ * <li> 3. It is mode transitioning and the change mode is the transition mode. </li>
+ * </ol>
+ *
+ * @param displayId The logical display id
+ * @param changeMode The mode that has magnification spec change
+ */
+ private boolean shouldNotifyMagnificationChange(int displayId, int changeMode) {
+ synchronized (mLock) {
+ final boolean fullScreenMagnifying = mFullScreenMagnificationController != null
+ && mFullScreenMagnificationController.isMagnifying(displayId);
+ final boolean windowEnabled = mWindowMagnificationMgr != null
+ && mWindowMagnificationMgr.isWindowMagnifierEnabled(displayId);
+ final Integer transitionMode = mTransitionModes.get(displayId);
+ if (((changeMode == MAGNIFICATION_MODE_FULLSCREEN && fullScreenMagnifying)
+ || (changeMode == MAGNIFICATION_MODE_WINDOW && windowEnabled))
+ && (transitionMode == null)) {
+ return true;
+ }
+ if ((!fullScreenMagnifying && !windowEnabled)
+ && (transitionMode == null)) {
+ return true;
+ }
+ if (transitionMode != null && changeMode == transitionMode) {
+ return true;
+ }
+ }
+ return false;
}
private void disableFullScreenMagnificationIfNeeded(int displayId) {
@@ -740,9 +818,32 @@
return;
}
setExpiredAndRemoveFromListLocked();
+ setTransitionState(mDisplayId, null);
+
if (success) {
adjustCurrentCenterIfNeededLocked();
applyMagnificationModeLocked(mTargetMode);
+ } else {
+ // Notify magnification change if magnification is inactive when the
+ // transition is failed. This is for the failed transition from
+ // full-screen to window mode. Disable magnification callback helps to send
+ // magnification inactive change since FullScreenMagnificationController
+ // would not notify magnification change if the spec is not changed.
+ final FullScreenMagnificationController screenMagnificationController =
+ getFullScreenMagnificationController();
+ if (mCurrentMode == ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN
+ && !screenMagnificationController.isMagnifying(mDisplayId)) {
+ MagnificationConfig.Builder configBuilder =
+ new MagnificationConfig.Builder();
+ Region region = new Region();
+ configBuilder.setMode(MAGNIFICATION_MODE_FULLSCREEN)
+ .setScale(screenMagnificationController.getScale(mDisplayId))
+ .setCenterX(screenMagnificationController.getCenterX(mDisplayId))
+ .setCenterY(screenMagnificationController.getCenterY(mDisplayId));
+ screenMagnificationController.getMagnificationRegion(mDisplayId,
+ region);
+ mAms.notifyMagnificationChanged(mDisplayId, region, configBuilder.build());
+ }
}
updateMagnificationButton(mDisplayId, mTargetMode);
if (mTransitionCallBack != null) {
@@ -770,6 +871,7 @@
return;
}
setExpiredAndRemoveFromListLocked();
+ setTransitionState(mDisplayId, null);
applyMagnificationModeLocked(mCurrentMode);
updateMagnificationButton(mDisplayId, mCurrentMode);
if (mTransitionCallBack != null) {
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index d7554cc..bc4b2a6 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -20,9 +20,11 @@
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.res.Resources.ID_NULL;
+import static android.provider.DeviceConfig.NAMESPACE_SYSTEMUI;
import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
+import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
@@ -83,6 +85,7 @@
import android.os.Trace;
import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.DeviceConfig;
import android.service.appwidget.AppWidgetServiceDumpProto;
import android.service.appwidget.WidgetProto;
import android.text.TextUtils;
@@ -113,6 +116,7 @@
import com.android.internal.app.UnlaunchableAppActivity;
import com.android.internal.appwidget.IAppWidgetHost;
import com.android.internal.appwidget.IAppWidgetService;
+import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.internal.os.BackgroundThread;
import com.android.internal.os.SomeArgs;
import com.android.internal.util.ArrayUtils;
@@ -150,6 +154,7 @@
private static final String TAG = "AppWidgetServiceImpl";
private static final boolean DEBUG = false;
+ private static final boolean DEBUG_PROVIDER_INFO_CACHE = true;
private static final String OLD_KEYGUARD_HOST_PACKAGE = "android";
private static final String NEW_KEYGUARD_HOST_PACKAGE = "com.android.keyguard";
@@ -246,6 +251,7 @@
private boolean mSafeMode;
private int mMaxWidgetBitmapMemory;
+ private boolean mIsProviderInfoPersisted;
AppWidgetServiceImpl(Context context) {
mContext = context;
@@ -263,6 +269,12 @@
mCallbackHandler = new CallbackHandler(mContext.getMainLooper());
mBackupRestoreController = new BackupRestoreController();
mSecurityPolicy = new SecurityPolicy();
+ mIsProviderInfoPersisted = !ActivityManager.isLowRamDeviceStatic()
+ && DeviceConfig.getBoolean(NAMESPACE_SYSTEMUI,
+ SystemUiDeviceConfigFlags.PERSISTS_WIDGET_PROVIDER_INFO, true);
+ if (DEBUG_PROVIDER_INFO_CACHE && !mIsProviderInfoPersisted) {
+ Slog.d(TAG, "App widget provider info will not be persisted on this device");
+ }
computeMaximumWidgetBitmapMemory();
registerBroadcastReceiver();
@@ -607,10 +619,12 @@
}
}
+ @GuardedBy("mLock")
private void ensureGroupStateLoadedLocked(int userId) {
ensureGroupStateLoadedLocked(userId, /* enforceUserUnlockingOrUnlocked */ true );
}
+ @GuardedBy("mLock")
private void ensureGroupStateLoadedLocked(int userId, boolean enforceUserUnlockingOrUnlocked) {
if (enforceUserUnlockingOrUnlocked && !isUserRunningAndUnlocked(userId)) {
throw new IllegalStateException(
@@ -2184,6 +2198,7 @@
}
}
+ @GuardedBy("mLock")
private void loadGroupWidgetProvidersLocked(int[] profileIds) {
List<ResolveInfo> allReceivers = null;
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
@@ -2409,7 +2424,24 @@
}
}
- private static void serializeProvider(TypedXmlSerializer out, Provider p) throws IOException {
+ private static void serializeProvider(
+ @NonNull final TypedXmlSerializer out, @NonNull final Provider p) throws IOException {
+ Objects.requireNonNull(out);
+ Objects.requireNonNull(p);
+ serializeProviderInner(out, p, false /* persistsProviderInfo */);
+ }
+
+ private static void serializeProviderWithProviderInfo(
+ @NonNull final TypedXmlSerializer out, @NonNull final Provider p) throws IOException {
+ Objects.requireNonNull(out);
+ Objects.requireNonNull(p);
+ serializeProviderInner(out, p, true /* persistsProviderInfo */);
+ }
+
+ private static void serializeProviderInner(@NonNull final TypedXmlSerializer out,
+ @NonNull final Provider p, final boolean persistsProviderInfo) throws IOException {
+ Objects.requireNonNull(out);
+ Objects.requireNonNull(p);
out.startTag(null, "p");
out.attribute(null, "pkg", p.id.componentName.getPackageName());
out.attribute(null, "cl", p.id.componentName.getClassName());
@@ -2417,6 +2449,12 @@
if (!TextUtils.isEmpty(p.infoTag)) {
out.attribute(null, "info_tag", p.infoTag);
}
+ if (DEBUG_PROVIDER_INFO_CACHE && persistsProviderInfo && !p.mInfoParsed) {
+ Slog.d(TAG, "Provider info from " + p.id.componentName + " won't be persisted.");
+ }
+ if (persistsProviderInfo && p.mInfoParsed) {
+ AppWidgetXmlUtil.writeAppWidgetProviderInfoLocked(out, p.info);
+ }
out.endTag(null, "p");
}
@@ -2768,6 +2806,7 @@
}
// only call from initialization -- it assumes that the data structures are all empty
+ @GuardedBy("mLock")
private void loadGroupStateLocked(int[] profileIds) {
// We can bind the widgets to host and providers only after
// reading the host and providers for all users since a widget
@@ -2959,6 +2998,7 @@
return false;
}
+ @GuardedBy("mLock")
private void saveStateLocked(int userId) {
tagProvidersAndHosts();
@@ -3012,6 +3052,7 @@
}
}
+ @GuardedBy("mLock")
private boolean writeProfileStateToFileLocked(FileOutputStream stream, int userId) {
int N;
@@ -3028,7 +3069,9 @@
if (provider.getUserId() != userId) {
continue;
}
- if (provider.shouldBePersisted()) {
+ if (mIsProviderInfoPersisted) {
+ serializeProviderWithProviderInfo(out, provider);
+ } else if (provider.shouldBePersisted()) {
serializeProvider(out, provider);
}
}
@@ -3074,6 +3117,7 @@
}
}
+ @GuardedBy("mLock")
private int readProfileStateFromFileLocked(FileInputStream stream, int userId,
List<LoadedWidgetState> outLoadedWidgets) {
int version = -1;
@@ -3127,6 +3171,18 @@
provider.zombie = true;
provider.id = providerId;
mProviders.add(provider);
+ } else if (mIsProviderInfoPersisted) {
+ final AppWidgetProviderInfo info =
+ AppWidgetXmlUtil.readAppWidgetProviderInfoLocked(parser);
+ if (DEBUG_PROVIDER_INFO_CACHE && info == null) {
+ Slog.d(TAG, "Unable to load widget provider info from xml for "
+ + providerId.componentName);
+ }
+ if (info != null) {
+ info.provider = providerId.componentName;
+ info.providerInfo = providerInfo;
+ provider.setInfoLocked(info);
+ }
}
final int providerTag = parser.getAttributeIntHex(null, "tag",
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java
new file mode 100644
index 0000000..297575c
--- /dev/null
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetXmlUtil.java
@@ -0,0 +1,131 @@
+/*
+ * 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.server.appwidget;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.appwidget.AppWidgetProviderInfo;
+import android.content.ComponentName;
+import android.os.Build;
+import android.text.TextUtils;
+import android.util.TypedXmlPullParser;
+import android.util.TypedXmlSerializer;
+
+import java.io.IOException;
+import java.util.Objects;
+
+/**
+ * @hide
+ */
+public class AppWidgetXmlUtil {
+
+ private static final String ATTR_MIN_WIDTH = "min_width";
+ private static final String ATTR_MIN_HEIGHT = "min_height";
+ private static final String ATTR_MIN_RESIZE_WIDTH = "min_resize_width";
+ private static final String ATTR_MIN_RESIZE_HEIGHT = "min_resize_height";
+ private static final String ATTR_MAX_RESIZE_WIDTH = "max_resize_width";
+ private static final String ATTR_MAX_RESIZE_HEIGHT = "max_resize_height";
+ private static final String ATTR_TARGET_CELL_WIDTH = "target_cell_width";
+ private static final String ATTR_TARGET_CELL_HEIGHT = "target_cell_height";
+ private static final String ATTR_UPDATE_PERIOD_MILLIS = "update_period_millis";
+ private static final String ATTR_INITIAL_LAYOUT = "initial_layout";
+ private static final String ATTR_INITIAL_KEYGUARD_LAYOUT = "initial_keyguard_layout";
+ private static final String ATTR_CONFIGURE = "configure";
+ private static final String ATTR_LABEL = "label";
+ private static final String ATTR_ICON = "icon";
+ private static final String ATTR_PREVIEW_IMAGE = "preview_image";
+ private static final String ATTR_PREVIEW_LAYOUT = "preview_layout";
+ private static final String ATTR_AUTO_ADVANCED_VIEW_ID = "auto_advance_view_id";
+ private static final String ATTR_RESIZE_MODE = "resize_mode";
+ private static final String ATTR_WIDGET_CATEGORY = "widget_category";
+ private static final String ATTR_WIDGET_FEATURES = "widget_features";
+ private static final String ATTR_DESCRIPTION_RES = "description_res";
+ private static final String ATTR_OS_FINGERPRINT = "os_fingerprint";
+
+ /**
+ * @hide
+ */
+ public static void writeAppWidgetProviderInfoLocked(@NonNull final TypedXmlSerializer out,
+ @NonNull final AppWidgetProviderInfo info) throws IOException {
+ Objects.requireNonNull(out);
+ Objects.requireNonNull(info);
+ out.attributeInt(null, ATTR_MIN_WIDTH, info.minWidth);
+ out.attributeInt(null, ATTR_MIN_HEIGHT, info.minHeight);
+ out.attributeInt(null, ATTR_MIN_RESIZE_WIDTH, info.minResizeWidth);
+ out.attributeInt(null, ATTR_MIN_RESIZE_HEIGHT, info.minResizeHeight);
+ out.attributeInt(null, ATTR_MAX_RESIZE_WIDTH, info.maxResizeWidth);
+ out.attributeInt(null, ATTR_MAX_RESIZE_HEIGHT, info.maxResizeHeight);
+ out.attributeInt(null, ATTR_TARGET_CELL_WIDTH, info.targetCellWidth);
+ out.attributeInt(null, ATTR_TARGET_CELL_HEIGHT, info.targetCellHeight);
+ out.attributeInt(null, ATTR_UPDATE_PERIOD_MILLIS, info.updatePeriodMillis);
+ out.attributeInt(null, ATTR_INITIAL_LAYOUT, info.initialLayout);
+ out.attributeInt(null, ATTR_INITIAL_KEYGUARD_LAYOUT, info.initialKeyguardLayout);
+ if (info.configure != null) {
+ out.attribute(null, ATTR_CONFIGURE, info.configure.flattenToShortString());
+ }
+ out.attribute(null, ATTR_LABEL, info.label);
+ out.attributeInt(null, ATTR_ICON, info.icon);
+ out.attributeInt(null, ATTR_PREVIEW_IMAGE, info.previewImage);
+ out.attributeInt(null, ATTR_PREVIEW_LAYOUT, info.previewLayout);
+ out.attributeInt(null, ATTR_AUTO_ADVANCED_VIEW_ID, info.autoAdvanceViewId);
+ out.attributeInt(null, ATTR_RESIZE_MODE, info.resizeMode);
+ out.attributeInt(null, ATTR_WIDGET_CATEGORY, info.widgetCategory);
+ out.attributeInt(null, ATTR_WIDGET_FEATURES, info.widgetFeatures);
+ out.attributeInt(null, ATTR_DESCRIPTION_RES, info.descriptionRes);
+ out.attribute(null, ATTR_OS_FINGERPRINT, Build.FINGERPRINT);
+ }
+
+ /**
+ * @hide
+ */
+ @Nullable
+ public static AppWidgetProviderInfo readAppWidgetProviderInfoLocked(
+ @NonNull final TypedXmlPullParser parser) {
+ Objects.requireNonNull(parser);
+ final String fingerprint = parser.getAttributeValue(null, ATTR_OS_FINGERPRINT);
+ if (!Build.FINGERPRINT.equals(fingerprint)) {
+ return null;
+ }
+ final AppWidgetProviderInfo info = new AppWidgetProviderInfo();
+ info.minWidth = parser.getAttributeInt(null, ATTR_MIN_WIDTH, 0);
+ info.minHeight = parser.getAttributeInt(null, ATTR_MIN_HEIGHT, 0);
+ info.minResizeWidth = parser.getAttributeInt(null, ATTR_MIN_RESIZE_WIDTH, 0);
+ info.minResizeWidth = parser.getAttributeInt(null, ATTR_MIN_RESIZE_HEIGHT, 0);
+ info.maxResizeWidth = parser.getAttributeInt(null, ATTR_MAX_RESIZE_WIDTH, 0);
+ info.maxResizeHeight = parser.getAttributeInt(null, ATTR_MAX_RESIZE_HEIGHT, 0);
+ info.targetCellWidth = parser.getAttributeInt(null, ATTR_TARGET_CELL_WIDTH, 0);
+ info.targetCellHeight = parser.getAttributeInt(null, ATTR_TARGET_CELL_HEIGHT, 0);
+ info.updatePeriodMillis = parser.getAttributeInt(null, ATTR_UPDATE_PERIOD_MILLIS, 0);
+ info.initialLayout = parser.getAttributeInt(null, ATTR_INITIAL_LAYOUT, 0);
+ info.initialKeyguardLayout = parser.getAttributeInt(
+ null, ATTR_INITIAL_KEYGUARD_LAYOUT, 0);
+ final String configure = parser.getAttributeValue(null, ATTR_CONFIGURE);
+ if (!TextUtils.isEmpty(configure)) {
+ info.configure = ComponentName.unflattenFromString(configure);
+ }
+ info.label = parser.getAttributeValue(null, ATTR_LABEL);
+ info.icon = parser.getAttributeInt(null, ATTR_ICON, 0);
+ info.previewImage = parser.getAttributeInt(null, ATTR_PREVIEW_IMAGE, 0);
+ info.previewLayout = parser.getAttributeInt(null, ATTR_PREVIEW_LAYOUT, 0);
+ info.autoAdvanceViewId = parser.getAttributeInt(null, ATTR_AUTO_ADVANCED_VIEW_ID, 0);
+ info.resizeMode = parser.getAttributeInt(null, ATTR_RESIZE_MODE, 0);
+ info.widgetCategory = parser.getAttributeInt(null, ATTR_WIDGET_CATEGORY, 0);
+ info.widgetFeatures = parser.getAttributeInt(null, ATTR_WIDGET_FEATURES, 0);
+ info.descriptionRes = parser.getAttributeInt(null, ATTR_DESCRIPTION_RES, 0);
+ return info;
+ }
+}
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index e06cd46..c362b8e 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -27,6 +27,8 @@
import static com.android.internal.util.Preconditions.checkState;
import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
import static com.android.server.companion.AssociationStore.CHANGE_TYPE_UPDATED_ADDRESS_UNCHANGED;
+import static com.android.server.companion.MetricUtils.logCreateAssociation;
+import static com.android.server.companion.MetricUtils.logRemoveAssociation;
import static com.android.server.companion.PackageUtils.enforceUsesCompanionDeviceFeature;
import static com.android.server.companion.PackageUtils.getPackageInfo;
import static com.android.server.companion.PermissionsUtils.checkCallerCanManageCompanionDevice;
@@ -790,7 +792,7 @@
}
updateSpecialAccessPermissionForAssociatedPackage(association);
-
+ logCreateAssociation(deviceProfile);
return association;
}
@@ -875,6 +877,7 @@
// Removing the association.
mAssociationStore.removeAssociation(associationId);
+ logRemoveAssociation(deviceProfile);
// Remove all the system data transfer requests for the association.
mSystemDataTransferRequestStore.removeRequestsByAssociationId(userId, associationId);
diff --git a/services/companion/java/com/android/server/companion/MetricUtils.java b/services/companion/java/com/android/server/companion/MetricUtils.java
new file mode 100644
index 0000000..09238d8
--- /dev/null
+++ b/services/companion/java/com/android/server/companion/MetricUtils.java
@@ -0,0 +1,77 @@
+/*
+ * 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.server.companion;
+
+import static android.companion.AssociationRequest.DEVICE_PROFILE_APP_STREAMING;
+import static android.companion.AssociationRequest.DEVICE_PROFILE_AUTOMOTIVE_PROJECTION;
+import static android.companion.AssociationRequest.DEVICE_PROFILE_COMPUTER;
+import static android.companion.AssociationRequest.DEVICE_PROFILE_WATCH;
+
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__ACTION__CREATED;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__ACTION__REMOVED;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_APP_STREAMING;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_AUTO_PROJECTION;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_COMPUTER;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_NULL;
+import static com.android.internal.util.FrameworkStatsLog.CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_WATCH;
+import static com.android.internal.util.FrameworkStatsLog.write;
+
+import static java.util.Collections.unmodifiableMap;
+
+import android.util.ArrayMap;
+
+import java.util.Map;
+
+final class MetricUtils {
+
+ private static final Map<String, Integer> METRIC_DEVICE_PROFILE;
+ static {
+ final Map<String, Integer> map = new ArrayMap<>();
+ map.put(null, CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_NULL);
+ map.put(
+ DEVICE_PROFILE_WATCH,
+ CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_WATCH
+ );
+ map.put(
+ DEVICE_PROFILE_APP_STREAMING,
+ CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_APP_STREAMING
+ );
+ map.put(
+ DEVICE_PROFILE_AUTOMOTIVE_PROJECTION,
+ CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_AUTO_PROJECTION
+ );
+ map.put(
+ DEVICE_PROFILE_COMPUTER,
+ CDM_ASSOCIATION_ACTION__DEVICE_PROFILE__DEVICE_PROFILE_COMPUTER
+ );
+
+ METRIC_DEVICE_PROFILE = unmodifiableMap(map);
+ }
+
+ static void logCreateAssociation(String profile) {
+ write(CDM_ASSOCIATION_ACTION,
+ CDM_ASSOCIATION_ACTION__ACTION__CREATED,
+ METRIC_DEVICE_PROFILE.get(profile));
+ }
+
+ static void logRemoveAssociation(String profile) {
+ write(CDM_ASSOCIATION_ACTION,
+ CDM_ASSOCIATION_ACTION__ACTION__REMOVED,
+ METRIC_DEVICE_PROFILE.get(profile));
+ }
+}
diff --git a/services/companion/java/com/android/server/companion/virtual/CameraAccessController.java b/services/companion/java/com/android/server/companion/virtual/CameraAccessController.java
index adc8459..ec0da49 100644
--- a/services/companion/java/com/android/server/companion/virtual/CameraAccessController.java
+++ b/services/companion/java/com/android/server/companion/virtual/CameraAccessController.java
@@ -30,6 +30,8 @@
import com.android.internal.annotations.GuardedBy;
+import java.util.Set;
+
/**
* Handles blocking access to the camera for apps running on virtual devices.
*/
@@ -50,11 +52,23 @@
@GuardedBy("mLock")
private ArrayMap<String, InjectionSessionData> mPackageToSessionData = new ArrayMap<>();
+ /**
+ * Mapping from camera ID to open camera app associations. Key is the camera id, value is the
+ * information of the app's uid and package name.
+ */
+ @GuardedBy("mLock")
+ private ArrayMap<String, OpenCameraInfo> mAppsToBlockOnVirtualDevice = new ArrayMap<>();
+
static class InjectionSessionData {
public int appUid;
public ArrayMap<String, CameraInjectionSession> cameraIdToSession = new ArrayMap<>();
}
+ static class OpenCameraInfo {
+ public String packageName;
+ public int packageUid;
+ }
+
interface CameraAccessBlockedCallback {
/**
* Called whenever an app was blocked from accessing a camera.
@@ -98,6 +112,33 @@
}
}
+ /**
+ * Need to block camera access for applications running on virtual displays.
+ * <p>
+ * Apps that open the camera on the main display will need to block camera access if moved to a
+ * virtual display.
+ *
+ * @param runningUids uids of the application running on the virtual display
+ */
+ public void blockCameraAccessIfNeeded(Set<Integer> runningUids) {
+ synchronized (mLock) {
+ for (int i = 0; i < mAppsToBlockOnVirtualDevice.size(); i++) {
+ final String cameraId = mAppsToBlockOnVirtualDevice.keyAt(i);
+ final OpenCameraInfo openCameraInfo = mAppsToBlockOnVirtualDevice.get(cameraId);
+ int packageUid = openCameraInfo.packageUid;
+ if (runningUids.contains(packageUid)) {
+ final String packageName = openCameraInfo.packageName;
+ InjectionSessionData data = mPackageToSessionData.get(packageName);
+ if (data == null) {
+ data = new InjectionSessionData();
+ data.appUid = packageUid;
+ mPackageToSessionData.put(packageName, data);
+ }
+ startBlocking(packageName, cameraId);
+ }
+ }
+ }
+ }
@Override
public void close() {
@@ -115,10 +156,13 @@
public void onCameraOpened(@NonNull String cameraId, @NonNull String packageName) {
synchronized (mLock) {
try {
- final ApplicationInfo ainfo =
- mPackageManager.getApplicationInfo(packageName, 0);
+ final ApplicationInfo ainfo = mPackageManager.getApplicationInfo(packageName, 0);
InjectionSessionData data = mPackageToSessionData.get(packageName);
if (!mVirtualDeviceManagerInternal.isAppRunningOnAnyVirtualDevice(ainfo.uid)) {
+ OpenCameraInfo openCameraInfo = new OpenCameraInfo();
+ openCameraInfo.packageName = packageName;
+ openCameraInfo.packageUid = ainfo.uid;
+ mAppsToBlockOnVirtualDevice.put(cameraId, openCameraInfo);
CameraInjectionSession existingSession =
(data != null) ? data.cameraIdToSession.get(cameraId) : null;
if (existingSession != null) {
@@ -149,6 +193,7 @@
@Override
public void onCameraClosed(@NonNull String cameraId) {
synchronized (mLock) {
+ mAppsToBlockOnVirtualDevice.remove(cameraId);
for (int i = mPackageToSessionData.size() - 1; i >= 0; i--) {
InjectionSessionData data = mPackageToSessionData.valueAt(i);
CameraInjectionSession session = data.cameraIdToSession.get(cameraId);
@@ -168,6 +213,9 @@
*/
private void startBlocking(String packageName, String cameraId) {
try {
+ Slog.d(
+ TAG,
+ "startBlocking() cameraId: " + cameraId + " packageName: " + packageName);
mCameraManager.injectCamera(packageName, cameraId, /* externalCamId */ "",
mContext.getMainExecutor(),
new CameraInjectionSession.InjectionStatusCallback() {
diff --git a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java
index 27de8cd..0b43744 100644
--- a/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java
+++ b/services/companion/java/com/android/server/companion/virtual/GenericWindowPolicyController.java
@@ -93,9 +93,8 @@
final ArraySet<Integer> mRunningUids = new ArraySet<>();
@Nullable private final ActivityListener mActivityListener;
private final Handler mHandler = new Handler(Looper.getMainLooper());
-
- @Nullable
- private RunningAppsChangedListener mRunningAppsChangedListener;
+ private final ArraySet<RunningAppsChangedListener> mRunningAppsChangedListener =
+ new ArraySet<>();
/**
* Creates a window policy controller that is generic to the different use cases of virtual
@@ -142,9 +141,14 @@
mActivityListener = activityListener;
}
- /** Sets listener for running applications change. */
- public void setRunningAppsChangedListener(@Nullable RunningAppsChangedListener listener) {
- mRunningAppsChangedListener = listener;
+ /** Register a listener for running applications changes. */
+ public void registerRunningAppsChangedListener(@NonNull RunningAppsChangedListener listener) {
+ mRunningAppsChangedListener.add(listener);
+ }
+
+ /** Unregister a listener for running applications changes. */
+ public void unregisterRunningAppsChangedListener(@NonNull RunningAppsChangedListener listener) {
+ mRunningAppsChangedListener.remove(listener);
}
@Override
@@ -237,9 +241,11 @@
mHandler.post(() -> mActivityListener.onDisplayEmpty(Display.INVALID_DISPLAY));
}
}
- if (mRunningAppsChangedListener != null) {
- mRunningAppsChangedListener.onRunningAppsChanged(runningUids);
- }
+ mHandler.post(() -> {
+ for (RunningAppsChangedListener listener : mRunningAppsChangedListener) {
+ listener.onRunningAppsChanged(runningUids);
+ }
+ });
}
/**
diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java
index 90c879a..de14ef6 100644
--- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java
+++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java
@@ -68,16 +68,18 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.BlockedAppStreamingActivity;
+import com.android.server.companion.virtual.GenericWindowPolicyController.RunningAppsChangedListener;
import com.android.server.companion.virtual.audio.VirtualAudioController;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
final class VirtualDeviceImpl extends IVirtualDevice.Stub
- implements IBinder.DeathRecipient {
+ implements IBinder.DeathRecipient, RunningAppsChangedListener {
private static final String TAG = "VirtualDeviceImpl";
@@ -101,6 +103,8 @@
private final VirtualDeviceParams mParams;
private final Map<Integer, PowerManager.WakeLock> mPerDisplayWakelocks = new ArrayMap<>();
private final IVirtualDeviceActivityListener mActivityListener;
+ @NonNull
+ private Consumer<ArraySet<Integer>> mRunningAppsChangedCallback;
// The default setting for showing the pointer on new displays.
@GuardedBy("mVirtualDeviceLock")
private boolean mDefaultShowPointerIcon = true;
@@ -139,21 +143,25 @@
IBinder token, int ownerUid, OnDeviceCloseListener listener,
PendingTrampolineCallback pendingTrampolineCallback,
IVirtualDeviceActivityListener activityListener,
+ Consumer<ArraySet<Integer>> runningAppsChangedCallback,
VirtualDeviceParams params) {
this(context, associationInfo, token, ownerUid, /* inputController= */ null, listener,
- pendingTrampolineCallback, activityListener, params);
+ pendingTrampolineCallback, activityListener, runningAppsChangedCallback, params);
}
@VisibleForTesting
VirtualDeviceImpl(Context context, AssociationInfo associationInfo, IBinder token,
int ownerUid, InputController inputController, OnDeviceCloseListener listener,
PendingTrampolineCallback pendingTrampolineCallback,
- IVirtualDeviceActivityListener activityListener, VirtualDeviceParams params) {
+ IVirtualDeviceActivityListener activityListener,
+ Consumer<ArraySet<Integer>> runningAppsChangedCallback,
+ VirtualDeviceParams params) {
UserHandle ownerUserHandle = UserHandle.getUserHandleForUid(ownerUid);
mContext = context.createContextAsUser(ownerUserHandle, 0);
mAssociationInfo = associationInfo;
mPendingTrampolineCallback = pendingTrampolineCallback;
mActivityListener = activityListener;
+ mRunningAppsChangedCallback = runningAppsChangedCallback;
mOwnerUid = ownerUid;
mAppToken = token;
mParams = params;
@@ -278,6 +286,11 @@
close();
}
+ @Override
+ public void onRunningAppsChanged(ArraySet<Integer> runningUids) {
+ mRunningAppsChangedCallback.accept(runningUids);
+ }
+
@VisibleForTesting
VirtualAudioController getVirtualAudioControllerForTesting() {
return mVirtualAudioController;
@@ -529,7 +542,7 @@
// reentrancy problems.
mContext.getMainThreadHandler().post(() -> addWakeLockForDisplay(displayId));
- final GenericWindowPolicyController dwpc =
+ final GenericWindowPolicyController gwpc =
new GenericWindowPolicyController(FLAG_SECURE,
SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS,
getAllowedUserHandles(),
@@ -540,8 +553,9 @@
mParams.getDefaultActivityPolicy(),
createListenerAdapter(displayId),
activityInfo -> onActivityBlocked(displayId, activityInfo));
- mWindowPolicyControllers.put(displayId, dwpc);
- return dwpc;
+ gwpc.registerRunningAppsChangedListener(/* listener= */ this);
+ mWindowPolicyControllers.put(displayId, gwpc);
+ return gwpc;
}
}
@@ -599,6 +613,10 @@
wakeLock.release();
mPerDisplayWakelocks.remove(displayId);
}
+ GenericWindowPolicyController gwpc = mWindowPolicyControllers.get(displayId);
+ if (gwpc != null) {
+ gwpc.unregisterRunningAppsChangedListener(/* listener= */ this);
+ }
mVirtualDisplayIds.remove(displayId);
mWindowPolicyControllers.remove(displayId);
}
diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
index 9acca80..6398b21 100644
--- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
@@ -251,7 +251,10 @@
}
}
},
- this, activityListener, params);
+ this, activityListener,
+ runningUids -> cameraAccessController.blockCameraAccessIfNeeded(
+ runningUids),
+ params);
if (cameraAccessController != null) {
cameraAccessController.startObservingIfNeeded();
} else {
diff --git a/services/companion/java/com/android/server/companion/virtual/audio/VirtualAudioController.java b/services/companion/java/com/android/server/companion/virtual/audio/VirtualAudioController.java
index 13a47d6..c91877a 100644
--- a/services/companion/java/com/android/server/companion/virtual/audio/VirtualAudioController.java
+++ b/services/companion/java/com/android/server/companion/virtual/audio/VirtualAudioController.java
@@ -85,7 +85,7 @@
@NonNull IAudioRoutingCallback routingCallback,
@Nullable IAudioConfigChangedCallback configChangedCallback) {
mGenericWindowPolicyController = genericWindowPolicyController;
- mGenericWindowPolicyController.setRunningAppsChangedListener(/* listener= */ this);
+ mGenericWindowPolicyController.registerRunningAppsChangedListener(/* listener= */ this);
synchronized (mCallbackLock) {
mRoutingCallback = routingCallback;
mConfigChangedCallback = configChangedCallback;
@@ -111,7 +111,8 @@
mAudioPlaybackDetector.unregister();
mAudioRecordingDetector.unregister();
if (mGenericWindowPolicyController != null) {
- mGenericWindowPolicyController.setRunningAppsChangedListener(/* listener= */ null);
+ mGenericWindowPolicyController.unregisterRunningAppsChangedListener(
+ /* listener= */ this);
mGenericWindowPolicyController = null;
}
synchronized (mCallbackLock) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 7b47438..6bce95a 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -49,6 +49,12 @@
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
+import static android.net.ConnectivityManager.BLOCKED_METERED_REASON_DATA_SAVER;
+import static android.net.ConnectivityManager.BLOCKED_METERED_REASON_USER_RESTRICTED;
+import static android.net.ConnectivityManager.BLOCKED_REASON_APP_STANDBY;
+import static android.net.ConnectivityManager.BLOCKED_REASON_BATTERY_SAVER;
+import static android.net.ConnectivityManager.BLOCKED_REASON_DOZE;
+import static android.net.ConnectivityManager.BLOCKED_REASON_LOW_POWER_STANDBY;
import static android.net.ConnectivityManager.BLOCKED_REASON_NONE;
import static android.os.FactoryTest.FACTORY_TEST_OFF;
import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_CRITICAL;
@@ -17268,7 +17274,7 @@
}
@Override
- public void addPendingTopUid(int uid, int pid) {
+ public void addPendingTopUid(int uid, int pid, @Nullable IApplicationThread thread) {
final boolean isNewPending = mPendingStartActivityUids.add(uid, pid);
// If the next top activity is in cached and frozen mode, WM should raise its priority
// to unfreeze it. This is done by calling AMS.updateOomAdj that will lower its oom adj.
@@ -17285,16 +17291,46 @@
// (e.g. battery/data saver) but since waiting for updateOomAdj to complete and then
// informing NetworkPolicyManager might get delayed, informing the state change as soon
// as we know app is going to come to the top state.
- if (mNetworkPolicyUidObserver != null) {
+ if (isNewPending && mNetworkPolicyUidObserver != null) {
try {
+ final long procStateSeq = mProcessList.getNextProcStateSeq();
mNetworkPolicyUidObserver.onUidStateChanged(uid, PROCESS_STATE_TOP,
- mProcessList.getNextProcStateSeq(), PROCESS_CAPABILITY_ALL);
+ procStateSeq, PROCESS_CAPABILITY_ALL);
+ if (thread != null && isNetworkingBlockedForUid(uid)) {
+ thread.setNetworkBlockSeq(procStateSeq);
+ }
} catch (RemoteException e) {
- // Should not happen; call is within the same process
+ Slog.d(TAG, "Error calling setNetworkBlockSeq", e);
}
}
}
+ private boolean isNetworkingBlockedForUid(int uid) {
+ synchronized (mUidNetworkBlockedReasons) {
+ // TODO: We can consider only those blocked reasons that will be overridden
+ // by the TOP state. For other ones, there is no point in waiting.
+ // TODO: We can reuse this data in
+ // ProcessList#incrementProcStateSeqAndNotifyAppsLOSP instead of calling into
+ // NetworkManagementService.
+ final int uidBlockedReasons = mUidNetworkBlockedReasons.get(
+ uid, BLOCKED_REASON_NONE);
+ if (uidBlockedReasons == BLOCKED_REASON_NONE) {
+ return false;
+ }
+ final int topExemptedBlockedReasons = BLOCKED_REASON_BATTERY_SAVER
+ | BLOCKED_REASON_DOZE
+ | BLOCKED_REASON_APP_STANDBY
+ | BLOCKED_REASON_LOW_POWER_STANDBY
+ | BLOCKED_METERED_REASON_DATA_SAVER
+ | BLOCKED_METERED_REASON_USER_RESTRICTED;
+ final int effectiveBlockedReasons =
+ uidBlockedReasons & ~topExemptedBlockedReasons;
+ // Only consider it as blocked if it is not blocked by a reason
+ // that is not exempted by app being in the top state.
+ return effectiveBlockedReasons == BLOCKED_REASON_NONE;
+ }
+ }
+
@Override
public void deletePendingTopUid(int uid, long nowElapsed) {
mPendingStartActivityUids.delete(uid, nowElapsed);
diff --git a/services/core/java/com/android/server/am/ComponentAliasResolver.java b/services/core/java/com/android/server/am/ComponentAliasResolver.java
index aef7a6c..cf910d4 100644
--- a/services/core/java/com/android/server/am/ComponentAliasResolver.java
+++ b/services/core/java/com/android/server/am/ComponentAliasResolver.java
@@ -41,6 +41,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.content.PackageMonitor;
import com.android.internal.os.BackgroundThread;
+import com.android.server.FgThread;
import com.android.server.LocalServices;
import com.android.server.compat.CompatChange;
import com.android.server.compat.PlatformCompat;
@@ -53,17 +54,23 @@
/**
* Manages and handles component aliases, which is an experimental feature.
*
- * For now, this is an experimental feature to evaluate feasibility, so the implementation is
+ * NOTE: THIS CLASS IS PURELY EXPERIMENTAL AND WILL BE REMOVED IN FUTURE ANDROID VERSIONS.
+ * DO NOT USE IT.
+ *
+ * "Component alias" allows an android manifest component (for now only broadcasts and services)
+ * to be defined in one android package while having the implementation in a different package.
+ *
+ * When/if this becomes a real feature, it will be most likely implemented very differently,
+ * which is why this shouldn't be used.
+ *
+ * For now, because this is an experimental feature to evaluate feasibility, the implementation is
* "quick & dirty". For example, to define aliases, we use a regular intent filter and meta-data
* in the manifest, instead of adding proper tags/attributes to AndroidManifest.xml.
*
- * Because it's an experimental feature, it can't be enabled on a user build.
+ * This feature is disabled by default.
*
- * Also, for now, aliases can be defined across any packages, but in the final version, there'll
- * be restrictions:
- * - We probably should only allow either privileged or preinstalled apps.
- * - Aliases can only be defined across packages that are atomically installed, and signed with the
- * same key.
+ * Also, for now, aliases can be defined across packages with different certificates, but
+ * in a final version this will most likely be tightened.
*/
public class ComponentAliasResolver {
private static final String TAG = "ComponentAliasResolver";
@@ -172,12 +179,17 @@
USE_EXPERIMENTAL_COMPONENT_ALIAS, "android", UserHandle.USER_SYSTEM));
if (enabled != mEnabled) {
Slog.i(TAG, (enabled ? "Enabling" : "Disabling") + " component aliases...");
- if (enabled) {
- mPackageMonitor.register(mAm.mContext, UserHandle.ALL,
- /* externalStorage= */ false, BackgroundThread.getHandler());
- } else {
- mPackageMonitor.unregister();
- }
+ FgThread.getHandler().post(() -> {
+ // Registering/unregistering a receiver internally takes the AM lock, but AM
+ // calls into this class while holding the AM lock. So do it on a handler to
+ // avoid deadlocks.
+ if (enabled) {
+ mPackageMonitor.register(mAm.mContext, UserHandle.ALL,
+ /* externalStorage= */ false, BackgroundThread.getHandler());
+ } else {
+ mPackageMonitor.unregister();
+ }
+ });
}
mEnabled = enabled;
mEnabledByDeviceConfig = enabledByDeviceConfig;
diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java
index 9f46bd6..3f00244 100644
--- a/services/core/java/com/android/server/clipboard/ClipboardService.java
+++ b/services/core/java/com/android/server/clipboard/ClipboardService.java
@@ -665,7 +665,7 @@
void setPrimaryClipInternal(PerUserClipboard clipboard, @Nullable ClipData clip,
int uid) {
- synchronized ("mLock") {
+ synchronized (mLock) {
setPrimaryClipInternalLocked(clipboard, clip, uid, null);
}
}
diff --git a/services/core/java/com/android/server/health/HealthRegCallbackAidl.java b/services/core/java/com/android/server/health/HealthRegCallbackAidl.java
index 629011a..90a2f48 100644
--- a/services/core/java/com/android/server/health/HealthRegCallbackAidl.java
+++ b/services/core/java/com/android/server/health/HealthRegCallbackAidl.java
@@ -115,5 +115,13 @@
public void healthInfoChanged(HealthInfo healthInfo) throws RemoteException {
mServiceInfoCallback.update(healthInfo);
}
+ @Override
+ public String getInterfaceHash() {
+ return IHealthInfoCallback.HASH;
+ }
+ @Override
+ public int getInterfaceVersion() {
+ return IHealthInfoCallback.VERSION;
+ }
}
}
diff --git a/services/core/java/com/android/server/locales/TEST_MAPPING b/services/core/java/com/android/server/locales/TEST_MAPPING
index 160542b..fd8cddc 100644
--- a/services/core/java/com/android/server/locales/TEST_MAPPING
+++ b/services/core/java/com/android/server/locales/TEST_MAPPING
@@ -10,10 +10,7 @@
},
{
"name": "CtsLocaleManagerHostTestCases"
- }
- ],
- "postsubmit": [
- // TODO(b/225192026): Move back to presubmit after b/225192026 is fixed
+ },
{
"name": "CtsLocaleManagerTestCases"
}
diff --git a/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java b/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java
index a1ee46b..acc0746 100644
--- a/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java
+++ b/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java
@@ -389,6 +389,15 @@
mCallback.handleTransactionResult(transactionId, success);
});
}
+ @Override
+ public String getInterfaceHash() {
+ return android.hardware.contexthub.IContextHubCallback.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return android.hardware.contexthub.IContextHubCallback.VERSION;
+ }
}
ContextHubWrapperAidl(android.hardware.contexthub.IContextHub hub) {
diff --git a/services/core/java/com/android/server/location/gnss/GnssConfiguration.java b/services/core/java/com/android/server/location/gnss/GnssConfiguration.java
index 5fe7710..12f8776 100644
--- a/services/core/java/com/android/server/location/gnss/GnssConfiguration.java
+++ b/services/core/java/com/android/server/location/gnss/GnssConfiguration.java
@@ -70,9 +70,14 @@
"USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL";
private static final String CONFIG_GPS_LOCK = "GPS_LOCK";
private static final String CONFIG_ES_EXTENSION_SEC = "ES_EXTENSION_SEC";
- public static final String CONFIG_NFW_PROXY_APPS = "NFW_PROXY_APPS";
- public static final String CONFIG_ENABLE_PSDS_PERIODIC_DOWNLOAD =
+ static final String CONFIG_NFW_PROXY_APPS = "NFW_PROXY_APPS";
+ private static final String CONFIG_ENABLE_PSDS_PERIODIC_DOWNLOAD =
"ENABLE_PSDS_PERIODIC_DOWNLOAD";
+ static final String CONFIG_LONGTERM_PSDS_SERVER_1 = "LONGTERM_PSDS_SERVER_1";
+ static final String CONFIG_LONGTERM_PSDS_SERVER_2 = "LONGTERM_PSDS_SERVER_2";
+ static final String CONFIG_LONGTERM_PSDS_SERVER_3 = "LONGTERM_PSDS_SERVER_3";
+ static final String CONFIG_NORMAL_PSDS_SERVER = "NORMAL_PSDS_SERVER";
+ static final String CONFIG_REALTIME_PSDS_SERVER = "REALTIME_PSDS_SERVER";
// Limit on NI emergency mode time extension after emergency sessions ends
private static final int MAX_EMERGENCY_MODE_EXTENSION_SECONDS = 300; // 5 minute maximum
@@ -202,6 +207,15 @@
}
/**
+ * Returns true if a long-term PSDS server is configured.
+ */
+ boolean isLongTermPsdsServerConfigured() {
+ return (mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_1) != null
+ || mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_2) != null
+ || mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_3) != null);
+ }
+
+ /**
* Updates the GNSS HAL satellite denylist.
*/
void setSatelliteBlocklist(int[] constellations, int[] svids) {
diff --git a/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java b/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java
index dae2fbb..ea99e79 100644
--- a/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java
@@ -1574,6 +1574,8 @@
pw.print(mGnssMetrics.dumpGnssMetricsAsText());
if (dumpAll) {
pw.println("mSupportsPsds=" + mSupportsPsds);
+ pw.println(
+ "PsdsServerConfigured=" + mGnssConfiguration.isLongTermPsdsServerConfigured());
pw.println("native internal state: ");
pw.println(" " + mGnssNative.getInternalState());
}
diff --git a/services/core/java/com/android/server/location/gnss/GnssManagerService.java b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
index 0f9945c..69385a9 100644
--- a/services/core/java/com/android/server/location/gnss/GnssManagerService.java
+++ b/services/core/java/com/android/server/location/gnss/GnssManagerService.java
@@ -319,7 +319,7 @@
}
if (mGnssAntennaInfoProvider.isSupported()) {
- ipw.println("Navigation Message Provider:");
+ ipw.println("Antenna Info Provider:");
ipw.increaseIndent();
ipw.println("Antenna Infos: " + mGnssAntennaInfoProvider.getAntennaInfos());
mGnssAntennaInfoProvider.dump(fd, ipw, args);
diff --git a/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java b/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java
index dce9a12..243910d 100644
--- a/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java
+++ b/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java
@@ -61,9 +61,12 @@
GnssPsdsDownloader(Properties properties) {
// read PSDS servers from the Properties object
int count = 0;
- String longTermPsdsServer1 = properties.getProperty("LONGTERM_PSDS_SERVER_1");
- String longTermPsdsServer2 = properties.getProperty("LONGTERM_PSDS_SERVER_2");
- String longTermPsdsServer3 = properties.getProperty("LONGTERM_PSDS_SERVER_3");
+ String longTermPsdsServer1 = properties.getProperty(
+ GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_1);
+ String longTermPsdsServer2 = properties.getProperty(
+ GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_2);
+ String longTermPsdsServer3 = properties.getProperty(
+ GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_3);
if (longTermPsdsServer1 != null) count++;
if (longTermPsdsServer2 != null) count++;
if (longTermPsdsServer3 != null) count++;
@@ -83,8 +86,10 @@
mNextServerIndex = random.nextInt(count);
}
- String normalPsdsServer = properties.getProperty("NORMAL_PSDS_SERVER");
- String realtimePsdsServer = properties.getProperty("REALTIME_PSDS_SERVER");
+ String normalPsdsServer = properties.getProperty(
+ GnssConfiguration.CONFIG_NORMAL_PSDS_SERVER);
+ String realtimePsdsServer = properties.getProperty(
+ GnssConfiguration.CONFIG_REALTIME_PSDS_SERVER);
mPsdsServers = new String[MAX_PSDS_TYPE_INDEX + 1];
mPsdsServers[NORMAL_PSDS_SERVER_INDEX] = normalPsdsServer;
mPsdsServers[REALTIME_PSDS_SERVER_INDEX] = realtimePsdsServer;
diff --git a/services/core/java/com/android/server/notification/BubbleExtractor.java b/services/core/java/com/android/server/notification/BubbleExtractor.java
index 41e067e..a561390 100644
--- a/services/core/java/com/android/server/notification/BubbleExtractor.java
+++ b/services/core/java/com/android/server/notification/BubbleExtractor.java
@@ -32,6 +32,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
+import android.content.res.Resources;
import android.util.Slog;
import com.android.internal.annotations.VisibleForTesting;
@@ -49,10 +50,15 @@
private ActivityManager mActivityManager;
private Context mContext;
+ boolean mSupportsBubble;
+
public void initialize(Context context, NotificationUsageStats usageStats) {
if (DBG) Slog.d(TAG, "Initializing " + getClass().getSimpleName() + ".");
mContext = context;
mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
+
+ mSupportsBubble = Resources.getSystem().getBoolean(
+ com.android.internal.R.bool.config_supportsBubble);
}
public RankingReconsideration process(NotificationRecord record) {
@@ -138,6 +144,10 @@
*/
@VisibleForTesting
boolean canPresentAsBubble(NotificationRecord r) {
+ if (!mSupportsBubble) {
+ return false;
+ }
+
Notification notification = r.getNotification();
Notification.BubbleMetadata metadata = notification.getBubbleMetadata();
String pkg = r.getSbn().getPackageName();
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index bbdea32..f979343 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -1348,14 +1348,14 @@
protected void calculateGrantableUris() {
final Notification notification = getNotification();
notification.visitUris((uri) -> {
- visitGrantableUri(uri, false);
+ visitGrantableUri(uri, false, false);
});
if (notification.getChannelId() != null) {
NotificationChannel channel = getChannel();
if (channel != null) {
visitGrantableUri(channel.getSound(), (channel.getUserLockedFields()
- & NotificationChannel.USER_LOCKED_SOUND) != 0);
+ & NotificationChannel.USER_LOCKED_SOUND) != 0, true);
}
}
}
@@ -1368,7 +1368,7 @@
* {@link #mGrantableUris}. Otherwise, this will either log or throw
* {@link SecurityException} depending on target SDK of enqueuing app.
*/
- private void visitGrantableUri(Uri uri, boolean userOverriddenUri) {
+ private void visitGrantableUri(Uri uri, boolean userOverriddenUri, boolean isSound) {
if (uri == null || !ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) return;
// We can't grant Uri permissions from system
@@ -1389,10 +1389,16 @@
mGrantableUris.add(uri);
} catch (SecurityException e) {
if (!userOverriddenUri) {
- if (mTargetSdkVersion >= Build.VERSION_CODES.P) {
- throw e;
+ if (isSound) {
+ mSound = Settings.System.DEFAULT_NOTIFICATION_URI;
+ Log.w(TAG, "Replacing " + uri + " from " + sourceUid + ": " + e.getMessage());
} else {
- Log.w(TAG, "Ignoring " + uri + " from " + sourceUid + ": " + e.getMessage());
+ if (mTargetSdkVersion >= Build.VERSION_CODES.P) {
+ throw e;
+ } else {
+ Log.w(TAG,
+ "Ignoring " + uri + " from " + sourceUid + ": " + e.getMessage());
+ }
}
}
} finally {
diff --git a/services/core/java/com/android/server/notification/PermissionHelper.java b/services/core/java/com/android/server/notification/PermissionHelper.java
index b4230c1..a09aa7c 100644
--- a/services/core/java/com/android/server/notification/PermissionHelper.java
+++ b/services/core/java/com/android/server/notification/PermissionHelper.java
@@ -55,8 +55,10 @@
private final PermissionManagerServiceInternal mPmi;
private final IPackageManager mPackageManager;
private final IPermissionManager mPermManager;
- // TODO (b/194833441): Remove when the migration is enabled
+ // TODO (b/194833441): Remove this boolean (but keep the isMigrationEnabled() method)
+ // when the migration is enabled
private final boolean mMigrationEnabled;
+ private final boolean mIsTv;
private final boolean mForceUserSetOnUpgrade;
public PermissionHelper(PermissionManagerServiceInternal pmi, IPackageManager packageManager,
@@ -67,10 +69,17 @@
mPermManager = permManager;
mMigrationEnabled = migrationEnabled;
mForceUserSetOnUpgrade = forceUserSetOnUpgrade;
+ boolean isTv;
+ try {
+ isTv = mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK, 0);
+ } catch (RemoteException e) {
+ isTv = false;
+ }
+ mIsTv = isTv;
}
public boolean isMigrationEnabled() {
- return mMigrationEnabled;
+ return mMigrationEnabled && !mIsTv;
}
/**
diff --git a/services/core/java/com/android/server/pm/AppsFilterImpl.java b/services/core/java/com/android/server/pm/AppsFilterImpl.java
index 5865adb..b4ddda5 100644
--- a/services/core/java/com/android/server/pm/AppsFilterImpl.java
+++ b/services/core/java/com/android/server/pm/AppsFilterImpl.java
@@ -76,6 +76,7 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Set;
@@ -102,6 +103,7 @@
* application B is implicitly allowed to query for application A; regardless of any manifest
* entries.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedSparseSetArray<Integer> mImplicitlyQueryable;
private final SnapshotCache<WatchedSparseSetArray<Integer>> mImplicitQueryableSnapshot;
@@ -111,6 +113,7 @@
* interacted with it, but could keep across package updates. For example, if application A
* grants persistable uri permission to application B; regardless of any manifest entries.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedSparseSetArray<Integer> mRetainedImplicitlyQueryable;
private final SnapshotCache<WatchedSparseSetArray<Integer>>
@@ -120,6 +123,7 @@
* A mapping from the set of App IDs that query other App IDs via package name to the
* list of packages that they can see.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedSparseSetArray<Integer> mQueriesViaPackage;
private final SnapshotCache<WatchedSparseSetArray<Integer>> mQueriesViaPackageSnapshot;
@@ -128,6 +132,7 @@
* A mapping from the set of App IDs that query others via component match to the list
* of packages that the they resolve to.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedSparseSetArray<Integer> mQueriesViaComponent;
private final SnapshotCache<WatchedSparseSetArray<Integer>> mQueriesViaComponentSnapshot;
@@ -136,6 +141,7 @@
* A mapping from the set of App IDs that query other App IDs via library name to the
* list of packages that they can see.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedSparseSetArray<Integer> mQueryableViaUsesLibrary;
private final SnapshotCache<WatchedSparseSetArray<Integer>> mQueryableViaUsesLibrarySnapshot;
@@ -158,6 +164,7 @@
* A set of App IDs that are always queryable by any package, regardless of their manifest
* content.
*/
+ @GuardedBy("mLock")
@Watched
private final WatchedArraySet<Integer> mForceQueryable;
private final SnapshotCache<WatchedArraySet<Integer>> mForceQueryableSnapshot;
@@ -173,9 +180,9 @@
private final FeatureConfig mFeatureConfig;
private final OverlayReferenceMapper mOverlayReferenceMapper;
private final StateProvider mStateProvider;
- private final PackageManagerInternal mPmInternal;
private SigningDetails mSystemSigningDetails;
+ @GuardedBy("mLock")
@Watched
private final WatchedArrayList<String> mProtectedBroadcasts;
private final SnapshotCache<WatchedArrayList<String>> mProtectedBroadcastsSnapshot;
@@ -197,6 +204,11 @@
private volatile boolean mSystemReady = false;
/**
+ * Guards the accesses for the list/set fields except for {@link #mShouldFilterCache}
+ */
+ private final Object mLock = new Object();
+
+ /**
* A cached snapshot.
*/
private final SnapshotCache<AppsFilterImpl> mSnapshot;
@@ -284,15 +296,13 @@
String[] forceQueryableList,
boolean systemAppsQueryable,
@Nullable OverlayReferenceMapper.Provider overlayProvider,
- Executor backgroundExecutor,
- PackageManagerInternal pmInternal) {
+ Executor backgroundExecutor) {
mFeatureConfig = featureConfig;
mForceQueryableByDevicePackageNames = forceQueryableList;
mSystemAppsQueryable = systemAppsQueryable;
mOverlayReferenceMapper = new OverlayReferenceMapper(true /*deferRebuild*/,
overlayProvider);
mStateProvider = stateProvider;
- mPmInternal = pmInternal;
mBackgroundExecutor = backgroundExecutor;
mShouldFilterCache = new WatchedSparseBooleanMatrix();
mShouldFilterCacheSnapshot = new SnapshotCache.Auto<>(
@@ -330,20 +340,22 @@
* The copy constructor is used by PackageManagerService to construct a snapshot.
*/
private AppsFilterImpl(AppsFilterImpl orig) {
- mImplicitlyQueryable = orig.mImplicitQueryableSnapshot.snapshot();
- mImplicitQueryableSnapshot = new SnapshotCache.Sealed<>();
- mRetainedImplicitlyQueryable = orig.mRetainedImplicitlyQueryableSnapshot.snapshot();
- mRetainedImplicitlyQueryableSnapshot = new SnapshotCache.Sealed<>();
- mQueriesViaPackage = orig.mQueriesViaPackageSnapshot.snapshot();
- mQueriesViaPackageSnapshot = new SnapshotCache.Sealed<>();
- mQueriesViaComponent = orig.mQueriesViaComponentSnapshot.snapshot();
- mQueriesViaComponentSnapshot = new SnapshotCache.Sealed<>();
- mQueryableViaUsesLibrary = orig.mQueryableViaUsesLibrarySnapshot.snapshot();
- mQueryableViaUsesLibrarySnapshot = new SnapshotCache.Sealed<>();
- mForceQueryable = orig.mForceQueryableSnapshot.snapshot();
- mForceQueryableSnapshot = new SnapshotCache.Sealed<>();
- mProtectedBroadcasts = orig.mProtectedBroadcastsSnapshot.snapshot();
- mProtectedBroadcastsSnapshot = new SnapshotCache.Sealed<>();
+ synchronized (orig.mLock) {
+ mImplicitlyQueryable = orig.mImplicitQueryableSnapshot.snapshot();
+ mImplicitQueryableSnapshot = new SnapshotCache.Sealed<>();
+ mRetainedImplicitlyQueryable = orig.mRetainedImplicitlyQueryableSnapshot.snapshot();
+ mRetainedImplicitlyQueryableSnapshot = new SnapshotCache.Sealed<>();
+ mQueriesViaPackage = orig.mQueriesViaPackageSnapshot.snapshot();
+ mQueriesViaPackageSnapshot = new SnapshotCache.Sealed<>();
+ mQueriesViaComponent = orig.mQueriesViaComponentSnapshot.snapshot();
+ mQueriesViaComponentSnapshot = new SnapshotCache.Sealed<>();
+ mQueryableViaUsesLibrary = orig.mQueryableViaUsesLibrarySnapshot.snapshot();
+ mQueryableViaUsesLibrarySnapshot = new SnapshotCache.Sealed<>();
+ mForceQueryable = orig.mForceQueryableSnapshot.snapshot();
+ mForceQueryableSnapshot = new SnapshotCache.Sealed<>();
+ mProtectedBroadcasts = orig.mProtectedBroadcastsSnapshot.snapshot();
+ mProtectedBroadcastsSnapshot = new SnapshotCache.Sealed<>();
+ }
mQueriesViaComponentRequireRecompute = orig.mQueriesViaComponentRequireRecompute;
mForceQueryableByDevicePackageNames =
Arrays.copyOf(orig.mForceQueryableByDevicePackageNames,
@@ -359,7 +371,6 @@
}
mBackgroundExecutor = null;
- mPmInternal = null;
mSnapshot = new SnapshotCache.Sealed<>();
mSystemReady = true;
}
@@ -397,6 +408,7 @@
interface CurrentStateCallback {
void currentState(ArrayMap<String, ? extends PackageStateInternal> settings,
+ Collection<SharedUserSetting> sharedUserSettings,
UserInfo[] users);
}
}
@@ -588,12 +600,13 @@
final StateProvider stateProvider = command -> {
synchronized (injector.getLock()) {
command.currentState(injector.getSettings().getPackagesLocked().untrackedStorage(),
+ injector.getSettings().getAllSharedUsersLPw(),
injector.getUserManagerInternal().getUserInfos());
}
};
AppsFilterImpl appsFilter = new AppsFilterImpl(stateProvider, featureConfig,
forcedQueryablePackageNames, forceSystemAppsQueryable, null,
- injector.getBackgroundExecutor(), pmInt);
+ injector.getBackgroundExecutor());
featureConfig.setAppsFilter(appsFilter);
return appsFilter;
}
@@ -743,9 +756,11 @@
return false;
}
final boolean changed;
- changed = retainOnUpdate
- ? mRetainedImplicitlyQueryable.add(recipientUid, visibleUid)
- : mImplicitlyQueryable.add(recipientUid, visibleUid);
+ synchronized (mLock) {
+ changed = retainOnUpdate
+ ? mRetainedImplicitlyQueryable.add(recipientUid, visibleUid)
+ : mImplicitlyQueryable.add(recipientUid, visibleUid);
+ }
if (changed && DEBUG_LOGGING) {
Slog.i(TAG, (retainOnUpdate ? "retained " : "") + "implicit access granted: "
+ recipientUid + " -> " + visibleUid);
@@ -788,7 +803,7 @@
// let's first remove any prior rules for this package
removePackage(newPkgSetting, true /*isReplace*/);
}
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
ArraySet<String> additionalChangedPackages =
addPackageInternal(newPkgSetting, settings);
if (mSystemReady) {
@@ -806,9 +821,8 @@
continue;
}
- updateShouldFilterCacheForPackage(null,
- changedPkgSetting, settings, users, USER_ALL,
- settings.size());
+ updateShouldFilterCacheForPackage(null, changedPkgSetting,
+ settings, users, USER_ALL, settings.size());
}
}
} // else, rebuild entire cache when system is ready
@@ -835,7 +849,9 @@
// packages for signature matches
for (PackageStateInternal setting : existingSettings.values()) {
if (isSystemSigned(mSystemSigningDetails, setting)) {
- mForceQueryable.add(setting.getAppId());
+ synchronized (mLock) {
+ mForceQueryable.add(setting.getAppId());
+ }
}
}
}
@@ -845,75 +861,76 @@
return null;
}
- if (mProtectedBroadcasts.addAll(newPkg.getProtectedBroadcasts())) {
- mQueriesViaComponentRequireRecompute = true;
- }
+ synchronized (mLock) {
+ if (mProtectedBroadcasts.addAll(newPkg.getProtectedBroadcasts())) {
+ mQueriesViaComponentRequireRecompute = true;
+ }
- final boolean newIsForceQueryable =
- mForceQueryable.contains(newPkgSetting.getAppId())
- /* shared user that is already force queryable */
- || newPkgSetting.isForceQueryableOverride() /* adb override */
- || (newPkgSetting.isSystem() && (mSystemAppsQueryable
- || newPkg.isForceQueryable()
- || ArrayUtils.contains(mForceQueryableByDevicePackageNames,
- newPkg.getPackageName())));
- if (newIsForceQueryable
- || (mSystemSigningDetails != null
- && isSystemSigned(mSystemSigningDetails, newPkgSetting))) {
- mForceQueryable.add(newPkgSetting.getAppId());
- }
+ final boolean newIsForceQueryable =
+ mForceQueryable.contains(newPkgSetting.getAppId())
+ /* shared user that is already force queryable */
+ || newPkgSetting.isForceQueryableOverride() /* adb override */
+ || (newPkgSetting.isSystem() && (mSystemAppsQueryable
+ || newPkg.isForceQueryable()
+ || ArrayUtils.contains(mForceQueryableByDevicePackageNames,
+ newPkg.getPackageName())));
+ if (newIsForceQueryable
+ || (mSystemSigningDetails != null
+ && isSystemSigned(mSystemSigningDetails, newPkgSetting))) {
+ mForceQueryable.add(newPkgSetting.getAppId());
+ }
- for (int i = existingSettings.size() - 1; i >= 0; i--) {
- final PackageStateInternal existingSetting = existingSettings.valueAt(i);
- if (existingSetting.getAppId() == newPkgSetting.getAppId()
- || existingSetting.getPkg()
- == null) {
- continue;
- }
- final AndroidPackage existingPkg = existingSetting.getPkg();
- // let's evaluate the ability of already added packages to see this new package
- if (!newIsForceQueryable) {
- if (!mQueriesViaComponentRequireRecompute && canQueryViaComponents(existingPkg,
- newPkg, mProtectedBroadcasts)) {
- mQueriesViaComponent.add(existingSetting.getAppId(),
- newPkgSetting.getAppId());
+ for (int i = existingSettings.size() - 1; i >= 0; i--) {
+ final PackageStateInternal existingSetting = existingSettings.valueAt(i);
+ if (existingSetting.getAppId() == newPkgSetting.getAppId()
+ || existingSetting.getPkg()
+ == null) {
+ continue;
}
- if (canQueryViaPackage(existingPkg, newPkg)
- || canQueryAsInstaller(existingSetting, newPkg)) {
- mQueriesViaPackage.add(existingSetting.getAppId(),
- newPkgSetting.getAppId());
+ final AndroidPackage existingPkg = existingSetting.getPkg();
+ // let's evaluate the ability of already added packages to see this new package
+ if (!newIsForceQueryable) {
+ if (!mQueriesViaComponentRequireRecompute && canQueryViaComponents(existingPkg,
+ newPkg, mProtectedBroadcasts)) {
+ mQueriesViaComponent.add(existingSetting.getAppId(),
+ newPkgSetting.getAppId());
+ }
+ if (canQueryViaPackage(existingPkg, newPkg)
+ || canQueryAsInstaller(existingSetting, newPkg)) {
+ mQueriesViaPackage.add(existingSetting.getAppId(),
+ newPkgSetting.getAppId());
+ }
+ if (canQueryViaUsesLibrary(existingPkg, newPkg)) {
+ mQueryableViaUsesLibrary.add(existingSetting.getAppId(),
+ newPkgSetting.getAppId());
+ }
}
- if (canQueryViaUsesLibrary(existingPkg, newPkg)) {
- mQueryableViaUsesLibrary.add(existingSetting.getAppId(),
- newPkgSetting.getAppId());
+ // now we'll evaluate our new package's ability to see existing packages
+ if (!mForceQueryable.contains(existingSetting.getAppId())) {
+ if (!mQueriesViaComponentRequireRecompute && canQueryViaComponents(newPkg,
+ existingPkg, mProtectedBroadcasts)) {
+ mQueriesViaComponent.add(newPkgSetting.getAppId(),
+ existingSetting.getAppId());
+ }
+ if (canQueryViaPackage(newPkg, existingPkg)
+ || canQueryAsInstaller(newPkgSetting, existingPkg)) {
+ mQueriesViaPackage.add(newPkgSetting.getAppId(),
+ existingSetting.getAppId());
+ }
+ if (canQueryViaUsesLibrary(newPkg, existingPkg)) {
+ mQueryableViaUsesLibrary.add(newPkgSetting.getAppId(),
+ existingSetting.getAppId());
+ }
}
- }
- // now we'll evaluate our new package's ability to see existing packages
- if (!mForceQueryable.contains(existingSetting.getAppId())) {
- if (!mQueriesViaComponentRequireRecompute && canQueryViaComponents(newPkg,
- existingPkg, mProtectedBroadcasts)) {
- mQueriesViaComponent.add(newPkgSetting.getAppId(),
- existingSetting.getAppId());
+ // if either package instruments the other, mark both as visible to one another
+ if (newPkgSetting.getPkg() != null && existingSetting.getPkg() != null
+ && (pkgInstruments(newPkgSetting.getPkg(), existingSetting.getPkg())
+ || pkgInstruments(existingSetting.getPkg(), newPkgSetting.getPkg()))) {
+ mQueriesViaPackage.add(newPkgSetting.getAppId(), existingSetting.getAppId());
+ mQueriesViaPackage.add(existingSetting.getAppId(), newPkgSetting.getAppId());
}
- if (canQueryViaPackage(newPkg, existingPkg)
- || canQueryAsInstaller(newPkgSetting, existingPkg)) {
- mQueriesViaPackage.add(newPkgSetting.getAppId(),
- existingSetting.getAppId());
- }
- if (canQueryViaUsesLibrary(newPkg, existingPkg)) {
- mQueryableViaUsesLibrary.add(newPkgSetting.getAppId(),
- existingSetting.getAppId());
- }
- }
- // if either package instruments the other, mark both as visible to one another
- if (newPkgSetting.getPkg() != null && existingSetting.getPkg() != null
- && (pkgInstruments(newPkgSetting.getPkg(), existingSetting.getPkg())
- || pkgInstruments(existingSetting.getPkg(), newPkgSetting.getPkg()))) {
- mQueriesViaPackage.add(newPkgSetting.getAppId(), existingSetting.getAppId());
- mQueriesViaPackage.add(existingSetting.getAppId(), newPkgSetting.getAppId());
}
}
-
int existingSize = existingSettings.size();
ArrayMap<String, AndroidPackage> existingPkgs = new ArrayMap<>(existingSize);
for (int index = 0; index < existingSize; index++) {
@@ -954,7 +971,7 @@
}
private void updateEntireShouldFilterCache(int subjectUserId) {
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
int userId = USER_NULL;
for (int u = 0; u < users.length; u++) {
if (subjectUserId == users[u].id) {
@@ -972,7 +989,8 @@
}
private void updateEntireShouldFilterCacheInner(
- ArrayMap<String, ? extends PackageStateInternal> settings, UserInfo[] users,
+ ArrayMap<String, ? extends PackageStateInternal> settings,
+ UserInfo[] users,
int subjectUserId) {
synchronized (mCacheLock) {
if (subjectUserId == USER_ALL) {
@@ -982,16 +1000,19 @@
}
for (int i = settings.size() - 1; i >= 0; i--) {
updateShouldFilterCacheForPackage(
- null /*skipPackage*/, settings.valueAt(i), settings, users, subjectUserId, i);
+ null /*skipPackage*/, settings.valueAt(i), settings, users,
+ subjectUserId, i);
}
}
private void updateEntireShouldFilterCacheAsync() {
mBackgroundExecutor.execute(() -> {
final ArrayMap<String, PackageStateInternal> settingsCopy = new ArrayMap<>();
+ final Collection<SharedUserSetting> sharedUserSettingsCopy =
+ new ArraySet<SharedUserSetting>();
final ArrayMap<String, AndroidPackage> packagesCache = new ArrayMap<>();
final UserInfo[][] usersRef = new UserInfo[1][];
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
packagesCache.ensureCapacity(settings.size());
settingsCopy.putAll(settings);
usersRef[0] = users;
@@ -1001,11 +1022,12 @@
final AndroidPackage pkg = settings.valueAt(i).getPkg();
packagesCache.put(settings.keyAt(i), pkg);
}
+ sharedUserSettingsCopy.addAll(sharedUserSettings);
});
boolean[] changed = new boolean[1];
// We have a cache, let's make sure the world hasn't changed out from under us.
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
if (settings.size() != settingsCopy.size()) {
changed[0] = true;
return;
@@ -1025,7 +1047,8 @@
Slog.i(TAG, "Rebuilding cache with lock due to package change.");
}
} else {
- updateEntireShouldFilterCacheInner(settingsCopy, usersRef[0], USER_ALL);
+ updateEntireShouldFilterCacheInner(settingsCopy,
+ usersRef[0], USER_ALL);
}
});
}
@@ -1047,7 +1070,7 @@
}
private void updateShouldFilterCacheForPackage(String packageName) {
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
if (!mSystemReady) {
return;
}
@@ -1134,16 +1157,18 @@
private void collectProtectedBroadcasts(
ArrayMap<String, ? extends PackageStateInternal> existingSettings,
@Nullable String excludePackage) {
- mProtectedBroadcasts.clear();
- for (int i = existingSettings.size() - 1; i >= 0; i--) {
- PackageStateInternal setting = existingSettings.valueAt(i);
- if (setting.getPkg() == null || setting.getPkg().getPackageName().equals(
- excludePackage)) {
- continue;
- }
- final List<String> protectedBroadcasts = setting.getPkg().getProtectedBroadcasts();
- if (!protectedBroadcasts.isEmpty()) {
- mProtectedBroadcasts.addAll(protectedBroadcasts);
+ synchronized (mLock) {
+ mProtectedBroadcasts.clear();
+ for (int i = existingSettings.size() - 1; i >= 0; i--) {
+ PackageStateInternal setting = existingSettings.valueAt(i);
+ if (setting.getPkg() == null || setting.getPkg().getPackageName().equals(
+ excludePackage)) {
+ continue;
+ }
+ final List<String> protectedBroadcasts = setting.getPkg().getProtectedBroadcasts();
+ if (!protectedBroadcasts.isEmpty()) {
+ mProtectedBroadcasts.addAll(protectedBroadcasts);
+ }
}
}
}
@@ -1154,24 +1179,26 @@
*/
private void recomputeComponentVisibility(
ArrayMap<String, ? extends PackageStateInternal> existingSettings) {
- mQueriesViaComponent.clear();
- for (int i = existingSettings.size() - 1; i >= 0; i--) {
- PackageStateInternal setting = existingSettings.valueAt(i);
- if (setting.getPkg() == null || requestsQueryAllPackages(setting.getPkg())) {
- continue;
- }
- for (int j = existingSettings.size() - 1; j >= 0; j--) {
- if (i == j) {
+ synchronized (mLock) {
+ mQueriesViaComponent.clear();
+ for (int i = existingSettings.size() - 1; i >= 0; i--) {
+ PackageStateInternal setting = existingSettings.valueAt(i);
+ if (setting.getPkg() == null || requestsQueryAllPackages(setting.getPkg())) {
continue;
}
- final PackageStateInternal otherSetting = existingSettings.valueAt(j);
- if (otherSetting.getPkg() == null || mForceQueryable.contains(
- otherSetting.getAppId())) {
- continue;
- }
- if (canQueryViaComponents(setting.getPkg(), otherSetting.getPkg(),
- mProtectedBroadcasts)) {
- mQueriesViaComponent.add(setting.getAppId(), otherSetting.getAppId());
+ for (int j = existingSettings.size() - 1; j >= 0; j--) {
+ if (i == j) {
+ continue;
+ }
+ final PackageStateInternal otherSetting = existingSettings.valueAt(j);
+ if (otherSetting.getPkg() == null || mForceQueryable.contains(
+ otherSetting.getAppId())) {
+ continue;
+ }
+ if (canQueryViaComponents(setting.getPkg(), otherSetting.getPkg(),
+ mProtectedBroadcasts)) {
+ mQueriesViaComponent.add(setting.getAppId(), otherSetting.getAppId());
+ }
}
}
}
@@ -1185,8 +1212,10 @@
@Nullable
public SparseArray<int[]> getVisibilityAllowList(PackageStateInternal setting, int[] users,
ArrayMap<String, ? extends PackageStateInternal> existingSettings) {
- if (mForceQueryable.contains(setting.getAppId())) {
- return null;
+ synchronized (mLock) {
+ if (mForceQueryable.contains(setting.getAppId())) {
+ return null;
+ }
}
// let's reserve max memory to limit the number of allocations
SparseArray<int[]> result = new SparseArray<>(users.length);
@@ -1249,57 +1278,59 @@
* @param isReplace if the package is being replaced.
*/
public void removePackage(PackageStateInternal setting, boolean isReplace) {
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
final ArraySet<String> additionalChangedPackages;
final int userCount = users.length;
- for (int u = 0; u < userCount; u++) {
- final int userId = users[u].id;
- final int removingUid = UserHandle.getUid(userId, setting.getAppId());
- mImplicitlyQueryable.remove(removingUid);
- for (int i = mImplicitlyQueryable.size() - 1; i >= 0; i--) {
- mImplicitlyQueryable.remove(mImplicitlyQueryable.keyAt(i),
- removingUid);
+ synchronized (mLock) {
+ for (int u = 0; u < userCount; u++) {
+ final int userId = users[u].id;
+ final int removingUid = UserHandle.getUid(userId, setting.getAppId());
+ mImplicitlyQueryable.remove(removingUid);
+ for (int i = mImplicitlyQueryable.size() - 1; i >= 0; i--) {
+ mImplicitlyQueryable.remove(mImplicitlyQueryable.keyAt(i),
+ removingUid);
+ }
+
+ if (isReplace) {
+ continue;
+ }
+
+ mRetainedImplicitlyQueryable.remove(removingUid);
+ for (int i = mRetainedImplicitlyQueryable.size() - 1; i >= 0; i--) {
+ mRetainedImplicitlyQueryable.remove(
+ mRetainedImplicitlyQueryable.keyAt(i), removingUid);
+ }
}
- if (isReplace) {
- continue;
+ if (!mQueriesViaComponentRequireRecompute) {
+ mQueriesViaComponent.remove(setting.getAppId());
+ for (int i = mQueriesViaComponent.size() - 1; i >= 0; i--) {
+ mQueriesViaComponent.remove(mQueriesViaComponent.keyAt(i),
+ setting.getAppId());
+ }
}
-
- mRetainedImplicitlyQueryable.remove(removingUid);
- for (int i = mRetainedImplicitlyQueryable.size() - 1; i >= 0; i--) {
- mRetainedImplicitlyQueryable.remove(
- mRetainedImplicitlyQueryable.keyAt(i), removingUid);
- }
- }
-
- if (!mQueriesViaComponentRequireRecompute) {
- mQueriesViaComponent.remove(setting.getAppId());
- for (int i = mQueriesViaComponent.size() - 1; i >= 0; i--) {
- mQueriesViaComponent.remove(mQueriesViaComponent.keyAt(i),
+ mQueriesViaPackage.remove(setting.getAppId());
+ for (int i = mQueriesViaPackage.size() - 1; i >= 0; i--) {
+ mQueriesViaPackage.remove(mQueriesViaPackage.keyAt(i),
setting.getAppId());
}
- }
- mQueriesViaPackage.remove(setting.getAppId());
- for (int i = mQueriesViaPackage.size() - 1; i >= 0; i--) {
- mQueriesViaPackage.remove(mQueriesViaPackage.keyAt(i),
- setting.getAppId());
- }
- mQueryableViaUsesLibrary.remove(setting.getAppId());
- for (int i = mQueryableViaUsesLibrary.size() - 1; i >= 0; i--) {
- mQueryableViaUsesLibrary.remove(mQueryableViaUsesLibrary.keyAt(i),
- setting.getAppId());
- }
+ mQueryableViaUsesLibrary.remove(setting.getAppId());
+ for (int i = mQueryableViaUsesLibrary.size() - 1; i >= 0; i--) {
+ mQueryableViaUsesLibrary.remove(mQueryableViaUsesLibrary.keyAt(i),
+ setting.getAppId());
+ }
- mForceQueryable.remove(setting.getAppId());
+ mForceQueryable.remove(setting.getAppId());
- if (setting.getPkg() != null
- && !setting.getPkg().getProtectedBroadcasts().isEmpty()) {
- final String removingPackageName = setting.getPkg().getPackageName();
- final ArrayList<String> protectedBroadcasts = new ArrayList<>();
- protectedBroadcasts.addAll(mProtectedBroadcasts.untrackedStorage());
- collectProtectedBroadcasts(settings, removingPackageName);
- if (!mProtectedBroadcasts.containsAll(protectedBroadcasts)) {
- mQueriesViaComponentRequireRecompute = true;
+ if (setting.getPkg() != null
+ && !setting.getPkg().getProtectedBroadcasts().isEmpty()) {
+ final String removingPackageName = setting.getPkg().getPackageName();
+ final ArrayList<String> protectedBroadcasts = new ArrayList<>();
+ protectedBroadcasts.addAll(mProtectedBroadcasts.untrackedStorage());
+ collectProtectedBroadcasts(settings, removingPackageName);
+ if (!mProtectedBroadcasts.containsAll(protectedBroadcasts)) {
+ mQueriesViaComponentRequireRecompute = true;
+ }
}
}
@@ -1314,8 +1345,8 @@
// update the
// cache
if (setting.hasSharedUser()) {
- final ArraySet<PackageStateInternal> sharedUserPackages =
- mPmInternal.getSharedUserPackages(setting.getSharedUserAppId());
+ final ArraySet<? extends PackageStateInternal> sharedUserPackages =
+ getSharedUserPackages(setting.getSharedUserAppId(), sharedUserSettings);
for (int i = sharedUserPackages.size() - 1; i >= 0; i--) {
if (sharedUserPackages.valueAt(i) == setting) {
continue;
@@ -1327,8 +1358,8 @@
removeAppIdFromVisibilityCache(setting.getAppId());
if (mSystemReady && setting.hasSharedUser()) {
- final ArraySet<PackageStateInternal> sharedUserPackages =
- mPmInternal.getSharedUserPackages(setting.getSharedUserAppId());
+ final ArraySet<? extends PackageStateInternal> sharedUserPackages =
+ getSharedUserPackages(setting.getSharedUserAppId(), sharedUserSettings);
for (int i = sharedUserPackages.size() - 1; i >= 0; i--) {
PackageStateInternal siblingSetting =
sharedUserPackages.valueAt(i);
@@ -1336,8 +1367,8 @@
continue;
}
updateShouldFilterCacheForPackage(
- setting.getPackageName(), siblingSetting, settings, users,
- USER_ALL, settings.size());
+ setting.getPackageName(), siblingSetting, settings,
+ users, USER_ALL, settings.size());
}
}
@@ -1353,8 +1384,8 @@
continue;
}
- updateShouldFilterCacheForPackage(null,
- changedPkgSetting, settings, users, USER_ALL, settings.size());
+ updateShouldFilterCacheForPackage(null, changedPkgSetting,
+ settings, users, USER_ALL, settings.size());
}
}
}
@@ -1363,6 +1394,17 @@
});
}
+ private ArraySet<? extends PackageStateInternal> getSharedUserPackages(int sharedUserAppId,
+ Collection<SharedUserSetting> sharedUserSettings) {
+ for (SharedUserSetting setting : sharedUserSettings) {
+ if (setting.mAppId != sharedUserAppId) {
+ continue;
+ }
+ return setting.getPackageStates();
+ }
+ return new ArraySet<>();
+ }
+
/**
* See
* {@link AppsFilterSnapshot#shouldFilterApplication(int, Object, PackageStateInternal,
@@ -1441,23 +1483,25 @@
return true;
}
final PackageStateInternal callingPkgSetting;
- final ArraySet<? extends PackageStateInternal> callingSharedPkgSettings;
if (DEBUG_TRACING) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "callingSetting instanceof");
}
+ final ArraySet<PackageStateInternal> callingSharedPkgSettings = new ArraySet<>();
+
if (callingSetting instanceof PackageStateInternal) {
final PackageStateInternal packageState = (PackageStateInternal) callingSetting;
if (packageState.hasSharedUser()) {
callingPkgSetting = null;
- callingSharedPkgSettings = mPmInternal.getSharedUserPackages(
- packageState.getSharedUserAppId());
+ mStateProvider.runWithState((settings, sharedUserSettings, users) ->
+ callingSharedPkgSettings.addAll(getSharedUserPackages(
+ packageState.getSharedUserAppId(), sharedUserSettings)));
} else {
callingPkgSetting = packageState;
- callingSharedPkgSettings = null;
}
} else {
callingPkgSetting = null;
- callingSharedPkgSettings = ((SharedUserSetting) callingSetting).getPackageStates();
+ callingSharedPkgSettings.addAll(
+ ((SharedUserSetting) callingSetting).getPackageStates());
}
if (DEBUG_TRACING) {
Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
@@ -1545,11 +1589,13 @@
if (DEBUG_TRACING) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mForceQueryable");
}
- if (mForceQueryable.contains(targetAppId)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting, "force queryable");
+ synchronized (mLock) {
+ if (mForceQueryable.contains(targetAppId)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting, "force queryable");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1560,11 +1606,13 @@
if (DEBUG_TRACING) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mQueriesViaPackage");
}
- if (mQueriesViaPackage.contains(callingAppId, targetAppId)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting, "queries package");
+ synchronized (mLock) {
+ if (mQueriesViaPackage.contains(callingAppId, targetAppId)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting, "queries package");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1576,15 +1624,17 @@
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mQueriesViaComponent");
}
if (mQueriesViaComponentRequireRecompute) {
- mStateProvider.runWithState((settings, users) -> {
+ mStateProvider.runWithState((settings, sharedUserSettings, users) -> {
recomputeComponentVisibility(settings);
});
}
- if (mQueriesViaComponent.contains(callingAppId, targetAppId)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting, "queries component");
+ synchronized (mLock) {
+ if (mQueriesViaComponent.contains(callingAppId, targetAppId)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting, "queries component");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1597,11 +1647,13 @@
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mImplicitlyQueryable");
}
final int targetUid = UserHandle.getUid(targetUserId, targetAppId);
- if (mImplicitlyQueryable.contains(callingUid, targetUid)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting, "implicitly queryable for user");
+ synchronized (mLock) {
+ if (mImplicitlyQueryable.contains(callingUid, targetUid)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting, "implicitly queryable for user");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1614,12 +1666,14 @@
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mRetainedImplicitlyQueryable");
}
final int targetUid = UserHandle.getUid(targetUserId, targetAppId);
- if (mRetainedImplicitlyQueryable.contains(callingUid, targetUid)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting,
- "retained implicitly queryable for user");
+ synchronized (mLock) {
+ if (mRetainedImplicitlyQueryable.contains(callingUid, targetUid)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting,
+ "retained implicitly queryable for user");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1632,7 +1686,7 @@
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mOverlayReferenceMapper");
}
final String targetName = targetPkg.getPackageName();
- if (callingSharedPkgSettings != null) {
+ if (!callingSharedPkgSettings.isEmpty()) {
int size = callingSharedPkgSettings.size();
for (int index = 0; index < size; index++) {
PackageStateInternal pkgSetting = callingSharedPkgSettings.valueAt(index);
@@ -1665,11 +1719,13 @@
if (DEBUG_TRACING) {
Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "mQueryableViaUsesLibrary");
}
- if (mQueryableViaUsesLibrary.contains(callingAppId, targetAppId)) {
- if (DEBUG_LOGGING) {
- log(callingSetting, targetPkgSetting, "queryable for library users");
+ synchronized (mLock) {
+ if (mQueryableViaUsesLibrary.contains(callingAppId, targetAppId)) {
+ if (DEBUG_LOGGING) {
+ log(callingSetting, targetPkgSetting, "queryable for library users");
+ }
+ return false;
}
- return false;
}
} finally {
if (DEBUG_TRACING) {
@@ -1785,23 +1841,25 @@
pw.println(" system apps queryable: " + mSystemAppsQueryable);
dumpPackageSet(pw, filteringAppId, mForceQueryable.untrackedStorage(),
"forceQueryable", " ", expandPackages);
- pw.println(" queries via package name:");
- dumpQueriesMap(pw, filteringAppId, mQueriesViaPackage, " ", expandPackages);
- pw.println(" queries via component:");
- dumpQueriesMap(pw, filteringAppId, mQueriesViaComponent, " ", expandPackages);
- pw.println(" queryable via interaction:");
- for (int user : users) {
- pw.append(" User ").append(Integer.toString(user)).println(":");
- dumpQueriesMap(pw,
- filteringAppId == null ? null : UserHandle.getUid(user, filteringAppId),
- mImplicitlyQueryable, " ", expandPackages);
- dumpQueriesMap(pw,
- filteringAppId == null ? null : UserHandle.getUid(user, filteringAppId),
- mRetainedImplicitlyQueryable, " ", expandPackages);
+ synchronized (mLock) {
+ pw.println(" queries via package name:");
+ dumpQueriesMap(pw, filteringAppId, mQueriesViaPackage, " ", expandPackages);
+ pw.println(" queries via component:");
+ dumpQueriesMap(pw, filteringAppId, mQueriesViaComponent, " ", expandPackages);
+ pw.println(" queryable via interaction:");
+ for (int user : users) {
+ pw.append(" User ").append(Integer.toString(user)).println(":");
+ dumpQueriesMap(pw,
+ filteringAppId == null ? null : UserHandle.getUid(user, filteringAppId),
+ mImplicitlyQueryable, " ", expandPackages);
+ dumpQueriesMap(pw,
+ filteringAppId == null ? null : UserHandle.getUid(user, filteringAppId),
+ mRetainedImplicitlyQueryable, " ", expandPackages);
+ }
+ pw.println(" queryable via uses-library:");
+ dumpQueriesMap(pw, filteringAppId, mQueryableViaUsesLibrary, " ",
+ expandPackages);
}
- pw.println(" queryable via uses-library:");
- dumpQueriesMap(pw, filteringAppId, mQueryableViaUsesLibrary, " ",
- expandPackages);
}
private static void dumpQueriesMap(PrintWriter pw, @Nullable Integer filteringId,
diff --git a/services/core/java/com/android/server/pm/Computer.java b/services/core/java/com/android/server/pm/Computer.java
index c259797..1bce0cd 100644
--- a/services/core/java/com/android/server/pm/Computer.java
+++ b/services/core/java/com/android/server/pm/Computer.java
@@ -440,10 +440,6 @@
boolean getBlockUninstallForUser(@NonNull String packageName, @UserIdInt int userId);
@Nullable
- SparseArray<int[]> getBroadcastAllowList(@NonNull String packageName, @UserIdInt int[] userIds,
- boolean isInstantApp);
-
- @Nullable
String getInstallerPackageName(@NonNull String packageName);
@Nullable
@@ -479,6 +475,16 @@
boolean isPackageSignedByKeySetExactly(@NonNull String packageName, @NonNull KeySet ks);
+ /**
+ * See {@link AppsFilterSnapshot#getVisibilityAllowList(PackageStateInternal, int[], ArrayMap)}
+ */
+ @Nullable
+ SparseArray<int[]> getVisibilityAllowLists(@NonNull String packageName,
+ @UserIdInt int[] userIds);
+
+ /**
+ * See {@link AppsFilterSnapshot#getVisibilityAllowList(PackageStateInternal, int[], ArrayMap)}
+ */
@Nullable
int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId);
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
index a548b72..ed1be24 100644
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
@@ -5026,20 +5026,6 @@
@Nullable
@Override
- public SparseArray<int[]> getBroadcastAllowList(@NonNull String packageName,
- @UserIdInt int[] userIds, boolean isInstantApp) {
- if (isInstantApp) {
- return null;
- }
- PackageStateInternal setting = getPackageStateInternal(packageName, Process.SYSTEM_UID);
- if (setting == null) {
- return null;
- }
- return mAppsFilter.getVisibilityAllowList(setting, userIds, getPackageStates());
- }
-
- @Nullable
- @Override
public String getInstallerPackageName(@NonNull String packageName) {
final int callingUid = Binder.getCallingUid();
final InstallSource installSource = getInstallSource(packageName, callingUid);
@@ -5316,14 +5302,21 @@
@Nullable
@Override
- public int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId) {
+ public SparseArray<int[]> getVisibilityAllowLists(@NonNull String packageName,
+ @UserIdInt int[] userIds) {
final PackageStateInternal ps =
getPackageStateInternal(packageName, Process.SYSTEM_UID);
if (ps == null) {
return null;
}
- final SparseArray<int[]> visibilityAllowList = mAppsFilter.getVisibilityAllowList(ps,
- new int[]{userId}, getPackageStates());
+ return mAppsFilter.getVisibilityAllowList(ps, userIds, getPackageStates());
+ }
+
+ @Nullable
+ @Override
+ public int[] getVisibilityAllowList(@NonNull String packageName, @UserIdInt int userId) {
+ final SparseArray<int[]> visibilityAllowList = getVisibilityAllowLists(packageName,
+ new int[]{userId});
return visibilityAllowList != null ? visibilityAllowList.get(userId) : null;
}
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 8e13017..b3b9846 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -2872,8 +2872,9 @@
synchronized (mLock) {
mPackageUsage.writeNow(mSettings.getPackagesLocked());
- if (mHandler.hasMessages(WRITE_SETTINGS)) {
- mHandler.removeMessages(WRITE_SETTINGS);
+ if (mHandler.hasMessages(WRITE_SETTINGS)
+ || mHandler.hasMessages(WRITE_PACKAGE_RESTRICTIONS)
+ || mHandler.hasMessages(WRITE_PACKAGE_LIST)) {
writeSettings();
}
}
@@ -3936,8 +3937,8 @@
snapshot.isInstantAppInternal(packageName, userId, Process.SYSTEM_UID);
final int[] userIds = isInstantApp ? EMPTY_INT_ARRAY : new int[] { userId };
final int[] instantUserIds = isInstantApp ? new int[] { userId } : EMPTY_INT_ARRAY;
- final SparseArray<int[]> broadcastAllowList = snapshot.getBroadcastAllowList(
- packageName, userIds, isInstantApp);
+ final SparseArray<int[]> broadcastAllowList =
+ isInstantApp ? null : snapshot.getVisibilityAllowLists(packageName, userIds);
mHandler.post(() -> mBroadcastHelper.sendPackageChangedBroadcast(
packageName, dontKillApp, componentNames, packageUid, reason, userIds,
instantUserIds, broadcastAllowList));
@@ -4959,8 +4960,12 @@
@Override
public String getSplashScreenTheme(@NonNull String packageName, int userId) {
final Computer snapshot = snapshotComputer();
+ final int callingUid = Binder.getCallingUid();
+ snapshot.enforceCrossUserPermission(
+ callingUid, userId, false /* requireFullPermission */,
+ false /* checkShell */, "getSplashScreenTheme");
PackageStateInternal packageState = filterPackageStateForInstalledAndFiltered(snapshot,
- packageName, Binder.getCallingUid(), userId);
+ packageName, callingUid, userId);
return packageState == null ? null
: packageState.getUserStateOrDefault(userId).getSplashScreenTheme();
}
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
index a963280..d21eabe 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
@@ -296,6 +296,8 @@
.OnRuntimePermissionStateChangedListener>
mRuntimePermissionStateChangedListeners = new ArrayList<>();
+ private final boolean mIsLeanback;
+
@NonNull
private final OnPermissionChangeListeners mOnPermissionChangeListeners;
@@ -379,6 +381,7 @@
mContext = context;
mPackageManagerInt = LocalServices.getService(PackageManagerInternal.class);
mUserManagerInt = LocalServices.getService(UserManagerInternal.class);
+ mIsLeanback = availableFeatures.containsKey(PackageManager.FEATURE_LEANBACK);
mPrivilegedPermissionAllowlistSourcePackageNames.add(PLATFORM_PACKAGE_NAME);
// PackageManager.hasSystemFeature() is not used here because PackageManagerService
@@ -2821,6 +2824,14 @@
}
}
}
+ if (mIsLeanback && NOTIFICATION_PERMISSIONS.contains(permName)) {
+ uidState.grantPermission(bp);
+ if (origPermState == null || !origPermState.isGranted()) {
+ if (uidState.grantPermission(bp)) {
+ wasChanged = true;
+ }
+ }
+ }
} else {
if (origPermState == null) {
// New permission
diff --git a/services/core/java/com/android/server/pm/verify/domain/TEST_MAPPING b/services/core/java/com/android/server/pm/verify/domain/TEST_MAPPING
index ba4a62c..8a1982a 100644
--- a/services/core/java/com/android/server/pm/verify/domain/TEST_MAPPING
+++ b/services/core/java/com/android/server/pm/verify/domain/TEST_MAPPING
@@ -12,9 +12,6 @@
"name": "CtsDomainVerificationDeviceStandaloneTestCases"
},
{
- "name": "CtsDomainVerificationDeviceMultiUserTestCases"
- },
- {
"name": "CtsDomainVerificationHostTestCases"
}
]
diff --git a/services/core/java/com/android/server/policy/PermissionPolicyService.java b/services/core/java/com/android/server/policy/PermissionPolicyService.java
index e8546a7..32e7a6a 100644
--- a/services/core/java/com/android/server/policy/PermissionPolicyService.java
+++ b/services/core/java/com/android/server/policy/PermissionPolicyService.java
@@ -59,6 +59,8 @@
import android.content.pm.PermissionInfo;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -160,11 +162,13 @@
private NotificationManagerInternal mNotificationManager;
private final KeyguardManager mKeyguardManager;
private final PackageManager mPackageManager;
+ private final Handler mHandler;
public PermissionPolicyService(@NonNull Context context) {
super(context);
mContext = context;
+ mHandler = new Handler(Looper.getMainLooper());
mPackageManager = context.getPackageManager();
mKeyguardManager = context.getSystemService(KeyguardManager.class);
LocalServices.addService(PermissionPolicyInternal.class, new Internal());
@@ -1068,8 +1072,11 @@
activityInfo.packageName, user)) {
clearNotificationReviewFlagsIfNeeded(activityInfo.packageName, user);
} else {
- showNotificationPromptIfNeeded(activityInfo.packageName,
- taskInfo.userId, taskInfo.taskId, info);
+ // Post the activity start checks to ensure the notification channel
+ // checks happen outside the WindowManager global lock.
+ mHandler.post(() -> showNotificationPromptIfNeeded(
+ activityInfo.packageName, taskInfo.userId, taskInfo.taskId,
+ info));
}
}
};
diff --git a/services/core/java/com/android/server/vibrator/VibrationSettings.java b/services/core/java/com/android/server/vibrator/VibrationSettings.java
index 18e9904..ac635a0 100644
--- a/services/core/java/com/android/server/vibrator/VibrationSettings.java
+++ b/services/core/java/com/android/server/vibrator/VibrationSettings.java
@@ -238,8 +238,6 @@
// Listen to all settings that might affect the result of Vibrator.getVibrationIntensity.
registerSettingsObserver(Settings.System.getUriFor(Settings.System.VIBRATE_INPUT_DEVICES));
registerSettingsObserver(Settings.System.getUriFor(Settings.System.VIBRATE_ON));
- registerSettingsObserver(Settings.System.getUriFor(Settings.System.VIBRATE_WHEN_RINGING));
- registerSettingsObserver(Settings.System.getUriFor(Settings.System.APPLY_RAMPING_RINGER));
registerSettingsObserver(Settings.System.getUriFor(
Settings.System.HAPTIC_FEEDBACK_ENABLED));
registerSettingsObserver(
@@ -449,19 +447,12 @@
mCurrentVibrationIntensities.put(USAGE_NOTIFICATION, notificationIntensity);
mCurrentVibrationIntensities.put(USAGE_MEDIA, mediaIntensity);
mCurrentVibrationIntensities.put(USAGE_UNKNOWN, mediaIntensity);
+ mCurrentVibrationIntensities.put(USAGE_RINGTONE, ringIntensity);
// Communication request is not disabled by the notification setting.
mCurrentVibrationIntensities.put(USAGE_COMMUNICATION_REQUEST,
positiveNotificationIntensity);
- if (!loadBooleanSetting(Settings.System.VIBRATE_WHEN_RINGING)
- && !loadBooleanSetting(Settings.System.APPLY_RAMPING_RINGER)) {
- // Make sure deprecated boolean setting still disables ringtone vibrations.
- mCurrentVibrationIntensities.put(USAGE_RINGTONE, Vibrator.VIBRATION_INTENSITY_OFF);
- } else {
- mCurrentVibrationIntensities.put(USAGE_RINGTONE, ringIntensity);
- }
-
// This should adapt the behavior preceding the introduction of this new setting
// key, which is to apply HAPTIC_FEEDBACK_INTENSITY, unless it's disabled.
mCurrentVibrationIntensities.put(USAGE_HARDWARE_FEEDBACK, hardwareFeedbackIntensity);
diff --git a/services/core/java/com/android/server/wm/ActivityInterceptorCallback.java b/services/core/java/com/android/server/wm/ActivityInterceptorCallback.java
index d2053fa..400460a1 100644
--- a/services/core/java/com/android/server/wm/ActivityInterceptorCallback.java
+++ b/services/core/java/com/android/server/wm/ActivityInterceptorCallback.java
@@ -29,7 +29,8 @@
import java.lang.annotation.RetentionPolicy;
/**
- * Callback to intercept activity starts and possibly block/redirect them.
+ * Callback to intercept activity starts and possibly block/redirect them. The callback methods will
+ * be called with the WindowManagerGlobalLock held.
*/
public abstract class ActivityInterceptorCallback {
/**
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 2be9b34..dc4e117 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -3967,6 +3967,8 @@
} else {
onRemovedFromDisplay();
}
+ mActivityRecordInputSink.releaseSurfaceControl();
+
super.removeImmediately();
}
@@ -5551,7 +5553,7 @@
* this activity when embedded in untrusted mode.
*/
boolean hasOverlayOverUntrustedModeEmbedded() {
- if (!isEmbeddedInUntrustedMode() || getRootTask() == null) {
+ if (!isEmbeddedInUntrustedMode() || getTask() == null) {
// The activity is not embedded in untrusted mode.
return false;
}
@@ -5559,7 +5561,7 @@
// Check if there are any activities with different UID over the activity that is embedded
// in untrusted mode. Traverse bottom to top with boundary so that it will only check
// activities above this activity.
- final ActivityRecord differentUidOverlayActivity = getRootTask().getActivity(
+ final ActivityRecord differentUidOverlayActivity = getTask().getActivity(
a -> a.getUid() != getUid(), this /* boundary */, false /* includeBoundary */,
false /* traverseTopToBottom */);
return differentUidOverlayActivity != null;
@@ -6298,7 +6300,7 @@
// starting window is drawn, the transition can start earlier. Exclude finishing and bubble
// because it may be a trampoline.
if (!wasTaskVisible && mStartingData != null && !finishing && !mLaunchedFromBubble
- && !mDisplayContent.mAppTransition.isReady()
+ && mVisibleRequested && !mDisplayContent.mAppTransition.isReady()
&& !mDisplayContent.mAppTransition.isRunning()
&& mDisplayContent.isNextTransitionForward()) {
// The pending transition state will be cleared after the transition is started, so
diff --git a/services/core/java/com/android/server/wm/ActivityRecordInputSink.java b/services/core/java/com/android/server/wm/ActivityRecordInputSink.java
index ce49a86..23a8324 100644
--- a/services/core/java/com/android/server/wm/ActivityRecordInputSink.java
+++ b/services/core/java/com/android/server/wm/ActivityRecordInputSink.java
@@ -99,4 +99,11 @@
return inputWindowHandle;
}
+ void releaseSurfaceControl() {
+ if (mSurfaceControl != null) {
+ mSurfaceControl.release();
+ mSurfaceControl = null;
+ }
+ }
+
}
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index dfc6fa9..36a7c77 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -1884,9 +1884,8 @@
false /* forceSend */, mStartActivity);
final boolean isTaskSwitch = startedTask != prevTopTask && !startedTask.isEmbedded();
- mTargetRootTask.startActivityLocked(mStartActivity,
- topRootTask != null ? topRootTask.getTopNonFinishingActivity() : null, newTask,
- isTaskSwitch, mOptions, sourceRecord);
+ mTargetRootTask.startActivityLocked(mStartActivity, topRootTask, newTask, isTaskSwitch,
+ mOptions, sourceRecord);
if (mDoResume) {
final ActivityRecord topTaskActivity = startedTask.topRunningActivityLocked();
if (!mTargetRootTask.isTopActivityFocusable()
@@ -2482,6 +2481,12 @@
if (inTaskFragment == null) {
inTaskFragment = TaskFragment.fromTaskFragmentToken(
mOptions.getLaunchTaskFragmentToken(), mService);
+ if (inTaskFragment != null && inTaskFragment.isEmbeddedTaskFragmentInPip()) {
+ // Do not start activity in TaskFragment in a PIP Task.
+ Slog.w(TAG, "Can not start activity in TaskFragment in PIP: "
+ + inTaskFragment);
+ inTaskFragment = null;
+ }
}
}
diff --git a/services/core/java/com/android/server/wm/ConfigurationContainer.java b/services/core/java/com/android/server/wm/ConfigurationContainer.java
index 08a9da4..dbc08cd 100644
--- a/services/core/java/com/android/server/wm/ConfigurationContainer.java
+++ b/services/core/java/com/android/server/wm/ConfigurationContainer.java
@@ -190,6 +190,14 @@
* @see #mFullConfiguration
*/
public void onRequestedOverrideConfigurationChanged(Configuration overrideConfiguration) {
+ updateRequestedOverrideConfiguration(overrideConfiguration);
+ // Update full configuration of this container and all its children.
+ final ConfigurationContainer parent = getParent();
+ onConfigurationChanged(parent != null ? parent.getConfiguration() : Configuration.EMPTY);
+ }
+
+ /** Updates override configuration without recalculate full config. */
+ void updateRequestedOverrideConfiguration(Configuration overrideConfiguration) {
// Pre-compute this here, so we don't need to go through the entire Configuration when
// writing to proto (which has significant cost if we write a lot of empty configurations).
mHasOverrideConfiguration = !Configuration.EMPTY.equals(overrideConfiguration);
@@ -199,9 +207,6 @@
&& diffRequestedOverrideMaxBounds(newBounds) != BOUNDS_CHANGE_NONE) {
mRequestedOverrideConfiguration.windowConfiguration.setMaxBounds(newBounds);
}
- // Update full configuration of this container and all its children.
- final ConfigurationContainer parent = getParent();
- onConfigurationChanged(parent != null ? parent.getConfiguration() : Configuration.EMPTY);
}
/**
diff --git a/services/core/java/com/android/server/wm/DisplayAreaPolicy.java b/services/core/java/com/android/server/wm/DisplayAreaPolicy.java
index 5919806..c18377d 100644
--- a/services/core/java/com/android/server/wm/DisplayAreaPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayAreaPolicy.java
@@ -23,6 +23,7 @@
import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL;
import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE;
+import static android.view.WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR;
import static android.window.DisplayAreaOrganizer.FEATURE_DEFAULT_TASK_CONTAINER;
import static android.window.DisplayAreaOrganizer.FEATURE_FULLSCREEN_MAGNIFICATION;
@@ -139,7 +140,8 @@
.addFeature(new Feature.Builder(wmService.mPolicy, "OneHanded",
FEATURE_ONE_HANDED)
.all()
- .except(TYPE_NAVIGATION_BAR, TYPE_NAVIGATION_BAR_PANEL)
+ .except(TYPE_NAVIGATION_BAR, TYPE_NAVIGATION_BAR_PANEL,
+ TYPE_SECURE_SYSTEM_OVERLAY)
.build());
}
rootHierarchy
diff --git a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java
index 7844bff..7bb036d 100644
--- a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java
+++ b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java
@@ -244,7 +244,7 @@
// invisible. If the app is already visible, it must have died while it was visible. In this
// case, we'll show the dead window but will not restart the app. Otherwise we could end up
// thrashing.
- if (!isTop && r.mVisibleRequested) {
+ if (!isTop && r.mVisibleRequested && !r.isState(INITIALIZING)) {
return;
}
diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java
index 0495302..fc407e6 100644
--- a/services/core/java/com/android/server/wm/RecentsAnimationController.java
+++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java
@@ -707,13 +707,7 @@
if (isAnimatingTask(task) || skipAnimation(task)) {
return;
}
- final RemoteAnimationTarget target = createTaskRemoteAnimation(task, MODE_OPENING,
- finishedCallback);
- if (target == null) {
- return;
- }
- ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS, "addTaskToTargets, target: %s", target);
- mPendingTaskAppears.add(target);
+ collectTaskRemoteAnimations(task, MODE_OPENING, finishedCallback);
}
}
@@ -729,19 +723,30 @@
}
}
- private RemoteAnimationTarget createTaskRemoteAnimation(Task task, int mode,
+ private void collectTaskRemoteAnimations(Task task, int mode,
OnAnimationFinishedCallback finishedCallback) {
final SparseBooleanArray recentTaskIds =
mService.mAtmService.getRecentTasks().getRecentTaskIds();
+
// The target must be built off the root task (the leaf task surface would be cropped
- // within the root surface). However, recents only tracks leaf task ids, so we'll replace
- // the task-id with the leaf id.
- final Task leafTask = task.getTopLeafTask();
- int taskId = leafTask.mTaskId;
- TaskAnimationAdapter adapter = addAnimation(task,
- !recentTaskIds.get(taskId), true /* hidden */, finishedCallback);
- mPendingNewTaskTargets.add(taskId);
- return adapter.createRemoteAnimationTarget(taskId, mode);
+ // within the root surface). However, recents only tracks leaf task ids, so we'll traverse
+ // and create animation target for all visible leaf tasks.
+ task.forAllLeafTasks(leafTask -> {
+ if (!leafTask.shouldBeVisible(null /* starting */)) {
+ return;
+ }
+ final int taskId = leafTask.mTaskId;
+ TaskAnimationAdapter adapter = addAnimation(leafTask,
+ !recentTaskIds.get(taskId), true /* hidden */, finishedCallback);
+ mPendingNewTaskTargets.add(taskId);
+ final RemoteAnimationTarget target =
+ adapter.createRemoteAnimationTarget(taskId, mode);
+ if (target != null) {
+ mPendingTaskAppears.add(target);
+ ProtoLog.d(WM_DEBUG_RECENTS_ANIMATIONS,
+ "collectTaskRemoteAnimations, target: %s", target);
+ }
+ }, true);
}
void logRecentsAnimationStartTime(int durationMs) {
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 079e1ac..3cb9a56 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -24,6 +24,7 @@
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_INSTANCE;
import static android.content.pm.ActivityInfo.LAUNCH_SINGLE_TASK;
+import static android.content.res.Configuration.EMPTY;
import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.INVALID_DISPLAY;
@@ -2005,7 +2006,8 @@
// of the activity entering PIP
r.getDisplayContent().prepareAppTransition(TRANSIT_NONE);
- final boolean singleActivity = task.getChildCount() == 1;
+ // TODO: Does it make sense to only count non-finishing activities?
+ final boolean singleActivity = task.getActivityCount() == 1;
if (singleActivity) {
rootTask = task;
@@ -2081,6 +2083,15 @@
// TODO(task-org): Figure-out more structured way to do this long term.
r.setWindowingMode(intermediateWindowingMode);
r.mWaitForEnteringPinnedMode = true;
+ rootTask.forAllTaskFragments(tf -> {
+ // When the Task is entering picture-in-picture, we should clear all override from
+ // the client organizer, so the PIP activity can get the correct config from the
+ // Task, and prevent conflict with the PipTaskOrganizer.
+ if (tf.isOrganizedTaskFragment()) {
+ tf.resetAdjacentTaskFragment();
+ tf.updateRequestedOverrideConfiguration(EMPTY);
+ }
+ });
rootTask.setWindowingMode(WINDOWING_MODE_PINNED);
// Set the launch bounds for launch-into-pip Activity on the root task.
if (r.getOptions() != null && r.getOptions().isLaunchIntoPip()) {
diff --git a/services/core/java/com/android/server/wm/StartingSurfaceController.java b/services/core/java/com/android/server/wm/StartingSurfaceController.java
index 4ab9d2f..813e06f 100644
--- a/services/core/java/com/android/server/wm/StartingSurfaceController.java
+++ b/services/core/java/com/android/server/wm/StartingSurfaceController.java
@@ -39,6 +39,7 @@
import android.content.pm.ApplicationInfo;
import android.os.UserHandle;
import android.util.Slog;
+import android.window.SplashScreenView;
import android.window.TaskSnapshot;
import java.util.ArrayList;
@@ -51,8 +52,10 @@
private static final String TAG = TAG_WITH_CLASS_NAME
? StartingSurfaceController.class.getSimpleName() : TAG_WM;
/**
- * Allow the solid color style splash screen view can be copy and transfer to another process if
- * the app targeting to {@link android.os.Build.VERSION_CODES#TIRAMISU} or higher.
+ * Application is allowed to receive the
+ * {@link
+ * android.window.SplashScreen.OnExitAnimationListener#onSplashScreenExit(SplashScreenView)}
+ * callback, even when the splash screen only shows a solid color.
*/
@ChangeId
@EnabledSince(targetSdkVersion = android.os.Build.VERSION_CODES.TIRAMISU)
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 6ab3916..ac04843 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -1380,6 +1380,14 @@
return getActivity(ActivityRecord::canBeTopRunning);
}
+ int getActivityCount() {
+ final int[] activityCount = new int[1];
+ forAllActivities(ar -> {
+ activityCount[0]++;
+ });
+ return activityCount[0];
+ }
+
/**
* Return true if any activities in this task belongs to input uid.
*/
@@ -5031,9 +5039,9 @@
return mRootWindowContainer.resumeHomeActivity(prev, reason, getDisplayArea());
}
- void startActivityLocked(ActivityRecord r, @Nullable ActivityRecord focusedTopActivity,
- boolean newTask, boolean isTaskSwitch, ActivityOptions options,
- @Nullable ActivityRecord sourceRecord) {
+ void startActivityLocked(ActivityRecord r, @Nullable Task topTask, boolean newTask,
+ boolean isTaskSwitch, ActivityOptions options, @Nullable ActivityRecord sourceRecord) {
+ final ActivityRecord pipCandidate = findEnterPipOnTaskSwitchCandidate(topTask);
Task rTask = r.getTask();
final boolean allowMoveToFront = options == null || !options.getAvoidMoveToFront();
final boolean isOrhasTask = rTask == this || hasChild(rTask);
@@ -5099,10 +5107,8 @@
// supporting picture-in-picture while pausing only if the starting activity
// would not be considered an overlay on top of the current activity
// (eg. not fullscreen, or the assistant)
- if (canEnterPipOnTaskSwitch(focusedTopActivity,
- null /* toFrontTask */, r, options)) {
- focusedTopActivity.supportsEnterPipOnTaskSwitch = true;
- }
+ enableEnterPipOnTaskSwitch(pipCandidate,
+ null /* toFrontTask */, r, options);
transit = TRANSIT_OLD_TASK_OPEN;
}
}
@@ -5159,20 +5165,44 @@
}
}
+ /** On Task switch, finds the top activity that supports PiP. */
+ @Nullable
+ static ActivityRecord findEnterPipOnTaskSwitchCandidate(@Nullable Task topTask) {
+ if (topTask == null) {
+ return null;
+ }
+ final ActivityRecord[] candidate = new ActivityRecord[1];
+ topTask.forAllLeafTaskFragments(tf -> {
+ // Find the top activity that may enter Pip while pausing.
+ final ActivityRecord topActivity = tf.getTopNonFinishingActivity();
+ if (topActivity != null && topActivity.isState(RESUMED, PAUSING)
+ && topActivity.supportsPictureInPicture()) {
+ candidate[0] = topActivity;
+ return true;
+ }
+ return false;
+ });
+ return candidate[0];
+ }
+
/**
- * @return Whether the switch to another task can trigger the currently running activity to
+ * When switching to another Task, marks the currently PiP candidate activity as supporting to
* enter PiP while it is pausing (if supported). Only one of {@param toFrontTask} or
* {@param toFrontActivity} should be set.
*/
- private boolean canEnterPipOnTaskSwitch(ActivityRecord pipCandidate,
- Task toFrontTask, ActivityRecord toFrontActivity, ActivityOptions opts) {
+ private static void enableEnterPipOnTaskSwitch(@Nullable ActivityRecord pipCandidate,
+ @Nullable Task toFrontTask, @Nullable ActivityRecord toFrontActivity,
+ @Nullable ActivityOptions opts) {
+ if (pipCandidate == null) {
+ return;
+ }
if (opts != null && opts.disallowEnterPictureInPictureWhileLaunching()) {
// Ensure the caller has requested not to trigger auto-enter PiP
- return false;
+ return;
}
- if (pipCandidate == null || pipCandidate.inPinnedWindowingMode()) {
- // Ensure that we do not trigger entering PiP an activity on the root pinned task
- return false;
+ if (pipCandidate.inPinnedWindowingMode()) {
+ // Ensure that we do not trigger entering PiP an activity on the root pinned task.
+ return;
}
final boolean isTransient = opts != null && opts.getTransientLaunch();
final Task targetRootTask = toFrontTask != null
@@ -5181,9 +5211,10 @@
// Ensure the task/activity being brought forward is not the assistant and is not
// transient. In the case of transient-launch, we want to wait until the end of the
// transition and only allow switch if the transient launch was committed.
- return false;
+ return;
}
- return true;
+ pipCandidate.supportsEnterPipOnTaskSwitch = true;
+
}
/**
@@ -5492,9 +5523,8 @@
AppTimeTracker timeTracker, boolean deferResume, String reason) {
if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "moveTaskToFront: " + tr);
- final Task topRootTask = getDisplayArea().getTopRootTask();
- final ActivityRecord topActivity = topRootTask != null
- ? topRootTask.getTopNonFinishingActivity() : null;
+ final ActivityRecord pipCandidate = findEnterPipOnTaskSwitchCandidate(
+ getDisplayArea().getTopRootTask());
if (tr != this && !tr.isDescendantOf(this)) {
// nothing to do!
@@ -5549,10 +5579,7 @@
// picture-in-picture while paused only if the task would not be considered an oerlay
// on top
// of the current activity (eg. not fullscreen, or the assistant)
- if (canEnterPipOnTaskSwitch(topActivity, tr, null /* toFrontActivity */,
- options)) {
- topActivity.supportsEnterPipOnTaskSwitch = true;
- }
+ enableEnterPipOnTaskSwitch(pipCandidate, tr, null /* toFrontActivity */, options);
if (!deferResume) {
mRootWindowContainer.resumeFocusedTasksTopActivities();
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java
index b96b461..83bd979 100644
--- a/services/core/java/com/android/server/wm/TaskFragment.java
+++ b/services/core/java/com/android/server/wm/TaskFragment.java
@@ -339,7 +339,7 @@
}
}
- private void resetAdjacentTaskFragment() {
+ void resetAdjacentTaskFragment() {
// Reset the adjacent TaskFragment if its adjacent TaskFragment is also this TaskFragment.
if (mAdjacentTaskFragment != null && mAdjacentTaskFragment.mAdjacentTaskFragment == this) {
mAdjacentTaskFragment.mAdjacentTaskFragment = null;
@@ -2317,6 +2317,14 @@
mMinHeight = minHeight;
}
+ /**
+ * Whether this is an embedded TaskFragment in PIP Task. We don't allow any client config
+ * override for such TaskFragment to prevent flight with PipTaskOrganizer.
+ */
+ boolean isEmbeddedTaskFragmentInPip() {
+ return isOrganizedTaskFragment() && getTask() != null && getTask().inPinnedWindowingMode();
+ }
+
boolean shouldRemoveSelfOnLastChildRemoval() {
return !mCreatedByOrganizer || mIsRemovalRequested;
}
diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java
index 2900a5d..4dbcea1 100644
--- a/services/core/java/com/android/server/wm/WindowContainer.java
+++ b/services/core/java/com/android/server/wm/WindowContainer.java
@@ -2761,7 +2761,10 @@
boolean canStartChangeTransition() {
return !mWmService.mDisableTransitionAnimation && mDisplayContent != null
&& getSurfaceControl() != null && !mDisplayContent.inTransition()
- && isVisible() && isVisibleRequested() && okToAnimate();
+ && isVisible() && isVisibleRequested() && okToAnimate()
+ // Pip animation will be handled by PipTaskOrganizer.
+ && !inPinnedWindowingMode() && getParent() != null
+ && !getParent().inPinnedWindowingMode();
}
/**
@@ -3181,6 +3184,7 @@
mLastLayer = -1;
mWmService.mSurfaceAnimationRunner.onAnimationLeashLost(mAnimationLeash, t);
mAnimationLeash = null;
+ mNeedsZBoost = false;
reassignLayer(t);
updateSurfacePosition(t);
}
@@ -3859,7 +3863,8 @@
@AnimationType int type, @Nullable AnimationAdapter snapshotAnim);
}
- void addTrustedOverlay(SurfaceControlViewHost.SurfacePackage overlay) {
+ void addTrustedOverlay(SurfaceControlViewHost.SurfacePackage overlay,
+ @Nullable WindowState initialWindowState) {
if (mOverlayHost == null) {
mOverlayHost = new TrustedOverlayHost(mWmService);
}
@@ -3875,6 +3880,20 @@
"Error sending initial configuration change to WindowContainer overlay");
removeTrustedOverlay(overlay);
}
+
+ // Emit an initial WindowState so that proper insets are available to overlay views
+ // shortly after the overlay is added.
+ if (initialWindowState != null) {
+ final InsetsState insetsState = initialWindowState.getInsetsState();
+ final Rect dispBounds = getBounds();
+ try {
+ overlay.getRemoteInterface().onInsetsChanged(insetsState, dispBounds);
+ } catch (Exception e) {
+ ProtoLog.e(WM_DEBUG_ANIM,
+ "Error sending initial insets change to WindowContainer overlay");
+ removeTrustedOverlay(overlay);
+ }
+ }
}
void removeTrustedOverlay(SurfaceControlViewHost.SurfacePackage overlay) {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 77d31df..4d262ef 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -8135,7 +8135,7 @@
if (task == null) {
throw new IllegalArgumentException("no task with taskId" + taskId);
}
- task.addTrustedOverlay(overlay);
+ task.addTrustedOverlay(overlay, task.getTopVisibleAppMainWindow());
}
}
diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java
index b5cf708..c1c8b81 100644
--- a/services/core/java/com/android/server/wm/WindowOrganizerController.java
+++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java
@@ -677,15 +677,21 @@
}
case HIERARCHY_OP_TYPE_START_ACTIVITY_IN_TASK_FRAGMENT: {
final IBinder fragmentToken = hop.getContainer();
- if (!mLaunchTaskFragments.containsKey(fragmentToken)) {
+ final TaskFragment tf = mLaunchTaskFragments.get(fragmentToken);
+ if (tf == null) {
final Throwable exception = new IllegalArgumentException(
"Not allowed to operate with invalid fragment token");
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
break;
}
+ if (tf.isEmbeddedTaskFragmentInPip()) {
+ final Throwable exception = new IllegalArgumentException(
+ "Not allowed to start activity in PIP TaskFragment");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ break;
+ }
final Intent activityIntent = hop.getActivityIntent();
final Bundle activityOptions = hop.getLaunchOptions();
- final TaskFragment tf = mLaunchTaskFragments.get(fragmentToken);
final int result = mService.getActivityStartController()
.startActivityInTaskFragment(tf, activityIntent, activityOptions,
hop.getCallingActivity(), caller.mUid, caller.mPid);
@@ -707,6 +713,12 @@
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
break;
}
+ if (parent.isEmbeddedTaskFragmentInPip()) {
+ final Throwable exception = new IllegalArgumentException(
+ "Not allowed to reparent activity to PIP TaskFragment");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ break;
+ }
if (!parent.isAllowedToEmbedActivity(activity)) {
final Throwable exception = new SecurityException(
"The task fragment is not trusted to embed the given activity.");
@@ -730,6 +742,13 @@
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
break;
}
+ if (tf1.isEmbeddedTaskFragmentInPip()
+ || (tf2 != null && tf2.isEmbeddedTaskFragmentInPip())) {
+ final Throwable exception = new IllegalArgumentException(
+ "Not allowed to set adjacent on TaskFragment in PIP Task");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ break;
+ }
tf1.setAdjacentTaskFragment(tf2, false /* moveAdjacentTogether */);
effects |= TRANSACT_EFFECTS_LIFECYCLE;
@@ -1092,6 +1111,10 @@
throw new IllegalArgumentException("setAdjacentRootsHierarchyOp: Not created by"
+ " organizer root1=" + root1 + " root2=" + root2);
}
+ if (root1.isEmbeddedTaskFragmentInPip() || root2.isEmbeddedTaskFragmentInPip()) {
+ Slog.e(TAG, "Attempt to set adjacent TaskFragment in PIP Task");
+ return 0;
+ }
root1.setAdjacentTaskFragment(root2, hop.getMoveAdjacentTogether());
return TRANSACT_EFFECTS_LIFECYCLE;
}
@@ -1105,6 +1128,10 @@
private int applyWindowContainerChange(WindowContainer wc,
WindowContainerTransaction.Change c) {
sanitizeWindowContainer(wc);
+ if (wc.asTaskFragment() != null && wc.asTaskFragment().isEmbeddedTaskFragmentInPip()) {
+ // No override from organizer for embedded TaskFragment in a PIP Task.
+ return 0;
+ }
int effects = applyChanges(wc, c);
@@ -1420,21 +1447,28 @@
return;
}
// The ownerActivity has to belong to the same app as the target Task.
- if (ownerActivity.getTask().effectiveUid != ownerActivity.getUid()
- || ownerActivity.getTask().effectiveUid != caller.mUid) {
+ final Task ownerTask = ownerActivity.getTask();
+ if (ownerTask.effectiveUid != ownerActivity.getUid()
+ || ownerTask.effectiveUid != caller.mUid) {
final Throwable exception =
new SecurityException("Not allowed to operate with the ownerToken while "
+ "the root activity of the target task belong to the different app");
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
return;
}
+ if (ownerTask.inPinnedWindowingMode()) {
+ final Throwable exception = new IllegalArgumentException(
+ "Not allowed to create TaskFragment in PIP Task");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ return;
+ }
final TaskFragment taskFragment = new TaskFragment(mService,
creationParams.getFragmentToken(), true /* createdByOrganizer */);
// Set task fragment organizer immediately, since it might have to be notified about further
// actions.
taskFragment.setTaskFragmentOrganizer(creationParams.getOrganizer(),
ownerActivity.getUid(), ownerActivity.info.processName);
- ownerActivity.getTask().addChild(taskFragment, POSITION_TOP);
+ ownerTask.addChild(taskFragment, POSITION_TOP);
taskFragment.setWindowingMode(creationParams.getWindowingMode());
taskFragment.setBounds(creationParams.getInitialBounds());
mLaunchTaskFragments.put(creationParams.getFragmentToken(), taskFragment);
@@ -1467,6 +1501,12 @@
return;
}
}
+ if (newParentTF.isEmbeddedTaskFragmentInPip() || oldParent.isEmbeddedTaskFragmentInPip()) {
+ final Throwable exception = new SecurityException(
+ "Not allow to reparent in TaskFragment in PIP Task.");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ return;
+ }
while (oldParent.hasChild()) {
oldParent.getChildAt(0).reparent(newParentTF, POSITION_TOP);
}
@@ -1482,6 +1522,12 @@
sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
return 0;
}
+ if (taskFragment.isEmbeddedTaskFragmentInPip()) {
+ final Throwable exception = new IllegalArgumentException(
+ "Not allowed to delete TaskFragment in PIP Task");
+ sendTaskFragmentOperationFailure(organizer, errorCallbackToken, exception);
+ return 0;
+ }
mLaunchTaskFragments.removeAt(index);
taskFragment.remove(true /* withTransition */, "deleteTaskFragment");
return TRANSACT_EFFECTS_LIFECYCLE;
diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java
index ac9fbde..40417a4 100644
--- a/services/core/java/com/android/server/wm/WindowProcessController.java
+++ b/services/core/java/com/android/server/wm/WindowProcessController.java
@@ -1128,7 +1128,7 @@
/** Makes the process have top state before oom-adj is computed from a posted message. */
void addToPendingTop() {
- mAtm.mAmInternal.addPendingTopUid(mUid, mPid);
+ mAtm.mAmInternal.addPendingTopUid(mUid, mPid, mThread);
}
void updateServiceConnectionActivities() {
@@ -1181,7 +1181,7 @@
}
// update ActivityManagerService.PendingStartActivityUids list.
if (topProcessState == ActivityManager.PROCESS_STATE_TOP) {
- mAtm.mAmInternal.addPendingTopUid(mUid, mPid);
+ mAtm.mAmInternal.addPendingTopUid(mUid, mPid, mThread);
}
prepareOomAdjustment();
// Posting the message at the front of queue so WM lock isn't held when we call into AM,
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index b7005a5..e0fb562 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -1781,7 +1781,7 @@
@VisibleForTesting
DevicePolicyManagerService(Injector injector) {
- DevicePolicyManager.disableGetKeyguardDisabledFeaturesCache();
+ DevicePolicyManager.disableLocalCaches();
mInjector = injector;
mContext = Objects.requireNonNull(injector.mContext);
diff --git a/services/tests/PackageManagerServiceTests/appenumeration/src/com/android/server/pm/test/appenumeration/CrossUserPackageVisibilityTests.java b/services/tests/PackageManagerServiceTests/appenumeration/src/com/android/server/pm/test/appenumeration/CrossUserPackageVisibilityTests.java
new file mode 100644
index 0000000..3f6199c
--- /dev/null
+++ b/services/tests/PackageManagerServiceTests/appenumeration/src/com/android/server/pm/test/appenumeration/CrossUserPackageVisibilityTests.java
@@ -0,0 +1,52 @@
+/*
+ * 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.server.pm.test.appenumeration;
+
+import static org.junit.Assert.assertThrows;
+
+import android.app.AppGlobals;
+import android.app.Instrumentation;
+import android.content.pm.IPackageManager;
+import android.os.UserHandle;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class CrossUserPackageVisibilityTests {
+
+ private Instrumentation mInstrumentation;
+ private IPackageManager mIPackageManager;
+
+ @Before
+ public void setup() {
+ mInstrumentation = InstrumentationRegistry.getInstrumentation();
+ mIPackageManager = AppGlobals.getPackageManager();
+ }
+
+ @Test
+ public void testGetSplashScreenTheme_withCrossUserId() {
+ final int crossUserId = UserHandle.myUserId() + 1;
+ assertThrows(SecurityException.class,
+ () -> mIPackageManager.getSplashScreenTheme(
+ mInstrumentation.getContext().getPackageName(), crossUserId));
+ }
+}
diff --git a/services/tests/mockingservicestests/src/com/android/server/companion/virtual/CameraAccessControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/companion/virtual/CameraAccessControllerTest.java
index 1b9cb28..c4c3abc 100644
--- a/services/tests/mockingservicestests/src/com/android/server/companion/virtual/CameraAccessControllerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/companion/virtual/CameraAccessControllerTest.java
@@ -24,6 +24,7 @@
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -34,6 +35,7 @@
import android.hardware.camera2.CameraManager;
import android.os.Process;
import android.testing.TestableContext;
+import android.util.ArraySet;
import androidx.test.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -73,11 +75,11 @@
private ApplicationInfo mTestAppInfo = new ApplicationInfo();
private ApplicationInfo mOtherAppInfo = new ApplicationInfo();
+ private ArraySet<Integer> mRunningUids = new ArraySet<>();
@Captor
ArgumentCaptor<CameraInjectionSession.InjectionStatusCallback> mInjectionCallbackCaptor;
-
@Before
public void setUp() throws PackageManager.NameNotFoundException {
MockitoAnnotations.initMocks(this);
@@ -89,6 +91,7 @@
mBlockedCallback);
mTestAppInfo.uid = Process.FIRST_APPLICATION_UID;
mOtherAppInfo.uid = Process.FIRST_APPLICATION_UID + 1;
+ mRunningUids.add(Process.FIRST_APPLICATION_UID);
when(mPackageManager.getApplicationInfo(eq(TEST_APP_PACKAGE), anyInt())).thenReturn(
mTestAppInfo);
when(mPackageManager.getApplicationInfo(eq(OTHER_APP_PACKAGE), anyInt())).thenReturn(
@@ -104,7 +107,6 @@
verify(mCameraManager, never()).injectCamera(any(), any(), any(), any(), any());
}
-
@Test
public void onCameraOpened_uidRunning_cameraBlocked() throws CameraAccessException {
when(mDeviceManagerInternal.isAppRunningOnAnyVirtualDevice(
@@ -128,7 +130,6 @@
verify(session).close();
}
-
@Test
public void onCameraClosed_otherCameraClosed_cameraNotUnblocked() throws CameraAccessException {
when(mDeviceManagerInternal.isAppRunningOnAnyVirtualDevice(
@@ -197,4 +198,33 @@
mInjectionCallbackCaptor.getValue().onInjectionError(ERROR_INJECTION_UNSUPPORTED);
verify(mBlockedCallback).onCameraAccessBlocked(eq(mTestAppInfo.uid));
}
+
+ @Test
+ public void twoCameraAccessesBySameUid_secondOnVirtualDisplay_noCallbackButCameraCanBlocked()
+ throws CameraAccessException {
+ when(mDeviceManagerInternal.isAppRunningOnAnyVirtualDevice(
+ eq(mTestAppInfo.uid))).thenReturn(false);
+ mController.onCameraOpened(FRONT_CAMERA, TEST_APP_PACKAGE);
+ mController.blockCameraAccessIfNeeded(mRunningUids);
+
+ verify(mCameraManager).injectCamera(eq(TEST_APP_PACKAGE), eq(FRONT_CAMERA), anyString(),
+ any(), mInjectionCallbackCaptor.capture());
+ CameraInjectionSession session = mock(CameraInjectionSession.class);
+ mInjectionCallbackCaptor.getValue().onInjectionSucceeded(session);
+ mInjectionCallbackCaptor.getValue().onInjectionError(ERROR_INJECTION_UNSUPPORTED);
+ verify(mBlockedCallback).onCameraAccessBlocked(eq(mTestAppInfo.uid));
+ }
+
+ @Test
+ public void twoCameraAccessesBySameUid_secondOnVirtualDisplay_firstCloseThenOpenCameraUnblock()
+ throws CameraAccessException {
+ when(mDeviceManagerInternal.isAppRunningOnAnyVirtualDevice(
+ eq(mTestAppInfo.uid))).thenReturn(false);
+ mController.onCameraOpened(FRONT_CAMERA, TEST_APP_PACKAGE);
+ mController.blockCameraAccessIfNeeded(mRunningUids);
+ mController.onCameraClosed(FRONT_CAMERA);
+ mController.onCameraOpened(FRONT_CAMERA, TEST_APP_PACKAGE);
+
+ verify(mCameraManager, times(1)).injectCamera(any(), any(), any(), any(), any());
+ }
}
diff --git a/services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java
index b955199..bc9e9bb 100644
--- a/services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/display/color/DisplayWhiteBalanceTintControllerTest.java
@@ -38,7 +38,6 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -191,7 +190,6 @@
* Matrix should match the precalculated one for given cct and display primaries.
*/
@Test
- @Ignore
public void displayWhiteBalance_validateTransformMatrix() {
DisplayPrimaries displayPrimaries = new DisplayPrimaries();
displayPrimaries.red = new CieXyz();
@@ -226,12 +224,12 @@
float[] matrixDwb = mDisplayWhiteBalanceTintController.getMatrix();
final float[] expectedMatrixDwb = {
- 0.962880f, -0.001780f, -0.000158f, 0.0f,
- 0.035765f, 0.929988f, 0.000858f, 0.0f,
- 0.001354f, -0.000470f, 0.948327f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f
+ 0.971848f, -0.001421f, 0.000491f, 0.0f,
+ 0.028193f, 0.945798f, 0.003207f, 0.0f,
+ -0.000042f, -0.000989f, 0.988659f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f
};
- assertArrayEquals("Unexpected DWB matrix", matrixDwb, expectedMatrixDwb,
+ assertArrayEquals("Unexpected DWB matrix", expectedMatrixDwb, matrixDwb,
1e-6f /* tolerance */);
}
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
index 9b56303..df21ea3 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilitySecurityPolicyTest.java
@@ -158,6 +158,7 @@
mA11ySecurityPolicy = new AccessibilitySecurityPolicy(
mPolicyWarningUIController, mContext, mMockA11yUserManager);
+ mA11ySecurityPolicy.setSendingNonA11yToolNotificationLocked(true);
mA11ySecurityPolicy.setAccessibilityWindowManager(mMockA11yWindowManager);
mA11ySecurityPolicy.setAppWidgetManager(mMockAppWidgetManager);
mA11ySecurityPolicy.onSwitchUserLocked(TEST_USER_ID, new HashSet<>());
@@ -653,11 +654,18 @@
mA11ySecurityPolicy.onSwitchUserLocked(newUserId, new HashSet<>());
- verify(mPolicyWarningUIController).onSwitchUserLocked(eq(newUserId), eq(new HashSet<>()));
+ verify(mPolicyWarningUIController).onSwitchUser(eq(newUserId), eq(new HashSet<>()));
verify(mPolicyWarningUIController).onNonA11yCategoryServiceUnbound(eq(TEST_USER_ID),
eq(TEST_COMPONENT_NAME));
}
+ @Test
+ public void enableSendingNonA11yToolNotificationLocked_propagateToPolicyWarningController() {
+ mA11ySecurityPolicy.setSendingNonA11yToolNotificationLocked(true);
+
+ verify(mPolicyWarningUIController).enableSendingNonA11yToolNotification(true);
+ }
+
private void initServiceInfoAndConnection(ComponentName componentName,
AccessibilityServiceConnection connection,
boolean isAccessibilityTool) {
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/PolicyWarningUIControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/PolicyWarningUIControllerTest.java
index 3cd967d..c727939c 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/PolicyWarningUIControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/PolicyWarningUIControllerTest.java
@@ -29,6 +29,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -46,12 +47,16 @@
import android.os.UserHandle;
import android.provider.Settings;
import android.testing.TestableContext;
+import android.util.ArraySet;
+
+import com.google.common.collect.ImmutableSet;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
+import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import java.util.ArrayList;
@@ -67,6 +72,8 @@
private static final ComponentName TEST_COMPONENT_NAME = new ComponentName(
"com.android.server.accessibility", "PolicyWarningUIControllerTest");
+ private static final ComponentName TEST_COMPONENT_NAME2 = new ComponentName(
+ "com.android.server.accessibility", "nonAccessibilityToolService");
private final List<AccessibilityServiceInfo> mEnabledServiceList = new ArrayList<>();
@Rule
@@ -79,15 +86,9 @@
@Mock
private StatusBarManager mStatusBarManager;
@Mock
- private AccessibilityServiceInfo mMockA11yServiceInfo;
- @Mock
- private ResolveInfo mMockResolveInfo;
- @Mock
private ServiceInfo mMockServiceInfo;
@Mock
private Context mSpyContext;
- @Mock
- private AccessibilitySecurityPolicy mAccessibilitySecurityPolicy;
private PolicyWarningUIController mPolicyWarningUIController;
private FakeNotificationController mFakeNotificationController;
@@ -102,21 +103,18 @@
mPolicyWarningUIController = new PolicyWarningUIController(
getInstrumentation().getTargetContext().getMainThreadHandler(), mContext,
mFakeNotificationController);
- mPolicyWarningUIController.setAccessibilityPolicyManager(mAccessibilitySecurityPolicy);
- mPolicyWarningUIController.onSwitchUserLocked(TEST_USER_ID, new HashSet<>());
mEnabledServiceList.clear();
Settings.Secure.putStringForUser(mContext.getContentResolver(),
Settings.Secure.NOTIFIED_NON_ACCESSIBILITY_CATEGORY_SERVICES,
"", TEST_USER_ID);
+ mPolicyWarningUIController.enableSendingNonA11yToolNotification(true);
+ mPolicyWarningUIController.onSwitchUser(TEST_USER_ID, new HashSet<>());
+ getInstrumentation().waitForIdleSync();
}
@Test
public void receiveActionSendNotification_isNonA11yCategoryService_sendNotification() {
- mEnabledServiceList.add(mMockA11yServiceInfo);
- mMockResolveInfo.serviceInfo = mMockServiceInfo;
- when(mMockA11yServiceInfo.getResolveInfo()).thenReturn(mMockResolveInfo);
- when(mMockA11yServiceInfo.getComponentName()).thenReturn(TEST_COMPONENT_NAME);
- when(mMockA11yServiceInfo.isAccessibilityTool()).thenReturn(false);
+ addEnabledServiceInfo(TEST_COMPONENT_NAME, false);
mFakeNotificationController.onReceive(mContext,
PolicyWarningUIController.createIntent(mContext, TEST_USER_ID,
@@ -128,6 +126,39 @@
}
@Test
+ public void receiveActionSendNotification_sendNotificationDisabled_doNothing() {
+ mPolicyWarningUIController.enableSendingNonA11yToolNotification(false);
+ addEnabledServiceInfo(TEST_COMPONENT_NAME, false);
+
+ mFakeNotificationController.onReceive(mContext,
+ PolicyWarningUIController.createIntent(mContext, TEST_USER_ID,
+ PolicyWarningUIController.ACTION_SEND_NOTIFICATION,
+ TEST_COMPONENT_NAME));
+
+ verify(mNotificationManager, never()).notify(eq(TEST_COMPONENT_NAME.flattenToShortString()),
+ eq(NOTE_A11Y_VIEW_AND_CONTROL_ACCESS), any(Notification.class));
+ }
+
+ @Test
+ public void receiveActionSendNotificationWithNotifiedService_doNothing() {
+ Settings.Secure.putStringForUser(mContext.getContentResolver(),
+ Settings.Secure.NOTIFIED_NON_ACCESSIBILITY_CATEGORY_SERVICES,
+ TEST_COMPONENT_NAME.flattenToShortString(), TEST_USER_ID);
+ mEnabledServiceList.clear();
+ mPolicyWarningUIController.onSwitchUser(TEST_USER_ID, new HashSet<>());
+ getInstrumentation().waitForIdleSync();
+ addEnabledServiceInfo(TEST_COMPONENT_NAME, false);
+
+ mFakeNotificationController.onReceive(mContext,
+ PolicyWarningUIController.createIntent(mContext, TEST_USER_ID,
+ PolicyWarningUIController.ACTION_SEND_NOTIFICATION,
+ TEST_COMPONENT_NAME));
+
+ verify(mNotificationManager, never()).notify(eq(TEST_COMPONENT_NAME.flattenToShortString()),
+ eq(NOTE_A11Y_VIEW_AND_CONTROL_ACCESS), any(Notification.class));
+ }
+
+ @Test
public void receiveActionA11ySettings_launchA11ySettingsAndDismissNotification() {
mFakeNotificationController.onReceive(mContext,
PolicyWarningUIController.createIntent(mContext, TEST_USER_ID,
@@ -154,11 +185,11 @@
public void onEnabledServicesChangedLocked_serviceDisabled_removedFromNotifiedSettings() {
final Set<ComponentName> enabledServices = new HashSet<>();
enabledServices.add(TEST_COMPONENT_NAME);
- mPolicyWarningUIController.onEnabledServicesChangedLocked(TEST_USER_ID, enabledServices);
+ mPolicyWarningUIController.onEnabledServicesChanged(TEST_USER_ID, enabledServices);
getInstrumentation().waitForIdleSync();
receiveActionDismissNotification_addToNotifiedSettings();
- mPolicyWarningUIController.onEnabledServicesChangedLocked(TEST_USER_ID, new HashSet<>());
+ mPolicyWarningUIController.onEnabledServicesChanged(TEST_USER_ID, new HashSet<>());
getInstrumentation().waitForIdleSync();
assertNotifiedSettingsEqual(TEST_USER_ID, "");
@@ -185,6 +216,29 @@
PolicyWarningUIController.ACTION_SEND_NOTIFICATION, TEST_COMPONENT_NAME)));
}
+ @Test
+ public void onSwitchUserLocked_hasAlarmAndSentNotification_cancelNotification() {
+ addEnabledServiceInfo(TEST_COMPONENT_NAME2, false);
+ final Set<ComponentName> enabledNonA11yServices = new ArraySet<>();
+ enabledNonA11yServices.add(TEST_COMPONENT_NAME);
+ enabledNonA11yServices.add(TEST_COMPONENT_NAME2);
+ mPolicyWarningUIController.onEnabledServicesChanged(TEST_USER_ID,
+ enabledNonA11yServices);
+ mPolicyWarningUIController.onNonA11yCategoryServiceBound(TEST_USER_ID, TEST_COMPONENT_NAME);
+ mFakeNotificationController.onReceive(mContext,
+ PolicyWarningUIController.createIntent(mContext, TEST_USER_ID,
+ PolicyWarningUIController.ACTION_SEND_NOTIFICATION,
+ TEST_COMPONENT_NAME2));
+ getInstrumentation().waitForIdleSync();
+
+ mPolicyWarningUIController.onSwitchUser(TEST_USER_ID,
+ ImmutableSet.copyOf(new ArraySet<>()));
+ getInstrumentation().waitForIdleSync();
+
+ verify(mNotificationManager).cancel(TEST_COMPONENT_NAME2.flattenToShortString(),
+ NOTE_A11Y_VIEW_AND_CONTROL_ACCESS);
+ }
+
private void assertNotifiedSettingsEqual(int userId, String settingString) {
final String notifiedServicesSetting = Settings.Secure.getStringForUser(
mContext.getContentResolver(),
@@ -205,6 +259,17 @@
verify(mStatusBarManager).collapsePanels();
}
+ private void addEnabledServiceInfo(ComponentName componentName, boolean isAccessibilityTool) {
+ final AccessibilityServiceInfo a11yServiceInfo = Mockito.mock(
+ AccessibilityServiceInfo.class);
+ when(a11yServiceInfo.getComponentName()).thenReturn(componentName);
+ when(a11yServiceInfo.isAccessibilityTool()).thenReturn(isAccessibilityTool);
+ final ResolveInfo resolveInfo = Mockito.mock(ResolveInfo.class);
+ when(a11yServiceInfo.getResolveInfo()).thenReturn(resolveInfo);
+ resolveInfo.serviceInfo = mMockServiceInfo;
+ mEnabledServiceList.add(a11yServiceInfo);
+ }
+
private class A11yTestableContext extends TestableContext {
A11yTestableContext(Context base) {
super(base);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
index ca22f80..eac8671 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
@@ -198,6 +198,31 @@
}
@Test
+ public void transitionToWindowModeFailedByReset_fullScreenMagnifying_notifyTransitionFailed()
+ throws RemoteException {
+ setMagnificationEnabled(MODE_FULLSCREEN);
+
+ mMagnificationController.transitionMagnificationModeLocked(TEST_DISPLAY,
+ MODE_WINDOW,
+ mTransitionCallBack);
+
+ verify(mScreenMagnificationController).reset(eq(TEST_DISPLAY),
+ mCallbackArgumentCaptor.capture());
+ // The transition is interrupted and failed by calling reset.
+ mCallbackArgumentCaptor.getValue().onResult(false);
+ verify(mTransitionCallBack).onResult(TEST_DISPLAY, false);
+ final ArgumentCaptor<MagnificationConfig> configCaptor = ArgumentCaptor.forClass(
+ MagnificationConfig.class);
+ // The first time is for notifying full-screen enabled and the second time is for notifying
+ // the target mode transitions failed.
+ verify(mService, times(2)).notifyMagnificationChanged(eq(TEST_DISPLAY), any(Region.class),
+ configCaptor.capture());
+ final MagnificationConfig actualConfig = configCaptor.getValue();
+ assertEquals(MODE_FULLSCREEN, actualConfig.getMode(), 0);
+ assertEquals(1.0f, actualConfig.getScale(), 0);
+ }
+
+ @Test
public void transitionToWindowMode_disablingWindowMode_enablingWindowWithFormerCenter()
throws RemoteException {
setMagnificationEnabled(MODE_WINDOW);
@@ -479,6 +504,92 @@
}
@Test
+ public void transitionMagnificationMode_windowEnabled_notifyTargetMagnificationChanged()
+ throws RemoteException {
+ setMagnificationEnabled(MODE_WINDOW);
+
+ mMagnificationController.transitionMagnificationModeLocked(TEST_DISPLAY,
+ MODE_FULLSCREEN, mTransitionCallBack);
+ mMockConnection.invokeCallbacks();
+
+ final ArgumentCaptor<MagnificationConfig> configCaptor = ArgumentCaptor.forClass(
+ MagnificationConfig.class);
+ // The first time is for notifying window enabled and the second time is for notifying
+ // the target mode transitions.
+ verify(mService, times(2)).notifyMagnificationChanged(eq(TEST_DISPLAY), any(Region.class),
+ configCaptor.capture());
+ final MagnificationConfig actualConfig = configCaptor.getValue();
+ assertEquals(MODE_FULLSCREEN, actualConfig.getMode(), 0);
+ }
+
+ @Test
+ public void transitionConfigMode_windowEnabled_notifyTargetMagnificationChanged()
+ throws RemoteException {
+ setMagnificationEnabled(MODE_WINDOW);
+
+ final MagnificationConfig config = obtainMagnificationConfig(MODE_FULLSCREEN);
+ mMagnificationController.transitionMagnificationConfigMode(TEST_DISPLAY,
+ config, true, TEST_SERVICE_ID);
+ mMockConnection.invokeCallbacks();
+
+ final ArgumentCaptor<MagnificationConfig> configCaptor = ArgumentCaptor.forClass(
+ MagnificationConfig.class);
+ // The first time is for notifying window enabled and the second time is for notifying
+ // the target mode transitions.
+ verify(mService, times(2)).notifyMagnificationChanged(eq(TEST_DISPLAY), any(Region.class),
+ configCaptor.capture());
+ final MagnificationConfig actualConfig = configCaptor.getValue();
+ assertEquals(config.getCenterX(), actualConfig.getCenterX(), 0);
+ assertEquals(config.getCenterY(), actualConfig.getCenterY(), 0);
+ assertEquals(config.getScale(), actualConfig.getScale(), 0);
+ }
+
+ @Test
+ public void transitionMagnificationMode_fullScreenEnabled_notifyTargetMagnificationChanged()
+ throws RemoteException {
+ setMagnificationEnabled(MODE_FULLSCREEN);
+
+ mMagnificationController.transitionMagnificationModeLocked(TEST_DISPLAY,
+ MODE_WINDOW, mTransitionCallBack);
+ verify(mScreenMagnificationController).reset(eq(TEST_DISPLAY),
+ mCallbackArgumentCaptor.capture());
+ mCallbackArgumentCaptor.getValue().onResult(true);
+ mMockConnection.invokeCallbacks();
+
+ final ArgumentCaptor<MagnificationConfig> configCaptor = ArgumentCaptor.forClass(
+ MagnificationConfig.class);
+ // The first time is for notifying full-screen enabled and the second time is for notifying
+ // the target mode transitions.
+ verify(mService, times(2)).notifyMagnificationChanged(eq(TEST_DISPLAY), any(Region.class),
+ configCaptor.capture());
+ final MagnificationConfig actualConfig = configCaptor.getValue();
+ assertEquals(MODE_WINDOW, actualConfig.getMode(), 0);
+ }
+
+ @Test
+ public void transitionConfigMode_fullScreenEnabled_notifyTargetMagnificationChanged()
+ throws RemoteException {
+ setMagnificationEnabled(MODE_FULLSCREEN);
+
+ final MagnificationConfig config = obtainMagnificationConfig(MODE_WINDOW);
+ mMagnificationController.transitionMagnificationConfigMode(TEST_DISPLAY,
+ config, true, TEST_SERVICE_ID);
+ mMockConnection.invokeCallbacks();
+
+ final ArgumentCaptor<MagnificationConfig> configCaptor = ArgumentCaptor.forClass(
+ MagnificationConfig.class);
+ // The first time is for notifying full-screen enabled and the second time is for notifying
+ // the target mode transitions.
+ verify(mService, times(2)).notifyMagnificationChanged(eq(TEST_DISPLAY), any(Region.class),
+ configCaptor.capture());
+ final MagnificationConfig actualConfig = configCaptor.getValue();
+ assertEquals(config.getCenterX(), actualConfig.getCenterX(), 0);
+ assertEquals(config.getCenterY(), actualConfig.getCenterY(), 0);
+ assertEquals(config.getScale(), actualConfig.getScale(), 0);
+ }
+
+
+ @Test
public void onAccessibilityActionPerformed_magnifierEnabled_showMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_WINDOW);
@@ -743,7 +854,7 @@
}
@Test
- public void disableWindowMode_windowModeInActive_removeMagnificationButton()
+ public void disableWindowMode_windowEnabled_removeMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_WINDOW);
@@ -753,7 +864,7 @@
}
@Test
- public void onFullScreenDeactivated_fullscreenModeInActive_removeMagnificationButton()
+ public void onFullScreenDeactivated_fullScreenEnabled_removeMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_FULLSCREEN);
mScreenMagnificationController.setScaleAndCenter(TEST_DISPLAY,
@@ -766,7 +877,7 @@
}
@Test
- public void transitionToFullScreenMode_fullscreenModeInActive_showMagnificationButton()
+ public void transitionToFullScreenMode_windowEnabled_showMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_WINDOW);
@@ -779,7 +890,7 @@
}
@Test
- public void transitionToWindow_fullscreenModeInActive_showMagnificationButton()
+ public void transitionToWindow_fullScreenEnabled_showMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_FULLSCREEN);
@@ -1018,7 +1129,6 @@
reset();
}
-
final MagnificationConfig config = new MagnificationConfig.Builder().setMode(
MODE_FULLSCREEN).setScale(mScale).setCenterX(mCenterX).setCenterY(
mCenterY).build();
diff --git a/services/tests/servicestests/src/com/android/server/appwidget/AppWidgetServiceImplTest.java b/services/tests/servicestests/src/com/android/server/appwidget/AppWidgetServiceImplTest.java
index ff8fedc..7610b7c 100644
--- a/services/tests/servicestests/src/com/android/server/appwidget/AppWidgetServiceImplTest.java
+++ b/services/tests/servicestests/src/com/android/server/appwidget/AppWidgetServiceImplTest.java
@@ -28,6 +28,9 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.AppOpsManagerInternal;
import android.app.admin.DevicePolicyManagerInternal;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetManagerInternal;
@@ -39,11 +42,16 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.LauncherApps;
+import android.content.pm.PackageManagerInternal;
import android.content.pm.ShortcutServiceInternal;
import android.os.Handler;
import android.os.UserHandle;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
+import android.util.AtomicFile;
+import android.util.TypedXmlPullParser;
+import android.util.TypedXmlSerializer;
+import android.util.Xml;
import android.widget.RemoteViews;
import com.android.frameworks.servicestests.R;
@@ -51,9 +59,16 @@
import com.android.server.LocalServices;
import org.mockito.ArgumentCaptor;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.util.Iterator;
import java.util.List;
+import java.util.Objects;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
@@ -77,6 +92,8 @@
private AppWidgetManager mManager;
private ShortcutServiceInternal mMockShortcutService;
+ private PackageManagerInternal mMockPackageManager;
+ private AppOpsManagerInternal mMockAppOpsManagerInternal;
private IAppWidgetHost mMockHost;
@Override
@@ -85,6 +102,8 @@
LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
LocalServices.removeServiceForTest(ShortcutServiceInternal.class);
LocalServices.removeServiceForTest(AppWidgetManagerInternal.class);
+ LocalServices.removeServiceForTest(PackageManagerInternal.class);
+ LocalServices.removeServiceForTest(AppOpsManagerInternal.class);
mTestContext = new TestContext();
mPkgName = mTestContext.getOpPackageName();
@@ -92,9 +111,16 @@
mManager = new AppWidgetManager(mTestContext, mService);
mMockShortcutService = mock(ShortcutServiceInternal.class);
+ mMockPackageManager = mock(PackageManagerInternal.class);
+ mMockAppOpsManagerInternal = mock(AppOpsManagerInternal.class);
mMockHost = mock(IAppWidgetHost.class);
LocalServices.addService(ShortcutServiceInternal.class, mMockShortcutService);
+ LocalServices.addService(PackageManagerInternal.class, mMockPackageManager);
+ LocalServices.addService(AppOpsManagerInternal.class, mMockAppOpsManagerInternal);
+ when(mMockPackageManager.filterAppAccess(anyString(), anyInt(), anyInt()))
+ .thenReturn(false);
mService.onStart();
+ mService.systemServicesReady();
}
public void testLoadDescription() {
@@ -323,6 +349,34 @@
assertThat(info.previewLayout).isEqualTo(R.layout.widget_preview);
}
+ public void testWidgetProviderInfoPersistence() throws IOException {
+ final AppWidgetProviderInfo original = new AppWidgetProviderInfo();
+ original.minWidth = 40;
+ original.minHeight = 40;
+ original.maxResizeWidth = 250;
+ original.maxResizeHeight = 120;
+ original.targetCellWidth = 1;
+ original.targetCellHeight = 1;
+ original.updatePeriodMillis = 86400000;
+ original.previewLayout = R.layout.widget_preview;
+ original.label = "test";
+
+ final File file = new File(mTestContext.getDataDir(), "appwidget_provider_info.xml");
+ saveWidgetProviderInfoLocked(file, original);
+ final AppWidgetProviderInfo target = loadAppWidgetProviderInfoLocked(file);
+
+ assertThat(target.minWidth).isEqualTo(original.minWidth);
+ assertThat(target.minHeight).isEqualTo(original.minHeight);
+ assertThat(target.minResizeWidth).isEqualTo(original.minResizeWidth);
+ assertThat(target.minResizeHeight).isEqualTo(original.minResizeHeight);
+ assertThat(target.maxResizeWidth).isEqualTo(original.maxResizeWidth);
+ assertThat(target.maxResizeHeight).isEqualTo(original.maxResizeHeight);
+ assertThat(target.targetCellWidth).isEqualTo(original.targetCellWidth);
+ assertThat(target.targetCellHeight).isEqualTo(original.targetCellHeight);
+ assertThat(target.updatePeriodMillis).isEqualTo(original.updatePeriodMillis);
+ assertThat(target.previewLayout).isEqualTo(original.previewLayout);
+ }
+
private int setupHostAndWidget() {
List<PendingHostUpdate> updates = mService.startListening(
mMockHost, mPkgName, HOST_ID, new int[0]).getList();
@@ -353,6 +407,44 @@
return mTestContext.getResources().getInteger(resId);
}
+ private static void saveWidgetProviderInfoLocked(@NonNull final File dst,
+ @Nullable final AppWidgetProviderInfo info)
+ throws IOException {
+ Objects.requireNonNull(dst);
+ if (info == null) {
+ return;
+ }
+ final AtomicFile file = new AtomicFile(dst);
+ final FileOutputStream stream = file.startWrite();
+ final TypedXmlSerializer out = Xml.resolveSerializer(stream);
+ out.startDocument(null, true);
+ out.startTag(null, "p");
+ AppWidgetXmlUtil.writeAppWidgetProviderInfoLocked(out, info);
+ out.endTag(null, "p");
+ out.endDocument();
+ file.finishWrite(stream);
+ }
+
+ public static AppWidgetProviderInfo loadAppWidgetProviderInfoLocked(@NonNull final File dst) {
+ Objects.requireNonNull(dst);
+ final AtomicFile file = new AtomicFile(dst);
+ try (FileInputStream stream = file.openRead()) {
+ final TypedXmlPullParser parser = Xml.resolvePullParser(stream);
+ int type;
+ while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+ && type != XmlPullParser.START_TAG) {
+ // drain whitespace, comments, etc.
+ }
+ final String nodeName = parser.getName();
+ if (!"p".equals(nodeName)) {
+ return null;
+ }
+ return AppWidgetXmlUtil.readAppWidgetProviderInfoLocked(parser);
+ } catch (IOException | XmlPullParserException e) {
+ return null;
+ }
+ }
+
private class TestContext extends ContextWrapper {
public TestContext() {
diff --git a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java
index d1b0156..808f8c2c 100644
--- a/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java
@@ -92,6 +92,7 @@
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.function.Consumer;
@Presubmit
@RunWith(AndroidTestingRunner.class)
@@ -133,6 +134,8 @@
@Mock
private IVirtualDeviceActivityListener mActivityListener;
@Mock
+ private Consumer<ArraySet<Integer>> mRunningAppsChangedCallback;
+ @Mock
IPowerManager mIPowerManagerMock;
@Mock
IThermalService mIThermalServiceMock;
@@ -207,7 +210,7 @@
mDeviceImpl = new VirtualDeviceImpl(mContext,
mAssociationInfo, new Binder(), /* uid */ 0, mInputController,
(int associationId) -> {
- }, mPendingTrampolineCallback, mActivityListener,
+ }, mPendingTrampolineCallback, mActivityListener, mRunningAppsChangedCallback,
params);
}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceMigrationTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceMigrationTest.java
index f834b34..9ba7a9a 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceMigrationTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceMigrationTest.java
@@ -33,8 +33,6 @@
import static org.mockito.Mockito.when;
import android.app.admin.DevicePolicyManager;
-import android.app.admin.DevicePolicyManagerInternal;
-import android.app.admin.DevicePolicyManagerLiteInternal;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -50,7 +48,6 @@
import androidx.test.runner.AndroidJUnit4;
import com.android.frameworks.servicestests.R;
-import com.android.server.LocalServices;
import com.android.server.SystemService;
import org.junit.Before;
@@ -164,9 +161,6 @@
final long ident = mContext.binder.clearCallingIdentity();
try {
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
-
dpms = new DevicePolicyManagerServiceTestable(getServices(), mContext);
dpms.systemReady(SystemService.PHASE_LOCK_SETTINGS_READY);
@@ -278,9 +272,6 @@
final long ident = mContext.binder.clearCallingIdentity();
try {
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
-
dpms = new DevicePolicyManagerServiceTestable(getServices(), mContext);
dpms.systemReady(SystemService.PHASE_LOCK_SETTINGS_READY);
@@ -347,9 +338,6 @@
// (Need clearCallingIdentity() to pass permission checks.)
final long ident = mContext.binder.clearCallingIdentity();
try {
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
-
dpms = new DevicePolicyManagerServiceTestable(getServices(), mContext);
dpms.systemReady(SystemService.PHASE_LOCK_SETTINGS_READY);
@@ -508,9 +496,6 @@
DevicePolicyManagerServiceTestable dpms;
final long ident = mContext.binder.clearCallingIdentity();
try {
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
-
dpms = new DevicePolicyManagerServiceTestable(getServices(), mContext);
dpms.systemReady(SystemService.PHASE_LOCK_SETTINGS_READY);
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
index 4f87f9d..2dbf728 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java
@@ -21,6 +21,8 @@
import android.app.IActivityTaskManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
+import android.app.admin.DevicePolicyManagerInternal;
+import android.app.admin.DevicePolicyManagerLiteInternal;
import android.app.backup.IBackupManager;
import android.app.usage.UsageStatsManagerInternal;
import android.content.Context;
@@ -49,6 +51,7 @@
import com.android.internal.util.FunctionalUtils.ThrowingRunnable;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockSettingsInternal;
+import com.android.server.LocalServices;
import com.android.server.PersistentDataBlockManagerInternal;
import com.android.server.net.NetworkPolicyManagerInternal;
import com.android.server.pm.UserManagerInternal;
@@ -99,11 +102,22 @@
}
private DevicePolicyManagerServiceTestable(MockInjector injector) {
- super(injector);
+ super(unregisterLocalServices(injector));
mMockInjector = injector;
this.context = injector.context;
}
+ /**
+ * Unregisters local services to avoid IllegalStateException when DPMS ctor re-registers them.
+ * This is made into a static method to circumvent the requirement to call super() first.
+ * Returns its parameter as is.
+ */
+ private static MockInjector unregisterLocalServices(MockInjector injector) {
+ LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
+ LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
+ return injector;
+ }
+
public void notifyChangeToContentObserver(Uri uri, int userHandle) {
ContentObserver co = mMockInjector.mContentObservers.get(new Pair<>(uri, userHandle));
if (co != null) {
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index ea136da..7b11876d0 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -328,8 +328,6 @@
private void initializeDpms() {
// Need clearCallingIdentity() to pass permission checks.
final long ident = mContext.binder.clearCallingIdentity();
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
dpms = new DevicePolicyManagerServiceTestable(getServices(), mContext);
dpms.systemReady(SystemService.PHASE_LOCK_SETTINGS_READY);
@@ -417,8 +415,6 @@
when(getServices().packageManager.hasSystemFeature(eq(PackageManager.FEATURE_DEVICE_ADMIN)))
.thenReturn(false);
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
- LocalServices.removeServiceForTest(DevicePolicyManagerLiteInternal.class);
new DevicePolicyManagerServiceTestable(getServices(), mContext);
// If the device has no DPMS feature, it shouldn't register the local service.
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
index 69aaf01..d55f379 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
@@ -27,7 +27,6 @@
import android.app.admin.ConnectEvent;
import android.app.admin.DeviceAdminReceiver;
-import android.app.admin.DevicePolicyManagerInternal;
import android.app.admin.DnsEvent;
import android.app.admin.NetworkEvent;
import android.content.Intent;
@@ -40,8 +39,6 @@
import android.os.test.TestLooper;
import android.test.suitebuilder.annotation.SmallTest;
-import com.android.server.LocalServices;
-
import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -66,7 +63,6 @@
android.Manifest.permission.MANAGE_DEVICE_ADMINS);
doNothing().when(mSpiedDpmMockContext).sendBroadcastAsUser(any(Intent.class),
any(UserHandle.class));
- LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
mDpmTestable = new DevicePolicyManagerServiceTestable(getServices(), mSpiedDpmMockContext);
setUpPackageManagerForAdmin(admin1, DpmMockContext.CALLER_UID);
mDpmTestable.setActiveAdmin(admin1, true, DpmMockContext.CALLER_USER_HANDLE);
diff --git a/services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java b/services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java
index d8f4349..3be2aac 100644
--- a/services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/AppsFilterImplTest.java
@@ -30,7 +30,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManagerInternal;
import android.content.pm.Signature;
import android.content.pm.SigningDetails;
import android.content.pm.UserInfo;
@@ -48,7 +47,6 @@
import com.android.server.pm.parsing.pkg.AndroidPackage;
import com.android.server.pm.parsing.pkg.PackageImpl;
import com.android.server.pm.parsing.pkg.ParsedPackage;
-import com.android.server.pm.pkg.PackageStateInternal;
import com.android.server.pm.pkg.component.ParsedActivity;
import com.android.server.pm.pkg.component.ParsedActivityImpl;
import com.android.server.pm.pkg.component.ParsedInstrumentationImpl;
@@ -69,6 +67,7 @@
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -103,10 +102,9 @@
AppsFilterImpl.StateProvider mStateProvider;
@Mock
Executor mMockExecutor;
- @Mock
- PackageManagerInternal mMockPmInternal;
private ArrayMap<String, PackageSetting> mExisting = new ArrayMap<>();
+ private Collection<SharedUserSetting> mSharedUserSettings = new ArraySet<>();
private static ParsingPackage pkg(String packageName) {
return PackageImpl.forTesting(packageName)
@@ -205,7 +203,7 @@
MockitoAnnotations.initMocks(this);
doAnswer(invocation -> {
((AppsFilterImpl.StateProvider.CurrentStateCallback) invocation.getArgument(0))
- .currentState(mExisting, USER_INFO_LIST);
+ .currentState(mExisting, mSharedUserSettings, USER_INFO_LIST);
return new Object();
}).when(mStateProvider)
.runWithState(any(AppsFilterImpl.StateProvider.CurrentStateCallback.class));
@@ -226,7 +224,7 @@
public void testSystemReadyPropogates() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
appsFilter.onSystemReady();
@@ -238,7 +236,7 @@
public void testQueriesAction_FilterMatches() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -261,7 +259,7 @@
public void testQueriesProtectedAction_FilterDoesNotMatch() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
final Signature frameworkSignature = Mockito.mock(Signature.class);
@@ -310,7 +308,7 @@
public void testQueriesProvider_FilterMatches() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -335,7 +333,7 @@
public void testOnUserUpdated_FilterMatches() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -357,7 +355,7 @@
// adds new user
doAnswer(invocation -> {
((AppsFilterImpl.StateProvider.CurrentStateCallback) invocation.getArgument(0))
- .currentState(mExisting, USER_INFO_LIST_WITH_ADDED);
+ .currentState(mExisting, mSharedUserSettings, USER_INFO_LIST_WITH_ADDED);
return new Object();
}).when(mStateProvider)
.runWithState(any(AppsFilterImpl.StateProvider.CurrentStateCallback.class));
@@ -374,7 +372,7 @@
// delete user
doAnswer(invocation -> {
((AppsFilterImpl.StateProvider.CurrentStateCallback) invocation.getArgument(0))
- .currentState(mExisting, USER_INFO_LIST);
+ .currentState(mExisting, mSharedUserSettings, USER_INFO_LIST);
return new Object();
}).when(mStateProvider)
.runWithState(any(AppsFilterImpl.StateProvider.CurrentStateCallback.class));
@@ -393,7 +391,7 @@
public void testQueriesDifferentProvider_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -418,7 +416,7 @@
public void testQueriesProviderWithSemiColon_FilterMatches() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -437,7 +435,7 @@
public void testQueriesAction_NoMatchingAction_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -454,7 +452,7 @@
public void testQueriesAction_NoMatchingActionFilterLowSdk_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -475,7 +473,7 @@
public void testNoQueries_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -492,7 +490,7 @@
public void testNoUsesLibrary_Filters() throws Exception {
final AppsFilterImpl appsFilter = new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{}, /* systemAppsQueryable */ false, /* overlayProvider */ null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -518,7 +516,7 @@
public void testUsesLibrary_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter = new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{}, /* systemAppsQueryable */ false, /* overlayProvider */ null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -545,7 +543,7 @@
public void testUsesOptionalLibrary_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter = new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{}, /* systemAppsQueryable */ false, /* overlayProvider */ null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -572,7 +570,7 @@
public void testUsesLibrary_ShareUid_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter = new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{}, /* systemAppsQueryable */ false, /* overlayProvider */ null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -604,7 +602,7 @@
public void testForceQueryable_SystemDoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -623,7 +621,7 @@
public void testForceQueryable_NonSystemFilters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -641,7 +639,7 @@
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{"com.some.package"}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -660,7 +658,7 @@
public void testSystemSignedTarget_DoesntFilter() throws CertificateException {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
appsFilter.onSystemReady();
final Signature frameworkSignature = Mockito.mock(Signature.class);
@@ -690,7 +688,7 @@
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock,
new String[]{"com.some.package"}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -708,8 +706,7 @@
public void testSystemQueryable_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{},
- true /* system force queryable */, null, mMockExecutor,
- mMockPmInternal);
+ true /* system force queryable */, null, mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -727,7 +724,7 @@
public void testQueriesPackage_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -746,7 +743,7 @@
.thenReturn(false);
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -763,7 +760,7 @@
public void testSystemUid_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -779,7 +776,7 @@
public void testSystemUidSecondaryUser_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -796,7 +793,7 @@
public void testNonSystemUid_NoCallingSetting_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -811,7 +808,7 @@
public void testNoTargetPackage_filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -869,7 +866,7 @@
return Collections.emptyMap();
}
},
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -925,16 +922,11 @@
.setOverlayTargetOverlayableName("overlayableName");
ParsingPackage actorOne = pkg("com.some.package.actor.one");
ParsingPackage actorTwo = pkg("com.some.package.actor.two");
- ArraySet<PackageStateInternal> actorSharedSettingPackages = new ArraySet<>();
PackageSetting ps1 = getPackageSettingFromParsingPackage(actorOne, DUMMY_ACTOR_APPID,
null /*settingBuilder*/);
PackageSetting ps2 = getPackageSettingFromParsingPackage(actorTwo, DUMMY_ACTOR_APPID,
null /*settingBuilder*/);
- actorSharedSettingPackages.add(ps1);
- actorSharedSettingPackages.add(ps2);
- when(mMockPmInternal.getSharedUserPackages(any(Integer.class))).thenReturn(
- actorSharedSettingPackages
- );
+
final AppsFilterImpl appsFilter = new AppsFilterImpl(
mStateProvider,
mFeatureConfigMock,
@@ -965,7 +957,7 @@
return Collections.emptyMap();
}
},
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -989,7 +981,7 @@
public void testInitiatingApp_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -1007,7 +999,7 @@
public void testUninstalledInitiatingApp_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -1025,7 +1017,7 @@
public void testOriginatingApp_Filters() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -1050,7 +1042,7 @@
public void testInstallingApp_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -1075,7 +1067,7 @@
public void testInstrumentation_DoesntFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -1104,7 +1096,7 @@
public void testWhoCanSee() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -1177,7 +1169,7 @@
public void testOnChangeReport() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange");
watcher.register();
simulateAddBasicAndroid(appsFilter);
@@ -1250,7 +1242,7 @@
public void testOnChangeReportedFilter() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
final WatchableTester watcher = new WatchableTester(appsFilter, "onChange filter");
@@ -1276,7 +1268,7 @@
public void testAppsFilterRead() throws Exception {
final AppsFilterImpl appsFilter =
new AppsFilterImpl(mStateProvider, mFeatureConfigMock, new String[]{}, false, null,
- mMockExecutor, mMockPmInternal);
+ mMockExecutor);
simulateAddBasicAndroid(appsFilter);
appsFilter.onSystemReady();
@@ -1379,6 +1371,7 @@
if (sharedUserSetting != null) {
sharedUserSetting.addPackage(setting);
setting.setSharedUserAppId(sharedUserSetting.mAppId);
+ mSharedUserSettings.add(sharedUserSetting);
}
filter.addPackage(setting);
}
diff --git a/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java b/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java
index 0c28d8c..0a50e79 100644
--- a/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java
+++ b/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java
@@ -193,7 +193,7 @@
public void removeListener_noMoreCallbacksToListener() {
mVibrationSettings.addListener(mListenerMock);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
+ setUserSetting(Settings.System.RING_VIBRATION_INTENSITY, 0);
verify(mListenerMock).onChange();
mVibrationSettings.removeListener(mListenerMock);
@@ -291,8 +291,6 @@
public void shouldIgnoreVibration_withRingerModeSilent_ignoresRingtoneAndNotification() {
// Vibrating settings on are overruled by ringer mode.
setUserSetting(Settings.System.HAPTIC_FEEDBACK_ENABLED, 1);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
setRingerMode(AudioManager.RINGER_MODE_SILENT);
for (int usage : ALL_USAGES) {
@@ -360,44 +358,25 @@
assertVibrationNotIgnoredForUsage(usage);
}
}
+
@Test
- public void shouldIgnoreVibration_withRingSettingsOff_disableRingtoneVibrations() {
+ public void shouldIgnoreVibration_withRingSettingsOff_allowsAllVibrations() {
+ // VIBRATE_WHEN_RINGING is deprecated and should have no effect on the ring vibration
+ // setting. The ramping ringer is also independent now, instead of a 3-state setting.
setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
for (int usage : ALL_USAGES) {
- if (usage == USAGE_RINGTONE) {
- assertVibrationIgnoredForUsage(usage, Vibration.Status.IGNORED_FOR_SETTINGS);
- } else {
- assertVibrationNotIgnoredForUsage(usage);
- }
+ assertVibrationNotIgnoredForUsage(usage);
assertVibrationNotIgnoredForUsageAndFlags(usage,
VibrationAttributes.FLAG_BYPASS_USER_VIBRATION_INTENSITY_OFF);
}
}
@Test
- public void shouldIgnoreVibration_withRingSettingsOn_allowsAllVibrations() {
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
-
- for (int usage : ALL_USAGES) {
- assertVibrationNotIgnoredForUsage(usage);
- }
- }
-
- @Test
- public void shouldIgnoreVibration_withRampingRingerOn_allowsAllVibrations() {
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
-
- for (int usage : ALL_USAGES) {
- assertVibrationNotIgnoredForUsage(usage);
- }
- }
-
- @Test
public void shouldIgnoreVibration_withHapticFeedbackDisabled_ignoresTouchVibration() {
+ // HAPTIC_FEEDBACK_ENABLED is deprecated but it was the only setting used to disable touch
+ // feedback vibrations. Continue to apply this on top of the intensity setting.
setUserSetting(Settings.System.HAPTIC_FEEDBACK_ENABLED, 0);
for (int usage : ALL_USAGES) {
@@ -459,8 +438,6 @@
@Test
public void shouldIgnoreVibration_withRingSettingsOff_ignoresRingtoneVibrations() {
// Vibrating settings on are overruled by ring intensity setting.
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
setUserSetting(Settings.System.RING_VIBRATION_INTENSITY, VIBRATION_INTENSITY_OFF);
@@ -479,7 +456,6 @@
public void shouldIgnoreVibration_updateTriggeredAfterInternalRingerModeChanged() {
// Vibrating settings on are overruled by ringer mode.
setUserSetting(Settings.System.HAPTIC_FEEDBACK_ENABLED, 1);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
setRingerMode(AudioManager.RINGER_MODE_NORMAL);
diff --git a/services/tests/servicestests/src/com/android/server/vibrator/VibratorManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/vibrator/VibratorManagerServiceTest.java
index 4fbf006..c735bb7 100644
--- a/services/tests/servicestests/src/com/android/server/vibrator/VibratorManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/vibrator/VibratorManagerServiceTest.java
@@ -559,30 +559,26 @@
}
@Test
- public void vibrate_withRingtone_usesRingtoneSettings() throws Exception {
+ public void vibrate_withRingtone_usesRingerModeSettings() throws Exception {
mockVibrators(1);
FakeVibratorControllerProvider fakeVibrator = mVibratorProviders.get(1);
fakeVibrator.setSupportedEffects(VibrationEffect.EFFECT_CLICK,
VibrationEffect.EFFECT_HEAVY_CLICK, VibrationEffect.EFFECT_DOUBLE_CLICK);
- setRingerMode(AudioManager.RINGER_MODE_NORMAL);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
+ setRingerMode(AudioManager.RINGER_MODE_SILENT);
VibratorManagerService service = createSystemReadyService();
vibrate(service, VibrationEffect.get(VibrationEffect.EFFECT_CLICK), RINGTONE_ATTRS);
// Wait before checking it never played.
assertFalse(waitUntil(s -> !fakeVibrator.getAllEffectSegments().isEmpty(),
service, /* timeout= */ 50));
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
+ setRingerMode(AudioManager.RINGER_MODE_NORMAL);
service = createSystemReadyService();
vibrate(service, VibrationEffect.get(VibrationEffect.EFFECT_HEAVY_CLICK), RINGTONE_ATTRS);
assertTrue(waitUntil(s -> fakeVibrator.getAllEffectSegments().size() == 1,
service, TEST_TIMEOUT_MILLIS));
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
+ setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
service = createSystemReadyService();
vibrate(service, VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK), RINGTONE_ATTRS);
assertTrue(waitUntil(s -> fakeVibrator.getAllEffectSegments().size() == 2,
@@ -1225,7 +1221,6 @@
mockVibrators(1);
mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_EXTERNAL_CONTROL);
setRingerMode(AudioManager.RINGER_MODE_NORMAL);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
createSystemReadyService();
IBinder firstToken = mock(IBinder.class);
@@ -1296,21 +1291,17 @@
ExternalVibration externalVibration = new ExternalVibration(UID, PACKAGE_NAME, audioAttrs,
mock(IExternalVibrationController.class));
- setRingerMode(AudioManager.RINGER_MODE_NORMAL);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
+ setRingerMode(AudioManager.RINGER_MODE_SILENT);
createSystemReadyService();
int scale = mExternalVibratorService.onExternalVibrationStart(externalVibration);
assertEquals(IExternalVibratorService.SCALE_MUTE, scale);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 1);
+ setRingerMode(AudioManager.RINGER_MODE_NORMAL);
createSystemReadyService();
scale = mExternalVibratorService.onExternalVibrationStart(externalVibration);
assertNotEquals(IExternalVibratorService.SCALE_MUTE, scale);
- setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1);
- setUserSetting(Settings.System.APPLY_RAMPING_RINGER, 0);
+ setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
createSystemReadyService();
scale = mExternalVibratorService.onExternalVibrationStart(externalVibration);
assertNotEquals(IExternalVibratorService.SCALE_MUTE, scale);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
index 7e27e54..d89141c 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
@@ -816,8 +816,10 @@
when(ugm.checkGrantUriPermission(anyInt(), eq(null), any(Uri.class),
anyInt(), anyInt())).thenThrow(new SecurityException());
- Notification n = mock(Notification.class);
- when(n.getChannelId()).thenReturn(channel.getId());
+ channel.setSound(null, null);
+ Notification n = new Notification.Builder(mContext, channel.getId())
+ .setSmallIcon(Icon.createWithContentUri(Uri.parse("content://something")))
+ .build();
StatusBarNotification sbn =
new StatusBarNotification(PKG_P, PKG_P, id1, tag1, uid, uid, n, mUser, null, uid);
NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
@@ -833,6 +835,27 @@
}
@Test
+ public void testCalculateGrantableUris_PappProvided_invalidSound() {
+ IActivityManager am = mock(IActivityManager.class);
+ UriGrantsManagerInternal ugm = mock(UriGrantsManagerInternal.class);
+ when(ugm.checkGrantUriPermission(anyInt(), eq(null), any(Uri.class),
+ anyInt(), anyInt())).thenThrow(new SecurityException());
+
+ channel.setSound(Uri.parse("content://something"), mock(AudioAttributes.class));
+
+ Notification n = mock(Notification.class);
+ when(n.getChannelId()).thenReturn(channel.getId());
+ StatusBarNotification sbn =
+ new StatusBarNotification(PKG_P, PKG_P, id1, tag1, uid, uid, n, mUser, null, uid);
+ NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+ record.mAm = am;
+ record.mUgmInternal = ugm;
+
+ record.calculateGrantableUris();
+ assertEquals(Settings.System.DEFAULT_NOTIFICATION_URI, record.getSound());
+ }
+
+ @Test
public void testCalculateGrantableUris_PuserOverridden() {
IActivityManager am = mock(IActivityManager.class);
UriGrantsManagerInternal ugm = mock(UriGrantsManagerInternal.class);
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
index 3be7011..31bc281 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -2693,7 +2693,7 @@
.resumeFocusedTasksTopActivities();
// Make mVisibleSetFromTransferredStartingWindow true.
final ActivityRecord middle = new ActivityBuilder(mAtm).setTask(task).build();
- task.startActivityLocked(middle, null /* focusedTopActivity */,
+ task.startActivityLocked(middle, null /* topTask */,
false /* newTask */, false /* isTaskSwitch */, null /* options */,
null /* sourceRecord */);
middle.makeFinishingLocked();
@@ -2706,7 +2706,7 @@
// a visible activity.
top.setVisible(false);
// The finishing middle should be able to transfer starting window to top.
- task.startActivityLocked(top, null /* focusedTopActivity */,
+ task.startActivityLocked(top, null /* topTask */,
false /* newTask */, false /* isTaskSwitch */, null /* options */,
null /* sourceRecord */);
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
index ebefeaf..e4628c4 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
@@ -88,6 +88,11 @@
verify(mTransaction).setLayer(eq(mActivity.mAnimationBoundsLayer),
intThat(layer -> layer > topActivity.getLastLayer()));
+
+ // The layer should be restored after the animation leash is removed.
+ mActivity.onAnimationLeashLost(mTransaction);
+ assertThat(mActivity.mNeedsZBoost).isFalse();
+ assertThat(topActivity.getLastLayer()).isGreaterThan(mActivity.getLastLayer());
}
@Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
index 762c08f..8ef9ada 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
@@ -300,6 +300,81 @@
assertTrue(firstActivity.mRequestForceTransition);
}
+ /**
+ * When there is only one activity in the Task, and the activity is requesting to enter PIP, the
+ * whole Task should enter PIP.
+ */
+ @Test
+ public void testSingleActivityTaskEnterPip() {
+ final Task fullscreenTask = mRootWindowContainer.getDefaultTaskDisplayArea().createRootTask(
+ WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+ final ActivityRecord activity = new ActivityBuilder(mAtm)
+ .setTask(fullscreenTask)
+ .build();
+ final Task task = activity.getTask();
+
+ // Move activity to pinned root task.
+ mRootWindowContainer.moveActivityToPinnedRootTask(activity,
+ null /* launchIntoPipHostActivity */, "test");
+
+ // Ensure a task has moved over.
+ ensureTaskPlacement(task, activity);
+ assertTrue(task.inPinnedWindowingMode());
+ }
+
+ /**
+ * When there is only one activity in the Task, and the activity is requesting to enter PIP, the
+ * whole Task should enter PIP even if the activity is in a TaskFragment.
+ */
+ @Test
+ public void testSingleActivityInTaskFragmentEnterPip() {
+ final Task fullscreenTask = mRootWindowContainer.getDefaultTaskDisplayArea().createRootTask(
+ WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+ final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm)
+ .setParentTask(fullscreenTask)
+ .createActivityCount(1)
+ .build();
+ final ActivityRecord activity = taskFragment.getTopMostActivity();
+ final Task task = activity.getTask();
+
+ // Move activity to pinned root task.
+ mRootWindowContainer.moveActivityToPinnedRootTask(activity,
+ null /* launchIntoPipHostActivity */, "test");
+
+ // Ensure a task has moved over.
+ ensureTaskPlacement(task, activity);
+ assertTrue(task.inPinnedWindowingMode());
+ }
+
+ /**
+ * When there is one TaskFragment with two activities in the Task, the activity requests to
+ * enter PIP, that activity will be move to PIP root task.
+ */
+ @Test
+ public void testMultipleActivitiesInTaskFragmentEnterPip() {
+ final Task fullscreenTask = mRootWindowContainer.getDefaultTaskDisplayArea().createRootTask(
+ WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+ final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm)
+ .setParentTask(fullscreenTask)
+ .createActivityCount(2)
+ .build();
+ final ActivityRecord firstActivity = taskFragment.getTopMostActivity();
+ final ActivityRecord secondActivity = taskFragment.getBottomMostActivity();
+
+ // Move first activity to pinned root task.
+ mRootWindowContainer.moveActivityToPinnedRootTask(firstActivity,
+ null /* launchIntoPipHostActivity */, "test");
+
+ final TaskDisplayArea taskDisplayArea = fullscreenTask.getDisplayArea();
+ final Task pinnedRootTask = taskDisplayArea.getRootPinnedTask();
+
+ // Ensure a task has moved over.
+ ensureTaskPlacement(pinnedRootTask, firstActivity);
+ ensureTaskPlacement(fullscreenTask, secondActivity);
+ assertTrue(pinnedRootTask.inPinnedWindowingMode());
+ assertEquals(WINDOWING_MODE_FULLSCREEN, fullscreenTask.getWindowingMode());
+ }
+
private static void ensureTaskPlacement(Task task, ActivityRecord... activities) {
final ArrayList<ActivityRecord> taskActivities = new ArrayList<>();
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java
index 37719fe..d135de0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java
@@ -16,6 +16,9 @@
package com.android.server.wm;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
+import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
+
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.server.wm.WindowContainer.POSITION_TOP;
@@ -28,6 +31,8 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.mock;
@@ -435,6 +440,107 @@
}
@Test
+ public void testTaskFragmentInPip_startActivityInTaskFragment() {
+ setupTaskFragmentInPip();
+ final ActivityRecord activity = mTaskFragment.getTopMostActivity();
+ final IBinder errorToken = new Binder();
+ spyOn(mAtm.getActivityStartController());
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Not allow to start activity in a TaskFragment that is in a PIP Task.
+ mTransaction.startActivityInTaskFragment(
+ mFragmentToken, activity.token, new Intent(), null /* activityOptions */)
+ .setErrorCallbackToken(errorToken);
+ mAtm.mWindowOrganizerController.applyTransaction(mTransaction);
+
+ verify(mAtm.getActivityStartController(), never()).startActivityInTaskFragment(any(), any(),
+ any(), any(), anyInt(), anyInt());
+ verify(mAtm.mWindowOrganizerController).sendTaskFragmentOperationFailure(eq(mIOrganizer),
+ eq(errorToken), any(IllegalArgumentException.class));
+ }
+
+ @Test
+ public void testTaskFragmentInPip_reparentActivityToTaskFragment() {
+ setupTaskFragmentInPip();
+ final ActivityRecord activity = createActivityRecord(mDisplayContent);
+ final IBinder errorToken = new Binder();
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Not allow to reparent activity to a TaskFragment that is in a PIP Task.
+ mTransaction.reparentActivityToTaskFragment(mFragmentToken, activity.token)
+ .setErrorCallbackToken(errorToken);
+ mAtm.mWindowOrganizerController.applyTransaction(mTransaction);
+
+ verify(mAtm.mWindowOrganizerController).sendTaskFragmentOperationFailure(eq(mIOrganizer),
+ eq(errorToken), any(IllegalArgumentException.class));
+ assertNull(activity.getOrganizedTaskFragment());
+ }
+
+ @Test
+ public void testTaskFragmentInPip_setAdjacentTaskFragment() {
+ setupTaskFragmentInPip();
+ final IBinder errorToken = new Binder();
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Not allow to set adjacent on a TaskFragment that is in a PIP Task.
+ mTransaction.setAdjacentTaskFragments(mFragmentToken, null /* fragmentToken2 */,
+ null /* options */)
+ .setErrorCallbackToken(errorToken);
+ mAtm.mWindowOrganizerController.applyTransaction(mTransaction);
+
+ verify(mAtm.mWindowOrganizerController).sendTaskFragmentOperationFailure(eq(mIOrganizer),
+ eq(errorToken), any(IllegalArgumentException.class));
+ verify(mTaskFragment, never()).setAdjacentTaskFragment(any(), anyBoolean());
+ }
+
+ @Test
+ public void testTaskFragmentInPip_createTaskFragment() {
+ mController.registerOrganizer(mIOrganizer);
+ final Task pipTask = createTask(mDisplayContent, WINDOWING_MODE_PINNED,
+ ACTIVITY_TYPE_STANDARD);
+ final ActivityRecord activity = createActivityRecord(pipTask);
+ final IBinder fragmentToken = new Binder();
+ final IBinder errorToken = new Binder();
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Not allow to create TaskFragment in a PIP Task.
+ createTaskFragmentFromOrganizer(mTransaction, activity, fragmentToken);
+ mTransaction.setErrorCallbackToken(errorToken);
+ mAtm.mWindowOrganizerController.applyTransaction(mTransaction);
+
+ verify(mAtm.mWindowOrganizerController).sendTaskFragmentOperationFailure(eq(mIOrganizer),
+ eq(errorToken), any(IllegalArgumentException.class));
+ assertNull(mAtm.mWindowOrganizerController.getTaskFragment(fragmentToken));
+ }
+
+ @Test
+ public void testTaskFragmentInPip_deleteTaskFragment() {
+ setupTaskFragmentInPip();
+ final IBinder errorToken = new Binder();
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Not allow to delete a TaskFragment that is in a PIP Task.
+ mTransaction.deleteTaskFragment(mFragmentWindowToken)
+ .setErrorCallbackToken(errorToken);
+ mAtm.mWindowOrganizerController.applyTransaction(mTransaction);
+
+ verify(mAtm.mWindowOrganizerController).sendTaskFragmentOperationFailure(eq(mIOrganizer),
+ eq(errorToken), any(IllegalArgumentException.class));
+ assertNotNull(mAtm.mWindowOrganizerController.getTaskFragment(mFragmentToken));
+ }
+
+ @Test
+ public void testTaskFragmentInPip_setConfig() {
+ setupTaskFragmentInPip();
+ spyOn(mAtm.mWindowOrganizerController);
+
+ // Set bounds is ignored on a TaskFragment that is in a PIP Task.
+ mTransaction.setBounds(mFragmentWindowToken, new Rect(0, 0, 100, 100));
+
+ verify(mTaskFragment, never()).setBounds(any());
+ }
+
+ @Test
public void testDeferPendingTaskFragmentEventsOfInvisibleTask() {
// Task - TaskFragment - Activity.
final Task task = createTask(mDisplayContent);
@@ -643,4 +749,20 @@
fail();
}
}
+
+ /** Setups an embedded TaskFragment in a PIP Task. */
+ private void setupTaskFragmentInPip() {
+ mOrganizer.applyTransaction(mTransaction);
+ mController.registerOrganizer(mIOrganizer);
+ mTaskFragment = new TaskFragmentBuilder(mAtm)
+ .setCreateParentTask()
+ .setFragmentToken(mFragmentToken)
+ .setOrganizer(mOrganizer)
+ .createActivityCount(1)
+ .build();
+ mFragmentWindowToken = mTaskFragment.mRemoteToken.toWindowContainerToken();
+ mAtm.mWindowOrganizerController.mLaunchTaskFragments
+ .put(mFragmentToken, mTaskFragment);
+ mTaskFragment.getTask().setWindowingMode(WINDOWING_MODE_PINNED);
+ }
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java
index 189a1da..30c2413 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java
@@ -16,16 +16,23 @@
package com.android.server.wm;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
+
import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+import static com.android.server.wm.ActivityRecord.State.RESUMED;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.clearInvocations;
+import android.content.res.Configuration;
import android.graphics.Rect;
import android.os.Binder;
import android.platform.test.annotations.Presubmit;
@@ -170,4 +177,119 @@
false /* preserveWindows */);
assertEquals(true, activityBelow.isVisibleRequested());
}
+
+ @Test
+ public void testMoveTaskToFront_supportsEnterPipOnTaskSwitchForAdjacentTaskFragment() {
+ final Task bottomTask = createTask(mDisplayContent);
+ final ActivityRecord bottomActivity = createActivityRecord(bottomTask);
+ final Task topTask = createTask(mDisplayContent);
+ // First create primary TF, and then secondary TF, so that the secondary will be on the top.
+ final TaskFragment primaryTf = createTaskFragmentWithParentTask(
+ topTask, false /* createEmbeddedTask */);
+ final TaskFragment secondaryTf = createTaskFragmentWithParentTask(
+ topTask, false /* createEmbeddedTask */);
+ final ActivityRecord primaryActivity = primaryTf.getTopMostActivity();
+ final ActivityRecord secondaryActivity = secondaryTf.getTopMostActivity();
+ doReturn(true).when(primaryActivity).supportsPictureInPicture();
+ doReturn(false).when(secondaryActivity).supportsPictureInPicture();
+
+ primaryTf.setAdjacentTaskFragment(secondaryTf, false /* moveAdjacentTogether */);
+ primaryActivity.setState(RESUMED, "test");
+ secondaryActivity.setState(RESUMED, "test");
+
+ assertEquals(topTask, bottomTask.getDisplayArea().getTopRootTask());
+
+ // When moving Task to front, the resumed activity that supports PIP should support enter
+ // PIP on Task switch even if it is not the topmost in the Task.
+ bottomTask.moveTaskToFront(bottomTask, false /* noAnimation */, null /* options */,
+ null /* timeTracker */, "test");
+
+ assertTrue(primaryActivity.supportsEnterPipOnTaskSwitch);
+ assertFalse(secondaryActivity.supportsEnterPipOnTaskSwitch);
+ }
+
+ @Test
+ public void testEmbeddedTaskFragmentEnterPip_resetOrganizerOverrideConfig() {
+ final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm)
+ .setOrganizer(mOrganizer)
+ .setFragmentToken(new Binder())
+ .setCreateParentTask()
+ .createActivityCount(1)
+ .build();
+ final Task task = taskFragment.getTask();
+ final ActivityRecord activity = taskFragment.getTopMostActivity();
+ final Rect taskFragmentBounds = new Rect(0, 0, 300, 1000);
+ task.setWindowingMode(WINDOWING_MODE_FULLSCREEN);
+ taskFragment.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
+ taskFragment.setBounds(taskFragmentBounds);
+
+ assertEquals(taskFragmentBounds, activity.getBounds());
+ assertEquals(WINDOWING_MODE_MULTI_WINDOW, activity.getWindowingMode());
+
+ // Move activity to pinned root task.
+ mRootWindowContainer.moveActivityToPinnedRootTask(activity,
+ null /* launchIntoPipHostActivity */, "test");
+
+ // Ensure taskFragment requested config is reset.
+ assertEquals(taskFragment, activity.getOrganizedTaskFragment());
+ assertEquals(task, activity.getTask());
+ assertTrue(task.inPinnedWindowingMode());
+ assertTrue(taskFragment.inPinnedWindowingMode());
+ final Rect taskBounds = task.getBounds();
+ assertEquals(taskBounds, taskFragment.getBounds());
+ assertEquals(taskBounds, activity.getBounds());
+ assertEquals(Configuration.EMPTY, taskFragment.getRequestedOverrideConfiguration());
+ }
+
+ @Test
+ public void testActivityHasOverlayOverUntrustedModeEmbedded() {
+ final Task rootTask = createTask(mDisplayContent, WINDOWING_MODE_MULTI_WINDOW,
+ ACTIVITY_TYPE_STANDARD);
+ final Task leafTask0 = new TaskBuilder(mSupervisor)
+ .setParentTaskFragment(rootTask)
+ .build();
+ final TaskFragment organizedTf = new TaskFragmentBuilder(mAtm)
+ .createActivityCount(2)
+ .setParentTask(leafTask0)
+ .setFragmentToken(new Binder())
+ .setOrganizer(mOrganizer)
+ .build();
+ final ActivityRecord activity0 = organizedTf.getBottomMostActivity();
+ final ActivityRecord activity1 = organizedTf.getTopMostActivity();
+ // Bottom activity is untrusted embedding. Top activity is trusted embedded.
+ // Activity0 has overlay over untrusted mode embedded.
+ activity0.info.applicationInfo.uid = DEFAULT_TASK_FRAGMENT_ORGANIZER_UID + 1;
+ activity1.info.applicationInfo.uid = DEFAULT_TASK_FRAGMENT_ORGANIZER_UID;
+ doReturn(true).when(organizedTf).isAllowedToEmbedActivityInUntrustedMode(activity0);
+
+ assertTrue(activity0.hasOverlayOverUntrustedModeEmbedded());
+ assertFalse(activity1.hasOverlayOverUntrustedModeEmbedded());
+
+ // Both activities are trusted embedded.
+ // None of the two has overlay over untrusted mode embedded.
+ activity0.info.applicationInfo.uid = DEFAULT_TASK_FRAGMENT_ORGANIZER_UID;
+
+ assertFalse(activity0.hasOverlayOverUntrustedModeEmbedded());
+ assertFalse(activity1.hasOverlayOverUntrustedModeEmbedded());
+
+ // Bottom activity is trusted embedding. Top activity is untrusted embedded.
+ // None of the two has overlay over untrusted mode embedded.
+ activity1.info.applicationInfo.uid = DEFAULT_TASK_FRAGMENT_ORGANIZER_UID + 1;
+
+ assertFalse(activity0.hasOverlayOverUntrustedModeEmbedded());
+ assertFalse(activity1.hasOverlayOverUntrustedModeEmbedded());
+
+ // There is an activity in a different leaf task on top of activity0 and activity1.
+ // None of the two has overlay over untrusted mode embedded because it is not the same Task.
+ final Task leafTask1 = new TaskBuilder(mSupervisor)
+ .setParentTaskFragment(rootTask)
+ .setOnTop(true)
+ .setCreateActivity(true)
+ .build();
+ final ActivityRecord activity2 = leafTask1.getTopMostActivity();
+ activity2.info.applicationInfo.uid = DEFAULT_TASK_FRAGMENT_ORGANIZER_UID + 2;
+
+ assertFalse(activity0.hasOverlayOverUntrustedModeEmbedded());
+ assertFalse(activity1.hasOverlayOverUntrustedModeEmbedded());
+ }
}
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index b2cc104..1b07e9a 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -237,7 +237,12 @@
@Override
public void onUEvent(UEventObserver.UEvent event) {
if (DEBUG) Slog.v(TAG, "USB UEVENT: " + event.toString());
- sEventLogger.log(new UsbDeviceLogger.StringEvent("USB UEVENT: " + event.toString()));
+ if (sEventLogger != null) {
+ sEventLogger.log(new UsbDeviceLogger.StringEvent("USB UEVENT: "
+ + event.toString()));
+ } else {
+ if (DEBUG) Slog.d(TAG, "sEventLogger == null");
+ }
String state = event.get("USB_STATE");
String accessory = event.get("ACCESSORY");
diff --git a/services/usb/java/com/android/server/usb/hal/port/UsbPortAidl.java b/services/usb/java/com/android/server/usb/hal/port/UsbPortAidl.java
index 600fc27..94273a3 100644
--- a/services/usb/java/com/android/server/usb/hal/port/UsbPortAidl.java
+++ b/services/usb/java/com/android/server/usb/hal/port/UsbPortAidl.java
@@ -725,5 +725,15 @@
e);
}
}
+
+ @Override
+ public String getInterfaceHash() {
+ return IUsbCallback.HASH;
+ }
+
+ @Override
+ public int getInterfaceVersion() {
+ return IUsbCallback.VERSION;
+ }
}
}
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
index ee2d235..b716690 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
@@ -84,9 +84,6 @@
private static final int INVALID_VALUE = Integer.MIN_VALUE;
- /** Maximum time to wait for a model stop confirmation before giving up. */
- private static final long STOP_TIMEOUT_MS = 5000;
-
/** The {@link ModuleProperties} for the system, or null if none exists. */
final ModuleProperties mModuleProperties;
@@ -398,20 +395,8 @@
return STATUS_OK;
}
- int status = prepareForRecognition(modelData);
- if (status != STATUS_OK) {
- Slog.w(TAG, "startRecognition failed to prepare model for recognition");
- return status;
- }
- status = startRecognitionLocked(modelData,
+ return updateRecognitionLocked(modelData,
false /* Don't notify for synchronous calls */);
-
- // Initialize power save, call active state monitoring logic.
- if (status == STATUS_OK) {
- initializeDeviceStateListeners();
- }
-
- return status;
}
}
@@ -560,7 +545,7 @@
}
}
- if (unloadModel && modelData.isModelLoaded()) {
+ if (unloadModel && (modelData.isModelLoaded() || modelData.isStopPending())) {
Slog.d(TAG, "Unloading previously loaded stale model.");
if (mModule == null) {
return STATUS_ERROR;
@@ -834,7 +819,7 @@
}
if (!event.recognitionStillActive) {
- model.setStoppedLocked();
+ model.setStopped();
}
try {
@@ -920,8 +905,8 @@
Slog.w(TAG, "Recognition aborted");
MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
ModelData modelData = getModelDataForLocked(event.soundModelHandle);
- if (modelData != null && modelData.isModelStarted()) {
- modelData.setStoppedLocked();
+ if (modelData != null && (modelData.isModelStarted() || modelData.isStopPending())) {
+ modelData.setStopped();
try {
IRecognitionStatusCallback callback = modelData.getCallback();
if (callback != null) {
@@ -932,6 +917,7 @@
} catch (RemoteException e) {
Slog.w(TAG, "RemoteException in onRecognitionPaused", e);
}
+ updateRecognitionLocked(modelData, true);
}
}
@@ -978,7 +964,7 @@
}
if (!event.recognitionStillActive) {
- modelData.setStoppedLocked();
+ modelData.setStopped();
}
try {
@@ -1011,16 +997,22 @@
private int updateRecognitionLocked(ModelData model, boolean notifyClientOnError) {
boolean shouldStartModel = model.isRequested() && isRecognitionAllowedByDeviceState(model);
- if (shouldStartModel == model.isModelStarted()) {
+ if (shouldStartModel == model.isModelStarted() || model.isStopPending()) {
// No-op.
return STATUS_OK;
}
if (shouldStartModel) {
int status = prepareForRecognition(model);
if (status != STATUS_OK) {
+ Slog.w(TAG, "startRecognition failed to prepare model for recognition");
return status;
}
- return startRecognitionLocked(model, notifyClientOnError);
+ status = startRecognitionLocked(model, notifyClientOnError);
+ // Initialize power save, call active state monitoring logic.
+ if (status == STATUS_OK) {
+ initializeDeviceStateListeners();
+ }
+ return status;
} else {
return stopRecognitionLocked(model, notifyClientOnError);
}
@@ -1203,10 +1195,13 @@
if (mModule == null) {
return;
}
- if (modelData.isModelStarted()) {
+ if (modelData.isStopPending()) {
+ // No need to wait for the stop to be confirmed.
+ modelData.setStopped();
+ } else if (modelData.isModelStarted()) {
Slog.d(TAG, "Stopping previously started dangling model " + modelData.getHandle());
if (mModule.stopRecognition(modelData.getHandle()) == STATUS_OK) {
- modelData.setStoppedLocked();
+ modelData.setStopped();
modelData.setRequested(false);
} else {
Slog.e(TAG, "Failed to stop model " + modelData.getHandle());
@@ -1255,7 +1250,7 @@
private ModelData getOrCreateGenericModelDataLocked(UUID modelId) {
ModelData modelData = mModelDataMap.get(modelId);
if (modelData == null) {
- modelData = createGenericModelData(modelId);
+ modelData = ModelData.createGenericModelData(modelId);
mModelDataMap.put(modelId, modelData);
} else if (!modelData.isGenericModel()) {
Slog.e(TAG, "UUID already used for non-generic model.");
@@ -1287,7 +1282,7 @@
mKeyphraseUuidMap.remove(keyphraseId);
mModelDataMap.remove(modelId);
mKeyphraseUuidMap.put(keyphraseId, modelId);
- ModelData modelData = createKeyphraseModelData(modelId);
+ ModelData modelData = ModelData.createKeyphraseModelData(modelId);
mModelDataMap.put(modelId, modelData);
return modelData;
}
@@ -1419,26 +1414,18 @@
Slog.w(TAG, "RemoteException in onError", e);
}
}
- return status;
- }
-
- // Wait for model to be stopped.
- try {
- modelData.waitStoppedLocked(STOP_TIMEOUT_MS);
- } catch (InterruptedException e) {
- Slog.e(TAG, "Didn't receive model stop callback");
- return SoundTrigger.STATUS_ERROR;
- }
-
- MetricsLogger.count(mContext, "sth_stop_recognition_success", 1);
- // Notify of pause if needed.
- if (notify) {
- try {
- callback.onRecognitionPaused();
- } catch (DeadObjectException e) {
- forceStopAndUnloadModelLocked(modelData, e);
- } catch (RemoteException e) {
- Slog.w(TAG, "RemoteException in onRecognitionPaused", e);
+ } else {
+ modelData.setStopPending();
+ MetricsLogger.count(mContext, "sth_stop_recognition_success", 1);
+ // Notify of pause if needed.
+ if (notify) {
+ try {
+ callback.onRecognitionPaused();
+ } catch (DeadObjectException e) {
+ forceStopAndUnloadModelLocked(modelData, e);
+ } catch (RemoteException e) {
+ Slog.w(TAG, "RemoteException in onRecognitionPaused", e);
+ }
}
}
if (DBG) {
@@ -1473,7 +1460,7 @@
// This class encapsulates the callbacks, state, handles and any other information that
// represents a model.
- private class ModelData {
+ private static class ModelData {
// Model not loaded (and hence not started).
static final int MODEL_NOTLOADED = 0;
@@ -1483,6 +1470,9 @@
// Started implies model was successfully loaded and start was called.
static final int MODEL_STARTED = 2;
+ // Model stop request has been sent. Waiting for an event to signal model being stopped.
+ static final int MODEL_STOP_PENDING = 3;
+
// One of MODEL_NOTLOADED, MODEL_LOADED, MODEL_STARTED (which implies loaded).
private int mModelState;
private UUID mModelId;
@@ -1530,9 +1520,17 @@
mModelType = modelType;
}
+ static ModelData createKeyphraseModelData(UUID modelId) {
+ return new ModelData(modelId, SoundModel.TYPE_KEYPHRASE);
+ }
+
+ static ModelData createGenericModelData(UUID modelId) {
+ return new ModelData(modelId, SoundModel.TYPE_GENERIC_SOUND);
+ }
+
// Note that most of the functionality in this Java class will not work for
// SoundModel.TYPE_UNKNOWN nevertheless we have it since lower layers support it.
- ModelData createModelDataOfUnknownType(UUID modelId) {
+ static ModelData createModelDataOfUnknownType(UUID modelId) {
return new ModelData(modelId, SoundModel.TYPE_UNKNOWN);
}
@@ -1552,24 +1550,20 @@
return mModelState == MODEL_NOTLOADED;
}
+ synchronized boolean isStopPending() {
+ return mModelState == MODEL_STOP_PENDING;
+ }
+
synchronized void setStarted() {
mModelState = MODEL_STARTED;
}
- synchronized void setStoppedLocked() {
+ synchronized void setStopped() {
mModelState = MODEL_LOADED;
- mLock.notifyAll();
}
- void waitStoppedLocked(long timeoutMs) throws InterruptedException {
- long deadline = System.currentTimeMillis() + timeoutMs;
- while (mModelState == MODEL_STARTED) {
- long waitTime = deadline - System.currentTimeMillis();
- if (waitTime <= 0) {
- throw new InterruptedException();
- }
- mLock.wait(waitTime);
- }
+ synchronized void setStopPending() {
+ mModelState = MODEL_STOP_PENDING;
}
synchronized void setLoaded() {
@@ -1589,7 +1583,6 @@
mRecognitionConfig = null;
mRequested = false;
mCallback = null;
- notifyAll();
}
synchronized void clearCallback() {
@@ -1694,12 +1687,4 @@
return "Model type: " + type + "\n";
}
}
-
- ModelData createKeyphraseModelData(UUID modelId) {
- return new ModelData(modelId, SoundModel.TYPE_KEYPHRASE);
- }
-
- ModelData createGenericModelData(UUID modelId) {
- return new ModelData(modelId, SoundModel.TYPE_GENERIC_SOUND);
- }
}
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
index e6c2e04..df82f24 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java
@@ -39,10 +39,13 @@
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__DETECTOR_TYPE__NORMAL_DETECTOR;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__DETECTOR_TYPE__TRUSTED_DETECTOR_DSP;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECTED;
-import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_EXCEPTION;
+import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_SECURITY_EXCEPTION;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_TIMEOUT;
+import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_UNEXPECTED_CALLBACK;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__KEYPHRASE_TRIGGER;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED;
+import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED_FROM_RESTART;
+import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECT_UNEXPECTED_CALLBACK;
import static com.android.server.voiceinteraction.SoundTriggerSessionPermissionsDecorator.enforcePermissionForPreflight;
import android.annotation.NonNull;
@@ -133,6 +136,13 @@
private static final int METRICS_INIT_CALLBACK_STATE_SUCCESS =
HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED__RESULT__CALLBACK_INIT_STATE_SUCCESS;
+ private static final int METRICS_KEYPHRASE_TRIGGERED_DETECT_SECURITY_EXCEPTION =
+ HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_SECURITY_EXCEPTION;
+ private static final int METRICS_KEYPHRASE_TRIGGERED_DETECT_UNEXPECTED_CALLBACK =
+ HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_UNEXPECTED_CALLBACK;
+ private static final int METRICS_KEYPHRASE_TRIGGERED_REJECT_UNEXPECTED_CALLBACK =
+ HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECT_UNEXPECTED_CALLBACK;
+
private final Executor mAudioCopyExecutor = Executors.newCachedThreadPool();
// TODO: This may need to be a Handler(looper)
private final ScheduledExecutorService mScheduledExecutorService =
@@ -576,7 +586,7 @@
Slog.i(TAG, "Ignoring #onDetected due to a process restart");
HotwordMetricsLogger.writeKeyphraseTriggerEvent(
mDetectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_EXCEPTION);
+ METRICS_KEYPHRASE_TRIGGERED_DETECT_UNEXPECTED_CALLBACK);
return;
}
mValidatingDspTrigger = false;
@@ -586,7 +596,7 @@
} catch (SecurityException e) {
HotwordMetricsLogger.writeKeyphraseTriggerEvent(
mDetectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_EXCEPTION);
+ METRICS_KEYPHRASE_TRIGGERED_DETECT_SECURITY_EXCEPTION);
throw e;
}
externalCallback.onKeyphraseDetected(recognitionEvent, result);
@@ -616,7 +626,7 @@
Slog.i(TAG, "Ignoring #onRejected due to a process restart");
HotwordMetricsLogger.writeKeyphraseTriggerEvent(
mDetectorType,
- HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_EXCEPTION);
+ METRICS_KEYPHRASE_TRIGGERED_REJECT_UNEXPECTED_CALLBACK);
return;
}
mValidatingDspTrigger = false;
@@ -689,6 +699,9 @@
// rejection. This also allows the Interactor to startReco again
try {
mCallback.onRejected(new HotwordRejectedResult.Builder().build());
+ HotwordMetricsLogger.writeKeyphraseTriggerEvent(
+ mDetectorType,
+ HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED_FROM_RESTART);
} catch (RemoteException e) {
Slog.w(TAG, "Failed to call #rejected");
}
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 7f0df82..999b55a 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -3584,7 +3584,8 @@
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@Deprecated
public @SimState int getSimCardState(int physicalSlotIndex) {
- int simState = getSimState(getLogicalSlotIndex(physicalSlotIndex, DEFAULT_PORT_INDEX));
+ int activePort = getFirstActivePortIndex(physicalSlotIndex);
+ int simState = getSimState(getLogicalSlotIndex(physicalSlotIndex, activePort));
return getSimCardStateFromSimState(simState);
}
@@ -3690,9 +3691,10 @@
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@Deprecated
public @SimState int getSimApplicationState(int physicalSlotIndex) {
+ int activePort = getFirstActivePortIndex(physicalSlotIndex);
int simState =
SubscriptionManager.getSimStateForSlotIndex(getLogicalSlotIndex(physicalSlotIndex,
- DEFAULT_PORT_INDEX));
+ activePort));
return getSimApplicationStateFromSimState(simState);
}
@@ -14197,7 +14199,8 @@
UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED,
UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE,
UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION,
- UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED})
+ UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED,
+ UPDATE_AVAILABLE_NETWORKS_SIM_PORT_NOT_AVAILABLE})
public @interface UpdateAvailableNetworksResult {}
/**
@@ -14256,6 +14259,12 @@
public static final int UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED = 10;
/**
+ * SIM port is not available to switch to opportunistic subscription.
+ * @hide
+ */
+ public static final int UPDATE_AVAILABLE_NETWORKS_SIM_PORT_NOT_AVAILABLE = 11;
+
+ /**
* Set preferred opportunistic data subscription id.
*
* Switch internet data to preferred opportunistic data subscription id. This api
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index e97342b..c56cc62 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -1576,7 +1576,9 @@
* @hide
*/
public boolean canSupportLingeringNetworkType(@NetworkType int networkType) {
- if (networkType == 0) {
+ // For backwards compatibility, if this field is not set, we just use the existing
+ // network type bitmask.
+ if (mLingeringNetworkTypeBitmask == 0) {
return canSupportNetworkType(networkType);
}
// Do a special checking for GSM. In reality, GSM is a voice only network type and can never
diff --git a/tests/componentalias/src/android/content/componentalias/tests/BaseComponentAliasTest.java b/tests/componentalias/src/android/content/componentalias/tests/BaseComponentAliasTest.java
index 164f61c..99322ee 100644
--- a/tests/componentalias/src/android/content/componentalias/tests/BaseComponentAliasTest.java
+++ b/tests/componentalias/src/android/content/componentalias/tests/BaseComponentAliasTest.java
@@ -46,11 +46,15 @@
sDeviceConfig.set("enable_experimental_component_alias", "");
sDeviceConfig.set("component_alias_overrides", "");
- // Make sure the feature is actually enabled.
+ // Make sure the feature is actually enabled, and the aliases are loaded.
TestUtils.waitUntil("Wait until component alias is actually enabled", () -> {
- return ShellUtils.runShellCommand("dumpsys activity component-alias")
- .indexOf("Enabled: true") > 0;
+ String out = ShellUtils.runShellCommand("dumpsys activity component-alias");
+
+ return out.contains("Enabled: true")
+ && out.contains("android.content.componentalias.tests/.b.Alias04")
+ && out.contains("android.content.componentalias.tests/.s.Alias04");
});
+ ShellUtils.runShellCommand("am wait-for-broadcast-idle");
}
@AfterClass
diff --git a/tools/apilint/deprecated_at_birth.py b/tools/apilint/deprecated_at_birth.py
old mode 100644
new mode 100755
index 297d9c3b..d53c127
--- a/tools/apilint/deprecated_at_birth.py
+++ b/tools/apilint/deprecated_at_birth.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright (C) 2021 The Android Open Source Project
#
@@ -44,6 +44,7 @@
can be used to identify members across API levels."""
raw = raw.replace(" deprecated ", " ")
raw = raw.replace(" synchronized ", " ")
+ raw = raw.replace(" abstract ", " ")
raw = raw.replace(" final ", " ")
raw = re.sub("<.+?>", "", raw)
raw = re.sub("@[A-Za-z]+ ", "", raw)
@@ -208,17 +209,17 @@
def _parse_stream_path(path):
api = {}
- print "Parsing", path
+ print("Parsing %s" % path)
for f in os.listdir(path):
f = os.path.join(path, f)
if not os.path.isfile(f): continue
if not f.endswith(".txt"): continue
if f.endswith("removed.txt"): continue
- print "\t", f
+ print("\t%s" % f)
with open(f) as s:
api = _parse_stream(s, api)
- print "Parsed", len(api), "APIs"
- print
+ print("Parsed %d APIs" % len(api))
+ print()
return api
@@ -306,8 +307,8 @@
if "@Deprecated " in i.raw:
error(clazz, i, None, "Found API deprecation at birth " + i.ident)
- print "%s Deprecated at birth %s\n" % ((format(fg=WHITE, bg=BLUE, bold=True),
- format(reset=True)))
+ print("%s Deprecated at birth %s\n" % ((format(fg=WHITE, bg=BLUE, bold=True),
+ format(reset=True))))
for f in sorted(failures):
- print failures[f]
- print
+ print(failures[f])
+ print()